2022-02-01 10:42:29 +01:00
|
|
|
# Eclair vnext
|
|
|
|
|
|
|
|
<insert here a high-level description of the release>
|
|
|
|
|
|
|
|
## Major changes
|
|
|
|
|
2022-06-15 13:09:54 +02:00
|
|
|
### Add support for channel aliases and zeroconf channels
|
|
|
|
|
|
|
|
:information_source: Those features are only supported for channels of type `AnchorOutputsZeroFeeHtlcTx`, which is the
|
|
|
|
newest channel type and the one enabled by default. If you are opening a channel with a node that doesn't run Eclair,
|
|
|
|
make sure they support `option_anchors_zero_fee_htlc_tx`.
|
|
|
|
|
|
|
|
#### Channel aliases
|
|
|
|
|
|
|
|
Channel aliases offer a way to use arbitrary channel identifiers for routing. This feature improves privacy by not
|
|
|
|
leaking the funding transaction of the channel during payments.
|
|
|
|
|
|
|
|
This feature is enabled by default, but your peer has to support it too, and it is not compatible with public channels.
|
|
|
|
|
|
|
|
#### Zeroconf channels
|
|
|
|
|
|
|
|
Zeroconf channels make it possible to use a newly created channel before the funding tx is confirmed on the blockchain.
|
|
|
|
|
2022-07-01 15:13:57 +02:00
|
|
|
:warning: Zeroconf requires the fundee to trust the funder. For this reason it is disabled by default, and you can
|
2022-06-15 13:09:54 +02:00
|
|
|
only enable it on a peer-by-peer basis.
|
|
|
|
|
|
|
|
##### Enabling through features
|
|
|
|
|
|
|
|
Below is how to enable zeroconf with a given peer in `eclair.conf`. With this config, your node will _accept_ zeroconf
|
|
|
|
channels from node `03864e...`.
|
|
|
|
|
|
|
|
```eclair.conf
|
|
|
|
override-init-features = [
|
|
|
|
{
|
|
|
|
nodeid = "03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f",
|
|
|
|
features = {
|
|
|
|
// dependencies of zeroconf
|
|
|
|
option_static_remotekey = optional
|
|
|
|
option_anchors_zero_fee_htlc_tx = optional
|
|
|
|
option_scid_alias = optional
|
|
|
|
// enable zeroconf
|
|
|
|
option_zeroconf = optional
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
Note that, as funder, Eclair will happily use an unconfirmed channel if the peer sends an early `channel_ready`, even if
|
|
|
|
the `option_zeroconf` feature isn't enabled, as long as the peer provides a channel alias.
|
|
|
|
|
|
|
|
##### Enabling through channel type
|
|
|
|
|
|
|
|
You can enable `option_scid_alias` and `option_zeroconf` features by requesting them in the channel type, even if those
|
|
|
|
options aren't enabled in your features.
|
|
|
|
|
|
|
|
The new channel types variations are:
|
|
|
|
|
|
|
|
- `anchor_outputs_zero_fee_htlc_tx+scid_alias`
|
|
|
|
- `anchor_outputs_zero_fee_htlc_tx+zeroconf`
|
|
|
|
- `anchor_outputs_zero_fee_htlc_tx+scid_alias+zeroconf`
|
|
|
|
|
|
|
|
Examples using the command-line interface:
|
|
|
|
|
|
|
|
- open a public zeroconf channel:
|
|
|
|
|
|
|
|
```shell
|
|
|
|
$ ./eclair-cli open --nodeId=03864e... --fundingSatoshis=100000 --channelType=anchor_outputs_zero_fee_htlc_tx+zeroconf --announceChannel=true
|
|
|
|
```
|
|
|
|
|
|
|
|
- open a private zeroconf channel with aliases:
|
|
|
|
|
|
|
|
```shell
|
|
|
|
$ ./eclair-cli open --nodeId=03864e... --fundingSatoshis=100000 --channelType=anchor_outputs_zero_fee_htlc_tx+scid_alias+zeroconf --announceChannel=false
|
|
|
|
```
|
|
|
|
|
2022-07-01 14:33:14 +02:00
|
|
|
### Changes to features override
|
|
|
|
|
|
|
|
Eclair supports overriding features on a per-peer basis, using the `eclair.override-init-features` field in `eclair.conf`.
|
|
|
|
These overrides will now be applied on top of the default features, whereas the previous behavior was to completely ignore default features.
|
|
|
|
We provide detailed examples in the [documentation](../Configure.md#customize-features).
|
|
|
|
|
2022-06-15 13:09:54 +02:00
|
|
|
### Remove support for Tor v2
|
|
|
|
|
|
|
|
Dropped support for version 2 of Tor protocol. That means:
|
2022-06-06 01:03:44 -07:00
|
|
|
|
|
|
|
- Eclair can't open control connection to Tor daemon version 0.3.3.5 and earlier anymore
|
|
|
|
- Eclair can't create hidden services for Tor protocol v2 with newer versions of Tor daemon
|
|
|
|
|
2022-06-15 13:09:54 +02:00
|
|
|
IMPORTANT: You'll need to upgrade your Tor daemon if for some reason you still use Tor v0.3.3.5 or earlier before
|
|
|
|
upgrading to this release.
|
2022-02-01 10:42:29 +01:00
|
|
|
|
|
|
|
### API changes
|
|
|
|
|
2022-07-01 15:13:26 +02:00
|
|
|
- `channelbalances`: retrieves information about the balances of all local channels (#2196)
|
|
|
|
- `stop`: stops eclair. Please note that the recommended way of stopping eclair is simply to kill its process (#2233)
|
|
|
|
- `channelbalances` and `usablebalances` return a `shortIds` object instead of a single `shortChannelId` (#2323)
|
2022-02-01 10:42:29 +01:00
|
|
|
|
|
|
|
### Miscellaneous improvements and bug fixes
|
|
|
|
|
2022-03-11 10:22:27 +01:00
|
|
|
#### Delay enforcement of new channel fees
|
|
|
|
|
2022-06-15 13:09:54 +02:00
|
|
|
When updating the relay fees for a channel, eclair can now continue accepting to relay payments using the old fee even
|
|
|
|
if they would be rejected with the new fee.
|
|
|
|
By default, eclair will still accept the old fee for 10 minutes, you can change it by
|
|
|
|
setting `eclair.relay.fees.enforcement-delay` to a different value.
|
2022-03-11 10:22:27 +01:00
|
|
|
|
2022-06-15 13:09:54 +02:00
|
|
|
If you want a specific fee update to ignore this delay, you can update the fee twice to make eclair forget about the
|
|
|
|
previous fee.
|
2022-02-01 10:42:29 +01:00
|
|
|
|
2022-03-29 12:12:13 +02:00
|
|
|
#### New minimum funding setting for private channels
|
|
|
|
|
2022-06-15 13:09:54 +02:00
|
|
|
New settings have been added to independently control the minimum funding required to open public and private channels
|
|
|
|
to your node.
|
2022-03-29 12:12:13 +02:00
|
|
|
|
2022-06-15 13:09:54 +02:00
|
|
|
The `eclair.channel.min-funding-satoshis` setting has been deprecated and replaced with the following two new settings
|
|
|
|
and defaults:
|
2022-03-29 12:12:13 +02:00
|
|
|
|
2022-07-01 15:13:26 +02:00
|
|
|
- `eclair.channel.min-public-funding-satoshis = 100000`
|
|
|
|
- `eclair.channel.min-private-funding-satoshis = 100000`
|
2022-03-29 12:12:13 +02:00
|
|
|
|
2022-06-15 13:09:54 +02:00
|
|
|
If your configuration file changes `eclair.channel.min-funding-satoshis` then you should replace it with both of these
|
|
|
|
new settings.
|
2022-03-29 12:12:13 +02:00
|
|
|
|
|
|
|
#### Expired incoming invoices now purged if unpaid
|
|
|
|
|
2022-06-15 13:09:54 +02:00
|
|
|
Expired incoming invoices that are unpaid will be searched for and purged from the database when Eclair starts up.
|
|
|
|
Thereafter searches for expired unpaid invoices to purge will run once every 24 hours. You can disable this feature, or
|
|
|
|
change the search interval with two new settings:
|
2022-03-29 12:12:13 +02:00
|
|
|
|
2022-07-01 15:13:26 +02:00
|
|
|
- `eclair.purge-expired-invoices.enabled = true
|
|
|
|
- `eclair.purge-expired-invoices.interval = 24 hours`
|
2022-03-29 12:12:13 +02:00
|
|
|
|
2022-02-01 10:42:29 +01:00
|
|
|
## Verifying signatures
|
|
|
|
|
|
|
|
You will need `gpg` and our release signing key 7A73FE77DE2C4027. Note that you can get it:
|
|
|
|
|
|
|
|
- from our website: https://acinq.co/pgp/drouinf.asc
|
|
|
|
- from github user @sstone, a committer on eclair: https://api.github.com/users/sstone/gpg_keys
|
|
|
|
|
|
|
|
To import our signing key:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
$ gpg --import drouinf.asc
|
|
|
|
```
|
|
|
|
|
|
|
|
To verify the release file checksums and signatures:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
$ gpg -d SHA256SUMS.asc > SHA256SUMS.stripped
|
|
|
|
$ sha256sum -c SHA256SUMS.stripped
|
|
|
|
```
|
|
|
|
|
|
|
|
## Building
|
|
|
|
|
|
|
|
Eclair builds are deterministic. To reproduce our builds, please use the following environment (*):
|
|
|
|
|
|
|
|
- Ubuntu 20.04
|
|
|
|
- AdoptOpenJDK 11.0.6
|
|
|
|
- Maven 3.8.1
|
|
|
|
|
|
|
|
Use the following command to generate the eclair-node package:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
mvn clean install -DskipTests
|
|
|
|
```
|
|
|
|
|
2022-06-15 13:09:54 +02:00
|
|
|
That should generate `eclair-node/target/eclair-node-<version>-XXXXXXX-bin.zip` with sha256 checksums that match the one
|
|
|
|
we provide and sign in `SHA256SUMS.asc`
|
2022-02-01 10:42:29 +01:00
|
|
|
|
2022-06-15 13:09:54 +02:00
|
|
|
(*) You may be able to build the exact same artefacts with other operating systems or versions of JDK 11, we have not
|
|
|
|
tried everything.
|
2022-02-01 10:42:29 +01:00
|
|
|
|
|
|
|
## Upgrading
|
|
|
|
|
2022-06-15 13:09:54 +02:00
|
|
|
This release is fully compatible with previous eclair versions. You don't need to close your channels, just stop eclair,
|
|
|
|
upgrade and restart.
|
2022-02-01 10:42:29 +01:00
|
|
|
|
|
|
|
## Changelog
|
|
|
|
|
|
|
|
<fill this section when publishing the release with `git log v0.7.0... --format=oneline --reverse`>
|