# 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:
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".