IPFS Block Service
IPFS implementation of the BlockService and Block data structure in JavaScript.
BlockService - A BlockService is a content-addressable store for blocks, providing an API for adding, deleting, and retrieving blocks. A BlockService is backed by an IPFS Repo as its datastore for blocks, and uses Bitswap to fetch blocks from the network.
┌───────────────────┐
│ BlockService │
└───────────────────┘
┌─────┴─────┐
▼ ▼
┌─────────┐ ┌───────┐
│IPFS Repo│ |Bitswap│
└─────────┘ └───────┘
Lead Maintainer
Volker Mische
Table of Contents
Install
npm
> npm install ipfs-block-service
Usage
Node.js
const BlockService = require('ipfs-block-service')
Example
const BlockService = require('ipfs-block-service')
const Block = require('ipfs-block')
const multihashing = require('multihashing-async')
const IPFSRepo = require('ipfs-repo')
const repo = new IPFSRepo('example')
const data = new Buffer('hello world')
const multihash = await multihashing(data, 'sha2-256')
const cid = new CID(multihash)
const block = new Block(data, cid)
const service = new BlockService(repo)
await service.put(block)
const result = await service.get(cid)
console.log(block.data.toString() === result.data.toString())
Browser: Browserify, Webpack, other bundlers
var BlockService = require('ipfs-block-service')
Browser: <script>
Tag
Loading this module through a script tag will make the IpfsBlockService
obj available in
the global namespace.
<script src="https://unpkg.com/ipfs-block-service/dist/index.min.js"></script>
<script src="https://unpkg.com/ipfs-block-service/dist/index.js"></script>
API
See https://ipfs.github.io/js-ipfs-block-service
Contribute
Feel free to join in. All welcome. Open an issue!
This repository falls under the IPFS Code of Conduct.
License
MIT