c-lightning v0.10.1 — “eltoo: Ethereum Layer Too”
by Lisa Neigut
The c-lightning team is excited to announce the v0.10.1 release of c-lightning. This is a point release that consolidates improvements made in recent releases and contains several exciting new ‘experimental’ features that can be enabled at runtime.
Since 0.10.0, we’ve had 551 commits from 15 different authors, in addition to contributions made in the wider plugin and app community.
The biggest and most exciting upgrades to c-lightning this cycle are experimental features. This includes the latest BOLT12 offers spec proposal, updates to dual-funding, as well as an implementation of the draft liquidity-ads spec proposal.
Note that this release introduces breaking changes for both the dual-funding and offers protocols. This means that version v0.10.1 of c-lightning is not backwards compatible with prior releases of these
experimental features. All peers using these protocol will need to be on the latest release.
This is a recommended upgrade for all users.
Liquidity Ads + the funder
plugin
This release also includes a draft implementation of the liquidity ads spec proposal. This allows nodes to advertise to the entire network the availability of channel funds for lease. This is how peers will find you to purchase channel leases.
As per the spec, channel leases are for 4032 blocks. Be mindful that closures of leased channels are disabled on the lessor’s side until the lease has expired.
Liquidity ads builds on the dual-funding protocol spec work, both of which can be managed and enabled via the new funder
plugin, which ships with v0.10.1. For more specifics, see the newly introduced funderupdate
command, and the new additions to fundchannel
: request_amt
and compact_lease
.
Finally, for this release, note that RBF’ing a leased channel opens will, by default, cancel the channel lease. This should be ameliorated in an upcoming release. In the meantime, pick a decent feerate for the initial open or CPFP an open transaction.
Dual-funding and liquidity ads can be enabled via the --experimental-dual-fund
configuration flag. #reckless
BOLT12 Offers
This release features an up-to-date implementation of the offers spec. For more info on the offers proposal, see the BOLT12 explainer website. As noted above, this is a breaking change; any older offers implementations will need to be updated.
Here’s a quick list of updates in this release:
- Payer notes, for sending unstructured notes to the offerer
- Shorter QR codes, which means they’re visually less dense
- Signature format changed
Offers must be enabled via the --experimental-offers
configuration flag. #reckless
The implementation in c-lightning is just the start of getting offers adopted by the wider Lightning userbase. If you’re interested in following the progress of the spec adoption in the wider community, join the BOLT12 Telegram chat.
Payment Secrets
First introduced in v0.8.0, payment secrets are now compulsory for invoice payments. c-lightning will no longer connect to peers that dont support them and will fail to pay any invoice which does not include them.
Note that this is a breaking change for the rebalance
and drain
plugins. If you’re utilizing these plugins you’ll need to update (redownload) them.
Other Notable Changes
- c-lightning is now compatible with Taproot addresses, for both withdrawing funds and closing channels to a Taproot address (
option_shutdown_anysegwit
) - Plugins devs can write plugins that send custom notifications (which can be read and consumed by other plugins)
- On the topic of invoices, you can now make ‘giant’ (greater than 2³²) invoices
- keysend: non-public nodes are now reachable via
route_hints
; we are now rust lightning (LDK) compatible (final cltv is 22) - c-lightning now includes an option to disable the timestamp prefix in logs
- An outcome of the greenlight work, the hsmd logic has been extracted into a library
- As a courtesy to peers with missing or corrupted databases, c-lightning will now re-negotiate mutual closes with peers on channels we’ve already closed
- Speaking of mutual closes, they are now more economical (cheaper)
- Finally, Tor v2 has been deprecated. Please move to v3 if you haven’t already. See the Tor project’s timeline for more information on v2’s end of life.
Note: This blog was originally posted at https://medium.com/p/2e968a03ca83