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 M. Jones eeabd85bc3
Update README.md
2017-11-02 05:52:19 -05:00
blocks Better handling of bad memory allocation 2017-10-05 15:14:47 -05:00
cid Better handling of bad memory allocation 2017-10-05 15:14:47 -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 Fixed issue when receiving by POST method. 2017-10-12 20:08:21 -03: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 Return a copy of the block from the exchange, not the block itself 2017-10-09 10:01:29 -05:00
flatfs Moved datastore interface from ipfs to libp2p 2017-04-06 09:33:28 -05:00
importer Changed some API calls to use POST method. 2017-10-12 20:12:28 -03:00
include/ipfs Merge branch 'master' of https://github.com/Agorise/c-ipfs 2017-10-09 09:12:14 -05:00
journal The API changed pthread to scope, so it can load multiple instances. 2017-09-20 14:39:26 -03:00
main Better handling of bad memory allocation 2017-10-05 15:14:47 -05:00
merkledag Merge branch 'master' of https://github.com/Agorise/c-ipfs 2017-10-09 09:12:14 -05:00
multibase Turned on warnings for compilation 2016-12-05 06:54:21 -05:00
namesys Changed some API calls to use POST method. 2017-10-12 20:12:28 -03: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 memory and bug fixes, plus update of several tests 2017-10-09 15:23:30 -05:00
routing Changed some API calls to use POST method. 2017-10-12 20:12:28 -03:00
test memory and bug fixes, plus update of several tests 2017-10-09 15:23:30 -05:00
thirdparty Removal of incorrect copyright notice 2016-12-05 07:12:23 -05:00
unixfs Better handling of bad memory allocation 2017-10-05 15:14:47 -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 Made test file generation faster 2017-10-05 15:37:27 -05:00
.project added Eclipse project files 2016-11-17 16:30:39 -05:00
LICENSE Update LICENSE 2017-10-16 13:43:57 +03:00
Makefile journaling protocol 2017-08-24 10:08:27 -05:00
README.md Update README.md 2017-11-02 05:52:19 -05:00

README.md

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