2017-09-22 12:38:45 +03:00
# C-IPFS
2017-11-02 05:52:19 -05:00
IPFS implementation in C, (not just an API client library).
## Quick start for users:
2017-11-02 05:42:17 -05:00
* **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.
2017-11-02 05:58:38 -05:00
* **ipfs cat \[hash\]** to retrieve a file from the repository
2017-11-02 05:52:19 -05:00
2017-11-02 05:56:21 -05:00
## For techies (ipfs spec docs):
2017-11-02 06:00:14 -05:00
* [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 )
2017-11-02 05:52:19 -05:00
## Prerequisites: To compile the C version you will need:
2017-11-02 06:01:12 -05:00
* [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 )
2017-11-02 05:52:19 -05:00
And of course this project at https://github.com/Agorise/c-ipfs
2017-07-17 13:05:56 -05:00
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".