Introducing Nelumbo — A Local Filecoin Blockchain
If you build products in the blockchain space, you invariably run into that moment when you realize you have to write code AGAINST the blockchain. Fortunately, that doesn’t mean writing transactions on a mainnet and spending real gas or transaction fees. In all systems, there are testnets you can write code against. Unfortunately, testing against a testnet is still sort of like testing against production. The stakes are lower, but the latency is still there.
Enter local blockchains.
Ethereum developers have developed apps against a local version of the Ethereum blockchain for years now. But for emerging blockchains the local blockchain experience, while generally serviceable, leaves a lot to be desired. This is the exact reason Truffle built Ganache for Ethereum. And that’s why I am building Nelumbo for Filecoin.
While working on Filecoin-related things for Pinata, I found myself testing against the Filecoin testnet. This was before they had launched their mainnet, but still, it was terrible. Developing applications where you need to ssh in to test the results of some change you made to your local code is just not fun at all.
Fortunately, Filecoin offers a local version of its blockchain for development and testing. This is called the “local devnet.” Unfortunately, it’s not easy to use if you don't have a DevOps background.
Depending on the type of apps you’re building, having a DevOps background may be a natural requirement, but there is a whole category of applications, especially in the blockchain space, that interact with blockchain nodes while never running their own servers. That means front-end developers are often writing the code that ultimately interacts with the blockchain.
Pinata, of course, does not fall into the front-end-only category, but the work we have been doing with Filecoin meant that we needed an easier solution to build the features we wanted to build while not spending hours per day on DevOps-related tasks.
Because of the struggles I had using the local devnet for the Filecoin blockchain, I started working in my off time on a better solution. I started building a desktop application that would wrap all of the CLI functionality from the Filecoin local devnet in an easy-to-use interface.
I’m excited to announce the early version of Nelumbo. It’s still not yet packaged as an installable app, and there are a ton of additional features and functionality to build, but it fulfills the promise of a one-click Filecoin blockchain. Consider this a developer preview. You’ll need to pull the source code from Github if you want to give it a spin.
In the coming months, new features will be released, and the idea is that this will culminate with a MacOS desktop app that can be installed and used anytime you need to build apps that require Filecoin interactions.
I’m eager to hear what Filecoin and IPFS developers think of this. Contributions are welcome. Feedback is welcome. If you like the idea, want to stay up to date, or just like giving your email away, jump on the Nelumbo mailing list here.