libIPFS — Enabling C/C++ developers to utilize IPFS

MasterMind
Scala
Published in
2 min readMay 18, 2021

IPFS is the de facto standard of file storage solutions in the Web3 space. Scala uses IPFS for distributing checkpoints, node lists, ban lists, blocks (future development), and the file-sharing system we have recently published. It enables us to get data across all nodes and verify them for integrity.

Why did we develop libIPFS?

Most of the code for the Scala daemon is written in C++, and there were no implementations we could use to communicate with the IPFS network using our C++ codebase.

So we decided to build our own library.

How does it work?

Go has the great ability to link into C/C++ applications. This ability made Go a perfect fit to use for the IPFS library. We packed what we needed into a Go module, and call these functions from C/C++.

And here we are now, with a full-blown IPFS instance which even exposes the HTTP API and gateway of the underlying daemon.

Can I use libIPFS for my project?

Of course, you can! We have used the BSD 3-Clause license, and we would love to see what you guys will come up with using libIPFS!

To get detailed information about building and using the library, follow the instructions in our GitHub repository.

Check this video for more information about how we use IPFS to secure our blockchain.

Thank you for your support, #Scalanauts!

Made by new core team member HajTech ❤

Community 👋

If you have any questions or comments, feel free to contact us:

--

--

MasterMind
Scala
Editor for

Software Engineer, Agilist, Entrepeneur, Miner. Jack of all trades.