Allows C++ applications to communicate with IPFS. It implements IPFS API bindings for C++. See the documentation or the source code.
See also IPFS on GitHub.
Currently implemented methods:
- block: get(), put(), stat()
- config: get(), set(), replace()
- dht: findpeer(), findprovs()
- files: get(), add()
- generic: id(), version()
- object: new(), put(), get(), data(), links(), stat(), patch.addLink(), patch.rmLink(), patch.appendData(), patch.setData()
- pin: add(), ls(), rm()
- swarm: addrs(), connect(), disconnect(), peers()
Not implemented yet:
- Implement the above methods
- Compare with the latest IPFS API bindings and implement any new methods that have been defined
- Contributors are welcome!
cmake /path/to/cpp-ipfs-api
make
make install
See the documentation for details.
#include <iostream>
#include <sstream>
#include <ipfs/client.h>
int main(int, char**) {
std::stringstream contents;
ipfs::Client client("localhost", 5001);
client.FilesGet("/ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme", &contents);
std::cout << contents.str() << std::endl;
return 0;
}
c++ -std=c++11 -I/path/to/header -L/path/to/lib -lipfs-api myprog.cc -o myprog
Feel free to open issues and pull requests. Report vulnerabilities publicly, similar to other non-security issues.
The project adheres to the Google C++ Style Guide. Use clang-format to properly format the code when you submit patches.
Write tests for new code. Changes should not cause the code coverage to go down.
Copyright © 2016-2016 Vasil Dimov. The code is distributed under the MIT License.