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

User Avatar
MasterMind 2 min read · May 18, 2021
Share this article

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!

Made by new core team member HajTech ❤

Recent Posts

Scala CLI Wallet Guide

The Scala Command-Line Interface (CLI) Wallet, scala-wallet-cli, is a console program designed to manage your Scala coins. Similar to Monero, […]

Read more

CEX vs DEX in the Scala Ecosystem

Introduction The world of cryptocurrency trading offers a myriad of possibilities, and at the heart of this dynamic landscape are […]

Read more

Scala’s Remote Nodes: Navigating Privacy and Accessibility

In the realm of Scala, a node operating separately from your local machine is aptly termed a “Remote Node.” Scala’s […]

Read more

Join the Scala community