@runonbitcoin/easy-b
v0.2.2
Published
Simple library to manage B uploads
Downloads
5
Readme
Easy B
Easy B is a simple tool to manage files uploaded to the BSV blockchain using the b protocol. It can be used as a CLI tool or as a libary inside nodejs.
CLI
Download a file
By default easy-b writes the content of the file to the standard output:
easy-b read 2cfc649249aa845af21009d7bf8fe6f75f375f87e692ea7d92c3b3ac3d6583cb > my-audio.mp3
You can also specify an output file:
easy-b read 2cfc649249aa845af21009d7bf8fe6f75f375f87e692ea7d92c3b3ac3d6583cb --output=my-audio.mp3
If you instead specify a directory easy-b is going to try to deduce te name of the file using the metadata of the B upload.
easy-b read 2cfc649249aa845af21009d7bf8fe6f75f375f87e692ea7d92c3b3ac3d6583cb --output=~/Downloads
ls ~/Downloads # sample-3s.mp3
Publish a file
In order to publish a file it's necesary to provide a private key with funds in WIF format. There are 2 ways to specify the key, using an env variable or as an option in the cli
export PURSE_WIF=<key>
easy-b publish path/to/file.png
or
easy-b --purse=<key> publish path/to/file.png
Specifying network
Easy-b works with mainnet and testnet.
easy-b publish ./my-image.png --network=test
Using inside nodejs
Publish:
const { BFile, publish, networks } = require('@runonbitcoin/easy-b')
const purse = process.env.PURSE_WIF
const main = async () => {
const bFile = await BFile.fromFilePath('/home/migue/Pictures/dragon.png')
const txid = await publish(bFile, networks.MAINNET, purse)
console.log(txid)
}
main()
Read:
const { BFile, read, networks } = require('@runonbitcoin/easy-b')
const txid = '92b00456e0072ad51a97fe6ff31ba59079128529cb5b247eea5588610cb3d493'
const main = async () => {
const bFile = await read(txid)
console.log(bFile.mime)
console.log(bFile.fileName)
console.log(bFile.format)
console.log(bFile.buff.toString('hex'))
}
main()