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...
 
 
 
Go to file
John Jones e1135fef3b Beginnings of the multithreaded engine
This engine has 2 threads. One to process the request queue, the other
to gather up and build peer messages and send them.
2017-07-27 08:38:57 -05:00
blocks Unit testing and memory fixes 2017-07-26 09:48:04 -05:00
cid Unit testing and memory fixes 2017-07-26 09:48:04 -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 Unit testing and memory fixes 2017-07-26 09:48:04 -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 Beginnings of the multithreaded engine 2017-07-27 08:38:57 -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 Beginnings of the multithreaded engine 2017-07-27 08:38:57 -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 Unit testing and memory fixes 2017-07-26 09:48:04 -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 Unit testing and memory fixes 2017-07-26 09:48:04 -05:00
routing Implementation of a universal bitswap queue 2017-07-26 07:38:47 -05:00
test Beginnings of the multithreaded engine 2017-07-27 08:38:57 -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 Fixed broken links 2017-07-21 22:39:50 -07:00

README.md

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-de/c-protobuf
c-multihash https://github.com/kenCode-de/c-multihash
c-multiaddr https://github.com/kenCode-de/c-multiaddr
c-libp2p https://github.com/kenCode-de/c-libp2p

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