Forked from xethyrion/c-ipfs IPFS implementation in C. Why C? Think about archive backups, eliminate http and DNS attack vectors, OpenWrt routers (decentralize the internet/meshnet!), Android TV and seeder streams, decentralized Media, decentralized websites, decentralized Apps, Browsers and mobile chat, decentralized CDN's and App Stores, RasPi's, old pc's and more...
blocks | ||
cid | ||
cmd | ||
commands | ||
core | ||
datastore | ||
dnslink | ||
exchange | ||
flatfs | ||
importer | ||
include/ipfs | ||
journal | ||
main | ||
merkledag | ||
multibase | ||
namesys | ||
path | ||
pin | ||
repo | ||
routing | ||
test | ||
thirdparty | ||
unixfs | ||
util | ||
.cproject | ||
.gitignore | ||
.project | ||
LICENSE | ||
Makefile | ||
README.md |
C-IPFS
IPFS implementation in C, (not just an API client library).
Quick start for users:
- ipfs init to create an ipfs repository on your machine
- ipfs add MyFile.txt to add a file to the repository, will return with a hash that can be used to retrieve the file.
- ipfs cat [hash] to retrieve a file from the repository
For techies (ipfs spec docs):
- [getting started]https://github.com/ipfs/specs/blob/master/overviews/implement-ipfs.md
- [specifications]https://github.com/ipfs/specs
- [getting started]https://github.com/ipfs/community/issues/177
- [libp2p]https://github.com/libp2p/specs
Prerequisites: To compile the C version you will need:
lmdb https://github.com/jmjatlanta/lmdb c-protobuf https://github.com/Agorise/c-protobuf c-multihash https://github.com/Agorise/c-multihash c-multiaddr https://github.com/Agorise/c-multiaddr c-libp2p https://github.com/Agorise/c-libp2p
And of course this project at https://github.com/Agorise/c-ipfs
The compilation at this point is simple, but not very flexible. Place all of these projects in a directory. Compile all (the order above is recommended) by going into each one and running "make all".