Blockstream’s Lightning Network Upgrade Featuring Plugin Functionality Released

News and Analysis
02.03.2019

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.

Not only does c-lightning 0.7 include a number of significant performance enhancements and bugfixes, but it also comes with  new exciting features.

New 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

New Modularization

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.

Follow ForkLog on Twitter and Facebook!

Found a typo? Highlight text and press CTRL+ENTER

Subscribe to our Newsletter

<

Related posts

Tags: ,