ElectrumX¶
This project is a fork of kyuupichan/electrumx. The original author dropped support for Bitcoin, which we intend to keep.
ElectrumX allows users to run their own Electrum server. It connects to your full node and indexes the blockchain, allowing efficient querying of history of arbitrary addresses. The server can be exposed publicly, and joined to the public network of servers via peer discovery. As of May 2020, a significant chunk of the public Electrum server network runs ElectrumX.
The current version is ElectrumX 1.16.0.
Source Code¶
The project is hosted on GitHub. and uses Travis for Continuous Integration.
Please submit an issue on the bug tracker if you have found a bug or have a suggestion to improve the server.
Authors and License¶
Neil Booth wrote the vast majority of the code; see Authors. Python version at least 3.7 is required.
The code is released under the MIT Licence.
Getting Started¶
See HOWTO.
There is also an installer available that simplifies the installation on various Linux-based distributions, and a Dockerfile available .
Documentation¶
- Features
- Implementation
- Roadmap
- ChangeLog
- Version 1.16.0 (10 Dec 2020)
- Version 1.15.0 (27 May 2020)
- Version 1.14.0 (19 Jan 2020)
- Version 1.13.0 (26 Sep 2019)
- Version 1.12.0 (13 May 2019)
- Version 1.11.0 (18 Apr 2019)
- Version 1.10.1 (13 Apr 2019)
- Version 1.10.0 (15 Mar 2019)
- Version 1.9.5 (08 Feb 2019)
- Version 1.9.4 (07 Feb 2019)
- Version 1.9.3 (05 Feb 2019)
- Version 1.9.2 (03 Feb 2019)
- Version 1.9.1 (11 Jan 2019)
- Version 1.9.0 (10 Jan 2019)
- HOWTO
- Environment Variables
- Electrum Protocol
- Protocol Basics
- Protocol Methods
- blockchain.block.header
- blockchain.block.headers
- blockchain.estimatefee
- blockchain.headers.subscribe
- blockchain.relayfee
- blockchain.scripthash.get_balance
- blockchain.scripthash.get_history
- blockchain.scripthash.get_mempool
- blockchain.scripthash.listunspent
- blockchain.scripthash.subscribe
- blockchain.scripthash.unsubscribe
- blockchain.transaction.broadcast
- blockchain.transaction.get
- blockchain.transaction.get_merkle
- blockchain.transaction.id_from_pos
- mempool.get_fee_histogram
- server.add_peer
- server.banner
- server.donation_address
- server.features
- server.peers.subscribe
- server.ping
- server.version
- Masternode methods (Dash and compatible coins)
- masternode.announce.broadcast
- masternode.subscribe
- masternode.list
- ProTx methods (Dash DIP3)
- protx.diff
- protx.info
- Protocol Changes
- Removed Protocol Methods
- Deserialized Headers
- blockchain.address.get_balance
- blockchain.address.get_history
- blockchain.address.get_mempool
- blockchain.address.listunspent
- blockchain.address.subscribe
- blockchain.headers.subscribe
- blockchain.numblocks.subscribe
- blockchain.utxo.get_address
- blockchain.block.get_header
- blockchain.block.get_chunk
- server.version
- Deserialized Headers
- Protocol Ideas
- Peer Discovery
- RPC Interface
- Architecture
- Authors