mirror of
https://github.com/ACINQ/eclair.git
synced 2025-02-22 22:25:26 +01:00
add electrum router, which manages a set of client primary client is the one on the longest chain, when a secondary client has a chain that is longer than master + 2 it becomes the new master. this will allow us to move away from "dead" electrum servers that are not up to date with the blockchain. electrum client: add 'get header' method electrum: maintain a chain of headers for each client and switch to the one with the longest chain electrum: handle case when received header connects to our first header it can happen when we connect to a server and ask for the last N headers electrum: automatic reconnection when we lose connection to our master client, we consider that we are disconnected. when we lose connection to a secondary client, we try to find an address that is not used and connect to it. If there is no such address we wait a bit and try to reconnect to the failing client electrum: check that incoming header proof of work is valid electrum router: migrate to Akka's FSM electrum: fix match error for `ready` message add missing copyright headers move Blockchain to electrum package electrum: simplify router electrum client: fix handling of dead subscribers electrum: move blockchain validation into electrum client client will now send `ready` notifications and subscriptions messages only when it has a valid and long enough blockchain pass execution context as argument reworked `ElectrumRouter` following 3dc1c2b61c82debeaed8d0d92238c0b5ee5c49c8 renamed `ElectrumRouter` -> `ElectrumMultiClient` reformat `var` -> `val` electrum: rename multiclient -> pool + cleanup |
||
---|---|---|
.. | ||
src | ||
pom.xml |