JavaScript Implementation of the BlockService and Block data structure
┌────────────────────┐
│ BlockService │
└────────────────────┘
│
┌─────┴─────┐
▼ ▼
┌─────────┐ ┌────────┐
│IPFS REPO│ │Exchange│
└─────────┘ └────────┘
BlockService - The BlockService uses IPFS Repo as the local datastore for blocks and an IPFS Exchange compliant implementation to fetch blocks from the network.
A Block is a data structure available on this module.
$ npm i ipfs-blocks
const ipfsBlocks = require('ipfs-blocks')
// then, to access each of the components
ipfsBlocks.BlockService
ipfsBlocks.Block
Create a new block
var block = new blocks.Block('some data')
console.log(block.data)
// It will print 'some data'
console.log(block.key)
// It will print the sha256 multihash of 'some data'
Create a new block service
var bs = new ipfsBlocks.BlockService(<IPFS REPO instance> [, <IPFS Exchange>])
bs.addBlock(block, function (err) {
if (!err) {
// block successfuly added
}
})
bs.addBlocks(blockArray, function (err) {
if (!err) {
// blocks successfuly added
}
})
bs.getBlock(multihash, function (err, block) {
if (!err) {
// block successfuly retrieved
}
})
bs.getBlocks(multihashArray, function (err, block) {
if (!err) {
// block successfuly retrieved
}
})
bs.deleteBlock(multihash, function (err) {
if (!err) {
// block successfuly deleted
}
})
bs.deleteBlocks(multihashArray, function (err) {
if (!err) {
// blocks successfuly deleted
}
})