IPFS-Lite is an embeddable, lightweight IPFS peer which runs the minimal setup
to provide an ipld.DAGService
and UnixFS-files addition and retrieval.
It can:
- Add, Get, Remove IPLD Nodes to/from the IPFS Network (remove is a local blockstore operation).
- Add single files (chunk, build the DAG and Add) from a
io.Reader
. - Get single files given a their CID.
It needs:
- A libp2p Host
- A libp2p DHT
- A datastore, such as BadgerDB, go-ds-flatfs or an in-memory one.
Some helper functions are provided to initialize these quickly.
It provides:
- An
ipld.DAGService
. - An
AddFile
method to add content from a reader. - A
GetFile
method to get a file from IPFS.
The goal of IPFS-Lite is to run the bare minimal functionality for any IPLD-based application to interact with the IPFS Network by getting and putting blocks to it, rather than having to deal with the complexities of using a full IPFS daemon, and with the liberty of sharing the needed libp2p Host and DHT for other things.
Apache 2.0