Blockstream’s Lightning Network Upgrade Featuring Plugin Functionality Released
Blockstream’s engineering team has announced the release of v0.7 c-lightning, the company’s implementation of Lightning Network protocol.
According to the blog post, the new release is the culmination of eight months of work since the last major release, by 50 contributors from all over the world and comprising 1,300 commits.
We’re excited to announce c-lightning 0.7! This release includes Routeboost, performance improvements, & plugin support for customizing & extending c-lightning’s features. Start writing plugins in C, Go, Python, & Java today! ?⚡️? #LightningNetwork https://t.co/yGMR8d4wvj pic.twitter.com/mX2PHu0bR5
— Blockstream (@Blockstream) March 2, 2019
Not only does c-lightning 0.7 include a number of significant performance enhancements and bugfixes, but it also comes with new exciting features.
Plugins: the flagship feature for the 0.7 release, plugins allow developers to extend Lightning with their own applications written in any language.
Until now users had to write fully-fledged daemons in order to add simple functionality or make small changes. This changes dramatically with the introduction of plugins. Plugins are simple programs, written in C, Python, Golang, or Java, that are managed by the c-lightning. This corresponds to the sidecar model, in which an associated process runs alongside another process it is interacting with.
“Plugins further strengthen our commitment to becoming the most flexible, extensible, and customizable implementation of the Lightning Network specification. They enable us to stay focused on the core functionality, while at the same time empowering users and developers to add their own functionality to integrate c-lightning into their environment,” said the team.
Routeboost is now implemented, allowing users to send and receive payments over non-public channels by adding their details to invoices. This is important for nodes that do not announce their channels, allowing them to keep them private.
Improved funds management: better control over which coins are used to fund channels and withdraw from the nodes helps avoid a number of pitfalls with unconfirmed transactions.
option_data_loss_protect is now enabled by default, bolstering both your own security against datalosses, as well as that of your peers.
Reproducible builds: with some setup, users can build their own Ubuntu binaries and check that they’re identical to the ones that are provided.
Better documentation: as Blockstream put it, the best features are of no use if they are not well documented. For this reason the team has revamped its documentation which is now automatically generated at lightning.readthedocs.io
Not only do plugins allow users to extend and customize c-lightning, they also enable the team to better modularize c-lightning. Over the last few weeks Blockstream has been porting some of the functionality that used to be hardcoded into c-lightning itself into plugins. Moving this functionality into plugins serves two primary purposes:
- achieving a greater separation of concerns, by explicitly stating what information may be accessed and what actions can be performed.
- enabling users to simply swap out the plugin with their own implementation, should the default plugin not match their requirements.
To get started extending Lighting apps, users will have to first check out documentation, then some sample plugins.
Subscribe to our Newsletter<
- Blockstream’s Christian Decker: It’s Really Hard to Inject Usefulness Into Proof-Of-Work
- Samson Mow: Bitcoin Is a Way to Prevent an Orwellian Future
- Lightning Network and Mass Adoption: What’s Missing?
- What Is Atomic Swap?
- Blockstream’s Christian Decker On Latest Lightning Network Developments And What Bitcoin Could Be Like In Future
- Blockstream Joins Forces With GoTenna to Send Bitcoin Transactions Without Internet Connection
- Bitcoin Users Can Now Enjoy ForkLog’s Lightning Network Node
- New Bundle of Lightning Network Business Products Released by Bitfury