ipfs-merkle-dag v0.7.3
js-ipfs-merkle-dag
JavaScript Implementation of the DAGService and DAGNode data structure
Table of Contents
Install
$ npm i ipfs-merkle-dagArchitecture
┌────────────────────┐
│ 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
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.DAGLinkAPI
DAGNode Class
Create a new DAGNode
var node = new ipfsMDAG.DAGNode([<data>, <[links]>])addNodeLink
creates a link on node A to node B by using node B to get its multihash
addRawLink
creates a link on node A to node B by using directly node B multihash
updateNodeLink
updates a link on the node. caution this method returns a copy of the MerkleDAG node
removeNodeLink
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
links
(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
makeLink
used internally
DAGLink Class
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
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago