Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ipfs-merkle-dag

Package Overview
Dependencies
Maintainers
3
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ipfs-merkle-dag

A JavaScript implementations of the IPFS MerkleDAG implementations (protobufs)

  • 0.7.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
41
increased by115.79%
Maintainers
3
Weekly downloads
 
Created
Source

js-ipfs-merkle-dag

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

JavaScript Implementation of the DAGService and DAGNode data structure

Table of Contents

Install

$ npm i ipfs-merkle-dag

Architecture

┌────────────────────┐
│   DAGService       │
└────────────────────┘
           │
           ▼
┌────────────────────┐
│   BlockService     │
└────────────────────┘

DAGService - The DAGService offers an interface to interact directly with a MerkleDAG object (composed by one or more DAGNodes that are linked), using the BlockService to store and fetch the DAGNodes as it needs them

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 DAGNode and DAGLink are data structures made available on this module.

Usage

const ipfsMDAG = require('ipfs-merkle-dag')

// then, to access each of the components
ipfsMDAG.DAGService
ipfsMDAG.DAGNode
ipfsMDAG.DAGLink

API

DAGNode Class

Create a new DAGNode

var node = new ipfsMDAG.DAGNode([<data>, <[links]>])

creates a link on node A to node B by using node B to get its multihash

creates a link on node A to node B by using directly node B multihash

updates a link on the node. caution this method returns a copy of the MerkleDAG node

removes a link from the node by name

removeNodeLinkByHash

removes a link from the node by the hash of the linked node

copy

creates a copy of the MerkleDAG Node

size

(property) size of the node, in bytes

(property) an array of DAGLinks belonging to the node

multihash

returns the multihash (default: sha2-256)

marshal

returns a protobuf serialized version, compatible with go-ipfs MerkleDAG

unMarshal

deserializes a node encoded using protobuf

getPBNode

used internally

used internally

Create a new DAGLink

var link = new ipfsMDAG.DAGLink(<name>, <size>, <hash>)

DAGService

put

stores the node

putStream

stores nodes using a writable pull-stream

get

fetches a node by its multihash

getStream

fetches a node as a pull-stream

getRecursive

fetches a node and all of its links (if possible)

getRecursiveStream

fetches a node and all of its links (if possible) as pull-stream

remove

deletes a node

License

MIT © IPFS

FAQs

Package last updated on 09 Sep 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc