@helia/car provides import and export methods to read/write Car files to Helia's blockstore.
@helia/car
import
export
See the Car interface for all available operations.
By default it supports dag-pb, dag-cbor, dag-json and raw CIDs, more esoteric DAG walkers can be passed as an init option.
dag-pb
dag-cbor
dag-json
raw
import { createHelia } from 'helia'import { car } from '@helia/car'import { CID } from 'multiformats/cid'import nodeFs from 'node:fs'const helia = await createHelia()const cid = CID.parse('QmFoo...')const c = car(helia)const out = nodeFs.createWriteStream('example.car')for await (const buf of c.export(cid)) { out.write(buf)}out.end() Copy
import { createHelia } from 'helia'import { car } from '@helia/car'import { CID } from 'multiformats/cid'import nodeFs from 'node:fs'const helia = await createHelia()const cid = CID.parse('QmFoo...')const c = car(helia)const out = nodeFs.createWriteStream('example.car')for await (const buf of c.export(cid)) { out.write(buf)}out.end()
import { createHelia } from 'helia'import { car, UnixFSPath } from '@helia/car'import { CID } from 'multiformats/cid'import nodeFs from 'node:fs'const helia = await createHelia()const cid = CID.parse('QmFoo...')const c = car(helia)const out = nodeFs.createWriteStream('example.car')for await (const buf of c.export(cid, { traversal: new UnixFSPath('/foo/bar/baz.txt')})) { out.write(buf)}out.end() Copy
import { createHelia } from 'helia'import { car, UnixFSPath } from '@helia/car'import { CID } from 'multiformats/cid'import nodeFs from 'node:fs'const helia = await createHelia()const cid = CID.parse('QmFoo...')const c = car(helia)const out = nodeFs.createWriteStream('example.car')for await (const buf of c.export(cid, { traversal: new UnixFSPath('/foo/bar/baz.txt')})) { out.write(buf)}out.end()
import { createHelia } from 'helia'import { unixfs } from '@helia/unixfs'import { car } from '@helia/car'import { CarReader } from '@ipld/car'import { Readable } from 'node:stream'import nodeFs from 'node:fs'const helia = await createHelia({ // ... helia config})// import the carconst inStream = nodeFs.createReadStream('example.car')const reader = await CarReader.fromIterable(inStream)const c = car(helia)await c.import(reader) Copy
import { createHelia } from 'helia'import { unixfs } from '@helia/unixfs'import { car } from '@helia/car'import { CarReader } from '@ipld/car'import { Readable } from 'node:stream'import nodeFs from 'node:fs'const helia = await createHelia({ // ... helia config})// import the carconst inStream = nodeFs.createReadStream('example.car')const reader = await CarReader.fromIterable(inStream)const c = car(helia)await c.import(reader)
@helia/car
providesimport
andexport
methods to read/write Car files to Helia's blockstore.See the Car interface for all available operations.
By default it supports
dag-pb
,dag-cbor
,dag-json
andraw
CIDs, more esoteric DAG walkers can be passed as an init option.Example: Exporting a DAG as a CAR file
Example: Exporting a part of a UnixFS DAG as a CAR file
Example: Importing all blocks from a CAR file