New improvements to an existing code repository are set to make it easier for developers to build their own features into bitcoin’s lightning network, the in-progress tech layer many see as the cryptocurrency’s best hope for its use in payments.
Announced Thursday, Blockstream is making the largest upgrade to its c-lightning software in eight months, releasing a new version that features a batch of upgrades. Notable among them is a feature called “plugins” that the company hopes will make it easier for coders to build features into the payment system, even for those who don’t consider themselves coders.
Already, developers are already proving eager to build lightning network apps – as examples, a seven-year-old built a zombie hunting game that takes bitcoin lightning payments, and as of last week, it’s even possible to order pizza courtesy of a crafty custom website.
Blockstream’s new code release provides an interface that makes it easier for developers to build their own features into the c-lightning code, supporting plugins written in C, Go, and Python.
This could be a whole range of things, like monitoring tools or extra channel features. This customizability is one way c-lightning is different than other lightning network implementations, like LND and Eclair.
“It goes back to an early decision we made. We thought, we could tell people what they can do and can’t do or we could decide to give people the tools and a sanctioned way to go on and build the functionality they want,” said Blockstream engineer Christian Decker, who pioneered the plugin idea.
The Blockstream engineering team chose the latter route, he said, adding:
“By extending it on their own and adding their own favorite feature, this allows users to sort of make it their own lightning node, so to speak.”
Still, even those behind the release aren’t exactly sure what hobbyists and businesses will end up building with the code they’ve just released.
Blockstream engineer Rusty Russell told CoinDesk: “This opens up infinite possibilities.” That said, Decker has already written a few tools to show what devs can build with it.
This includes a small “monitoring” tool that runs alongside a node “checking if it’s alive and kicking,” as well as a “probing” plugin that pings other random lightning nodes on the network to see how well other nodes react, helping developers determine which parts of the network are still rickety.
Decker has also kicked off a list of plugins that he’ll add to as developers come up with new creations.
The hope is this new ability to make plugins will make life easier for developers. Many developers contribute to open-source lightning projects like c-lightning as hobbies in their spare time.
“It’s also a stealth recruitment drive. We hope people will get suckered in after using these plugins. C-lightning will get free labor. That’s what open source is,” Russell joked.
But, ideally, it could also be used by people who only know a little coding.
“If you can write ‘hello world,’ you can write a plugin for c-lightning,” Decker said, referring to the first program newbie coders typically create when learning the ropes.
Things to wince at
Plug-ins are the main feature in c-lightning, but there are others too, including a variety of bug fixes.
Russell was excited about a feature he called “route boost” that will help to make payments more reliable — one of the key problems with making payments on the network so far.
With this release, they also will support “reproducible builds” for the first time, making completely sure the software works across multiple operating systems (like Windows and Mac) with the help of mathematical proofs. It’s an important part of many open-source infrastructure projects, including the most-used bitcoin software, Bitcoin Core, and popular privacy browser Tor.
Beyond 0.7, the developers have lots of other ideas for improving the technology down the road, including getting a start on the new lightning 1.1 spec dreamed up at a developer summit in Adelaide, Australia, and outlining new features that will make payments more user-friendly.
These features are really needed to make lightning easier to use.
Russell pointed to the lightning torch, a popular grassroots game where users (even Twitter CEO Jack Dorsey and LinkedIn CEO Reid Hoffman) have been passing around a lightning payment, adding a little to it each time it’s passed. As a sort of unintended side-effect, it’s shown some of the problems lightning has so far.
As the payment has snowballed into one worth roughly $200 in bitcoin, the payment has gotten too big to be easy to send. It makes it hard to find a route to send a payment to someone else.
“We look at these things and we wince,” Russell said.
Yet, he’s been really impressed by how people have been coming up with ways to send the payment anyway, such as splitting up payments. “It shows how much people really want this,” he said.
High voltage sign image via Shutterstock