github ACINQ/eclair v0.3.4
Eclair v0.3.4

latest releases: v0.10.0, v0.4.23-android-phoenix, v0.4.22-android-phoenix...
4 years ago

This release includes many improvements, as well as a few bug fixes. Its is fully compatible with 0.3.3 (and all previous versions of eclair).

Major changes

Wumbo channels

Eclair now supports wumbo channels (see lightning/bolts#596).
To activate it, update your eclair.conf and set eclair.features = 080a8a (note that if you chose to enable/disable a different set of features from the recommended ones, that value will be slightly different).
You also need to set an upper limit on channels size in eclair.max-funding-satoshis.

Once that's configured, you can open channels above the previous 0.167 BTC limit (if your peer accepts it).
Be cautious though; bigger channels may attract more attackers towards your node.
Make sure your node deployment is secure before you start opening many large channels.

Packaging rework

Eclair is now packaged as a zip folder (see #1307).
This new packaging allows us to provide verifiable builds for eclair-node and eclair-node-gui.
It also brings us one step closer to verifiable builds for eclair-mobile and phoenix.

Note that you won't find a capsule jar as before.
To start eclair you should now use one of the scripts provided in the package.

GUI deprecation

eclair-node-gui is being deprecated and will not be published with future releases. Source code will still remain available for some time, and building the GUI is very easy (check BUILD.md for more details, but basically mvn install -DskipTests is enough to build eclair-node and eclair-node-gui).

We strongly encourage people to use the API instead, see https://github.com/ACINQ/eclair/wiki/Usage#command-line-with-eclair-cli for more information (it works on Windows too).

Our GUI was built for demonstration and testing purposes, typically with a few nodes on single machine and in regtest mode. Using it as a Lightning wallet or to run routing nodes on mainnet is a very bad fit:

  • if you're looking for a Lightning wallet, consider using Phoenix or Eclair Mobile instead.
  • if you want to run a routing node, then it should be running on a machine that is reliable, secure, maintained, reachable from the internet and online most of the time, i.e probably not your desktop PC.
  • having a "bitcoin-like" GUI is misleading: If your Bitcoin node is offline it has a minimal impact on the Bitcoin network and you can still "receive" funds. When you start it again it catches up on the blocks and transactions that it has missed, so having a Bitcoin wallet or node that is often offline is fine. But when your Lightning nodes is offline it cannot send, receive or relay transactions. Your channels will be tagged as disabled and other nodes will have to route around you.

Miscellaneous improvements and bug fixes

We've done a lot of work on our metrics and logs; make sure to leverage those to improve your node's monitoring.

We've added support for multiple Bitcoin wallets (see #1334).

We've found and fixed a few more gossip bugs; if you previously had issues getting your node's information on explorers, this release should fix it.

We've also fixed many small bugs and heavily refactored parts of the codebase, which paves the way for more scalability and performance improvements.

Verifying signatures

You will need gpg and our release signing key 7A73FE77DE2C4027. Note that you can get it:

To import our signing key:

$ gpg --import drouinf.asc

To verify the release file checksums and signatures:

$ 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 19.10
  • AdoptOpenJDK 11.0.6
  • Maven 3.6.3

Use the following command to generate the eclair-node package:

mvn clean install -DskipTests

That should generate eclair-node/target/eclair-node-0.3.4-24aa710-bin.zip and eclair-node-gui/target/eclair-node-gui-0.3.4-24aa710-bin.zip with sha256 checksums that matches the one we provide and sign in SHA256SUMS.asc

(*) You may be able to build the exact same artefacts with other operating systems or versions of JDK 11, we have not tried everything.

Upgrading

This release is fully compatible with Eclair v0.3.3. You don't need to close your channels, just stop eclair, upgrade and restart.

Changelog

  • Electrum: allow watcher to watch for mempool transactions (#1298)
  • Notify change in balance when updating network fee (#1301)
  • Fix AuditDb flaky test (#1304)
  • Better logging for transport handler (#1303)
  • Fix networkstats API call (#1309)
  • Payment request: ignore fields with invalid length (#1308)
  • Node relayer faster fulfill (#1306)
  • Electrum: add support for socks5 proxies (#1315)
  • Re-send ChannelUpdate to private channels (#1317)
  • Fix random trampoline test failure (#1318)
  • SendToRoute with routing hints (#1325)
  • Allow receiving non-standard payments (#1326)
  • Add log for normal application shutdown. (#1329)
  • Rework packaging (#1307)
  • Make Commitments method return Try[] (#1311)
  • Channel sends typed responses (#1321)
  • Refactor MultiPartPaymentFSM (#1324)
  • Make UpfrontShutdownScript a TLV record (#1333)
  • Wumbo support (#1323)
  • Avoid illegal reflective operation during startup (#1313)
  • fixup! Use correct assembly descriptors and use bash explicitly. (#1337)
  • Send ping if no message received from peer for 30s (#1340)
  • Payment metrics (#1312)
  • Update kanela-agent 1.0.1->1.0.5 (#1341)
  • Allow users to have multiple wallets in bitcoind (#1334)
  • Add more information to GetInfoResponse (#1344)
  • Re-send ChannelUpdate on reconnection (fixes 8afc00d) (#1342)
  • Funder reserve for future fee increase (#1319)
  • Minor: Reduced some log levels (#1348)
  • Harden requirements on htlc-minimum-msat (#1339)
  • Centralize metrics per package (#1350)
  • Improve AddHtlcFailed (#1349)
  • Split the Peer in two (#1347)
  • Minor: removed unused code (#1353)
  • fixup! Support for Tor onion services (#736) (#1356)
  • BUILD: mention that Docker is needed for tests (#1358)
  • fixup! Split the Peer in two (#1347) (#1357)
  • Use CLTV as tie-breaker for offered htlc output sorting (#790)
  • Add wallet balance metric (#1355)
  • fixup! Use CLTV as tie-breaker for offered htlc output sorting (#790) (#1360)
  • PostRestartHtlcCleaner handle channel closing (#1338)
  • fixup! Harden requirements on htlc-minimum-msat (#1339) (#1362)
  • fixup! Harden requirements on htlc-minimum-msat (#1339) (#1363)
  • fixup! Split the Peer in two (#1347) (#1365)

Don't miss a new eclair release

NewReleases is sending notifications on new releases.