Feature: Support Electrum protocol v1.6
enhancement
**Is your feature request related to a problem? Please describe.**
The Electrum protocol v1.6 was just merged. See [the docs](https://electrum-protocol.readthedocs.io/en/latest/protocol-changes.html#version-1-6) for changes in the new version:
> **Changes**
> - Breaking change for the version negotiation: we now mandate that the server.version() message must be the first message sent. That is, version negotiation must happen before any other messages.
>
> - Also for server.version(), the server must tolerate and ignore extraneous arguments, to allow for extensions in future protocol versions.
>
> - The status of a scripthash has its definition tightened in a backwards-compatible way: mempool txs now have a canonical ordering defined for the calculation (previously their order was undefined).
>
> - blockchain.scripthash.get_mempool() previously did not define an order for mempool transactions. We now mandate a specific ordering.
>
> - Optional mode argument added to blockchain.estimatefee().
>
> - blockchain.block.headers() now returns headers as a list, instead of a single concatenated hex string.
>
> **New methods**
> - blockchain.transaction.broadcast_package() to broadcast a package of transactions (submitpackage).
>
> - mempool.get_info() to get more detailed and general relayfee info.
>
> **Removed methods**
> - blockchain.relayfee() is removed. The minrelaytxfee field of the new mempool.get_info() RPC is a direct replacement.
**Describe the solution you'd like**
It would be great if `electrs` could support the new features very soon. For us (LDK), support for the new `blockchain.transaction.broadcast_package` is particularly important, as we want to lean on TRUC/v3 transaction relay ASAP.
5 条评论