JS implementation of DAG-CBOR
$ npm i @ipld/dag-cbor
This is the new interface meant for use by itself or with multiformats
and
@ipld/block
. It is not used by js-ipld-format
which is currently
used in IPFS. That library is here.
Usage:
import { encode, decode } from '@ipld/dag-cbor'
import { CID } from 'multiformats'
const obj = {
x: 1,
/* CID instances are encoded as links */
y: [2, 3, CID.parse('QmaozNR7DZHQK1ZcU9p7QdrshMvXqWK6gpu5rmrkPdT3L4')],
z: {
a: CID.parse('QmaozNR7DZHQK1ZcU9p7QdrshMvXqWK6gpu5rmrkPdT3L4'),
b: null,
c: 'string'
}
}
let data = encode(obj)
let decoded = decode(data)
decoded.y[0] // 2
CID.asCID(decoded.z.a) // cid instance
The dag-cbor
specification is in the IPLD specs repo.
Licensed under either of
- Apache 2.0, (LICENSE-APACHE / http://www.apache.org/licenses/LICENSE-2.0)
- MIT (LICENSE-MIT / http://opensource.org/licenses/MIT)
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.