Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Peergos/ipfs-nucleus
A minimal IPFS replacement for P2P IPLD apps
https://github.com/Peergos/ipfs-nucleus
Last synced: 17 days ago
JSON representation
A minimal IPFS replacement for P2P IPLD apps
- Host: GitHub
- URL: https://github.com/Peergos/ipfs-nucleus
- Owner: Peergos
- License: agpl-3.0
- Created: 2021-10-12T20:37:47.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-06T10:34:25.000Z (almost 2 years ago)
- Last Synced: 2024-08-08T18:21:07.552Z (4 months ago)
- Language: Go
- Size: 496 KB
- Stars: 40
- Watchers: 5
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - Peergos/ipfs-nucleus - A minimal IPFS replacement for P2P IPLD apps (others)
README
# IPFS-Nucleus
IPFS-Nucleus is a minimal block daemon for IPLD based services. You could call it an **IPLDaemon**. It includes optional auth for retrieving blocks over bitswap.
It implements the following http api calls from IPFS:
* id
* block.get
* block.put
* block.has
* block.stat
* block.rm (only needed by GC)
* refs.local (only needed by GC)As well as implementing the p2p http proxy (incoming and outgoing).
## New config options
* Addresses.ProxyTarget - The incoming http proxy target
* Addresses.AllowTarget - The api for allow calls when blocks are requested over bitswap - allow(cid, block data, source peer id, auth string) => booleanIt is designed as a drop in replacment for IPFS with the minimal functionality that [Peergos](https://github.com/peergos/peergos) needs to operate, including running an external GC. It includes support for leveldb datastore and flatfs and S3 based blockstores including bloomfilter based wrapping.
It will read its config from a prior existing ipfs config file if present, or create one with the relevant parameters. It uses a v0 blockstore (cids) rather than a v1 (multihashes).
The CLI supports the following sub-commands similar to ipfs:
* init
* config## Building
> go build daemon/ipfs-nucleus.go## License
AGPL