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.
By default easy-b writes the content of the file to the standard output:
easy-b read 2cfc649249aa845af21009d7bf8fe6f75f375f87e692ea7d92c3b3ac3d6583cb > my-audio.mp3You can also specify an output file:
easy-b read 2cfc649249aa845af21009d7bf8fe6f75f375f87e692ea7d92c3b3ac3d6583cb --output=my-audio.mp3If 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.mp3In 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 Easy-b works with mainnet and testnet.
easy-b publish ./my-image.png --network=testPublish:
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, 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()