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-07-20 16:10:31 -05:00
blocks Some tweaks to avoid potential problems found during unit testing 2017-07-20 16:10:31 -05:00
cid Some tweaks to avoid potential problems found during unit testing 2017-07-20 16:10:31 -05:00
cmd Handling finding of peer via swarm 2017-04-13 09:31:58 -05:00
commands c99 for centos 2017-03-21 15:20:52 +00:00
core Broke out the marshaling of incoming requests 2017-07-17 14:38:13 -05:00
datastore Moving closer to binary compatability with go version of ipfs 2016-12-21 06:40:19 -05:00
dnslink Fixed some compiler warnings 2017-02-13 05:34:56 -05:00
exchange Some tweaks to avoid potential problems found during unit testing 2017-07-20 16:10:31 -05:00
flatfs Moved datastore interface from ipfs to libp2p 2017-04-06 09:33:28 -05:00
importer Better handling of locally stored files 2017-05-11 07:04:54 -05:00
include/ipfs Adding basic unit tests for Bitswap protobuf 2017-07-20 15:16:59 -05:00
main Implementing protobuf objects for bitswap messages 2017-07-20 15:03:49 -05:00
merkledag Bugfixes and unit test fixes 2017-04-27 15:52:20 -05:00
multibase Turned on warnings for compilation 2016-12-05 06:54:21 -05:00
namesys Fixed warnings 2017-07-17 16:14:40 -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 Reading replication parameters from config file 2017-07-20 09:12:31 -05:00
routing Missing null.h 2017-07-07 00:40:39 -03:00
test Some tweaks to avoid potential problems found during unit testing 2017-07-20 16:10:31 -05:00
thirdparty Removal of incorrect copyright notice 2016-12-05 07:12:23 -05:00
unixfs Minor fixes to libp2p 2017-03-06 19:04:14 -05:00
util Added thread pool to aid in clean daemon shutdown 2017-04-17 14:02:33 -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 Implementing protobuf objects for bitswap messages 2017-07-20 15:03:49 -05:00
README.md Fix of a few compiler warnings 2017-07-17 13:05:56 -05: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/kenCode/c-protobuf
c-multihash https://github.com/kenCode/c-multihash
c-multiaddr https://github.com/kenCode/c-multiaddr
c-libp2p https://github.com/kenCode/c-libp2p

And of course this project at https://github.com/kenCode/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".