Update text
This commit is contained in:
parent
d0088e474a
commit
50a141fbf4
@ -6,10 +6,11 @@ successfully on MaxOSX and DragonFlyBSD. It won't run out-of-the-box
|
|||||||
on Windows, but the changes required to make it do so should be
|
on Windows, but the changes required to make it do so should be
|
||||||
small - patches welcome.
|
small - patches welcome.
|
||||||
|
|
||||||
+ Python3: ElectrumX makes heavy use of asyncio so version >=3.5 is required
|
+ Python3: ElectrumX uses asyncio. Python version >=3.5 is required.
|
||||||
+ plyvel: Python interface to LevelDB. I am using plyvel-0.9.
|
+ plyvel: Python interface to LevelDB. I am using plyvel-0.9.
|
||||||
+ aiohttp: Python library for asynchronous HTTP. ElectrumX uses it for
|
+ aiohttp: Python library for asynchronous HTTP. ElectrumX uses it for
|
||||||
communication with the daemon. I am using aiohttp-0.21.
|
communication with the daemon. Version >= 1.0 required; I am
|
||||||
|
using 1.0.5.
|
||||||
|
|
||||||
While not requirements for running ElectrumX, it is intended to be run
|
While not requirements for running ElectrumX, it is intended to be run
|
||||||
with supervisor software such as Daniel Bernstein's daemontools, or
|
with supervisor software such as Daniel Bernstein's daemontools, or
|
||||||
|
|||||||
23
README.rst
23
README.rst
@ -47,33 +47,28 @@ faster?
|
|||||||
All of the following likely play a part:
|
All of the following likely play a part:
|
||||||
|
|
||||||
- aggressive caching and batching of DB writes
|
- aggressive caching and batching of DB writes
|
||||||
- more compact representation of UTXOs, the mp address index, and
|
- more compact representation of UTXOs, the address index, and
|
||||||
history. Electrum server stores full transaction hash and height
|
history. Electrum server stores full transaction hash and height
|
||||||
for all UTXOs. In its pruned history it does the same. ElectrumX
|
for all UTXOs. In its pruned history it does the same. ElectrumX
|
||||||
just stores the transaction number in the linear history of
|
just stores the transaction number in the linear history of
|
||||||
transactions, and it looks like that for at least 5 years that will
|
transactions. For at least another 5 years the transaction number
|
||||||
fit in a 4-byte integer. ElectrumX calculates the height from a
|
will fit in a 4-byte integer. ElectrumX calculates the height from
|
||||||
simple lookup in a linear array which is stored on disk. ElectrumX
|
a simple lookup in a linear array which is stored on disk.
|
||||||
also stores transaction hashes in a linear array on disk.
|
ElectrumX also stores transaction hashes in a linear array on disk.
|
||||||
- storing static append-only metadata which is indexed by position on
|
- storing static append-only metadata which is indexed by position on
|
||||||
disk rather than in levelDB. It would be nice to do this for histories
|
disk rather than in levelDB. It would be nice to do this for histories
|
||||||
but I cannot think how they could be easily indexable on a filesystem.
|
but I cannot think how they could be easily indexable on a filesystem.
|
||||||
- avoiding unnecessary or redundant computations
|
- avoiding unnecessary or redundant computations
|
||||||
- more efficient memory usage
|
- more efficient memory usage
|
||||||
- asyncio and asynchronous prefetch of blocks. With luck ElectrumX
|
- asyncio and asynchronous prefetch of blocks. ElectrumX should not
|
||||||
will have no need of threads or locking primitives
|
have any need of threads.
|
||||||
- because it prunes electrum-server needs to store undo information,
|
|
||||||
ElectrumX should does not need to store undo information for
|
|
||||||
blockchain reorganisations (note blockchain reorgs are not yet
|
|
||||||
implemented in ElectrumX)
|
|
||||||
|
|
||||||
|
|
||||||
Roadmap
|
Roadmap
|
||||||
=======
|
=======
|
||||||
|
|
||||||
- test a few more performance improvement ideas
|
- test a few more performance improvement ideas
|
||||||
- handle blockchain reorgs
|
- handle client connections (half-implemented but not functional)
|
||||||
- handle client connections
|
|
||||||
- potentially move some functionality to C or C++
|
- potentially move some functionality to C or C++
|
||||||
|
|
||||||
Once I get round to writing the server part, I will add DoS
|
Once I get round to writing the server part, I will add DoS
|
||||||
@ -107,7 +102,7 @@ I'd appreciate it if anyone trying to synchronize could tell me::
|
|||||||
- whether their daemon was on the same host or not
|
- whether their daemon was on the same host or not
|
||||||
- whatever stats about sync height vs time they can provide (the
|
- whatever stats about sync height vs time they can provide (the
|
||||||
logs give it all in wall time)
|
logs give it all in wall time)
|
||||||
- the network they synced
|
- the network (e.g. bitcoin mainnet) they synced
|
||||||
|
|
||||||
|
|
||||||
Neil Booth
|
Neil Booth
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
VERSION = "ElectrumX 0.01"
|
VERSION = "ElectrumX 0.02"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user