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.
https://www.youtube.com/watch?v=ug8mpkVaOOM
Thank you for your support, #Scalanauts!