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...
Find a file
2017-09-25 12:07:16 -05:00
blocks Began implementing updates to journal timestamp 2017-09-13 12:40:48 -05:00
cid beginning to resolve ipns addresses 2017-09-21 11:21:01 -05:00
cmd Preparing for name resolve and name publish 2017-09-21 09:47:16 -05:00
commands ipfs name command line options processing 2017-09-21 07:51:18 -05:00
core Fixes for http receiving 2017-09-25 12:07:16 -05:00
datastore Began implementing updates to journal timestamp 2017-09-13 12:40:48 -05:00
dnslink Fixed some compiler warnings 2017-02-13 05:34:56 -05:00
exchange The API changed pthread to scope, so it can load multiple instances. 2017-09-20 14:39:26 -03:00
flatfs Moved datastore interface from ipfs to libp2p 2017-04-06 09:33:28 -05:00
importer move api globals to struct 2017-09-25 08:55:42 -05:00
include/ipfs solved pthread_mutex being shared across processes 2017-09-25 11:25:34 -05:00
journal The API changed pthread to scope, so it can load multiple instances. 2017-09-20 14:39:26 -03:00
main Calling the API from the client for "name resolve" and "name publish" 2017-09-21 18:03:42 -05:00
merkledag Began implementing updates to journal timestamp 2017-09-13 12:40:48 -05:00
multibase Turned on warnings for compilation 2016-12-05 06:54:21 -05:00
namesys Fixes for http receiving 2017-09-25 12:07:16 -05:00
path Fixed path/path compilation. 2017-02-09 18:32:12 -03:00
pin Major changes to support large file transfer 2017-04-20 17:56:03 -05:00
repo More work on ipns publisher and resolver 2017-09-21 13:59:06 -05:00
routing The API changed pthread to scope, so it can load multiple instances. 2017-09-20 14:39:26 -03:00
test Fixes for http receiving 2017-09-25 12:07:16 -05:00
thirdparty Removal of incorrect copyright notice 2016-12-05 07:12:23 -05:00
unixfs journalio working, needs tuning 2017-08-31 06:41:54 -05:00
util code cleanup 2017-08-02 08:53:34 -05:00
.cproject Added ping functionality to multistream 2017-02-23 11:16:23 -05:00
.gitignore Fixed various memory leaks 2016-12-23 10:49:30 -05:00
.project added Eclipse project files 2016-11-17 16:30:39 -05:00
LICENSE Update LICENSE 2017-01-31 17:10:12 +01:00
Makefile journaling protocol 2017-08-24 10:08:27 -05:00
README.md Update README.md 2017-09-22 12:38:45 +03:00

C-IPFS

IPFS implementation in C, (not just an API client library).

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