Skip to content
This repository was archived by the owner on Aug 11, 2021. It is now read-only.

ipfs/js-ipfs-block-service

Repository files navigation

⛔️ DEPRECATED: This module has been merged into ipfs

IPFS Block Service

standard-readme compliant Travis CI Dependency Status js-standard-style

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('ipld-block')
const multihashing = require('multihashing-async')
const IPFSRepo = require('ipfs-repo')  // storage repo
const uint8ArrayEquals = require('uint8arrays/equals')
const uint8ArrayFromString = require('uint8arrays/from-string')

// setup a repo
const repo = new IPFSRepo('example')

// create a block
const data = uint8ArrayFromString('hello world')
const multihash = await multihashing(data, 'sha2-256')

const cid = new CID(multihash)
const block = new Block(data, cid)

// create a service
const service = new BlockService(repo)

// add the block, then retrieve it
await service.put(block)

const result = await service.get(cid)
console.log(uint8ArrayEquals(block.data, result.data))
// => true

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>
<!-- OR -->
<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

About

JavaScript Implementation of Block and BlockService

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 17