|
@ -13,7 +13,7 @@ small - patches welcome. |
|
|
using 1.0.5. |
|
|
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, |
|
|
with supervisor software such as Daniel Bernstein's daemontools, |
|
|
Gerald Pape's runit package or systemd. These make administration of secure |
|
|
Gerald Pape's runit package or systemd. These make administration of secure |
|
|
unix servers very easy, and I strongly recommend you install one of these |
|
|
unix servers very easy, and I strongly recommend you install one of these |
|
|
and familiarise yourself with them. The instructions below and sample |
|
|
and familiarise yourself with them. The instructions below and sample |
|
@ -120,7 +120,7 @@ setup ElectrumX with systemd. Simply copy it to :code:`/etc/systemd/system`:: |
|
|
|
|
|
|
|
|
cp samples/systemd-unit /etc/systemd/system/electrumx.service |
|
|
cp samples/systemd-unit /etc/systemd/system/electrumx.service |
|
|
|
|
|
|
|
|
The sample unit file assumes that the repository is located at |
|
|
The sample unit file assumes that the repository is located at |
|
|
:code:`/home/electrumx/electrumx`. If that differs on your system, you need to |
|
|
:code:`/home/electrumx/electrumx`. If that differs on your system, you need to |
|
|
change the unit file accordingly. |
|
|
change the unit file accordingly. |
|
|
|
|
|
|
|
@ -140,7 +140,6 @@ Once configured, you may want to start ElectrumX at boot:: |
|
|
systemctl enable electrumx |
|
|
systemctl enable electrumx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sync Progress |
|
|
Sync Progress |
|
|
============= |
|
|
============= |
|
|
|
|
|
|
|
@ -161,13 +160,14 @@ Here is my experience with the current codebase, to given heights and |
|
|
rough wall-time:: |
|
|
rough wall-time:: |
|
|
|
|
|
|
|
|
Machine A Machine B DB + Metadata |
|
|
Machine A Machine B DB + Metadata |
|
|
180,000 7m 10s 0.4 GiB |
|
|
181,000 7m 09s 0.4 GiB |
|
|
245,800 1h 00m 2.7 GiB |
|
|
255,000 1h 02m 2.7 GiB |
|
|
290,000 1h 56m 3.3 GiB |
|
|
289,000 1h 46m 3.3 GiB |
|
|
343,000 3h 56m 6.0 GiB |
|
|
317,000 2h 33m |
|
|
386,000 7h 28m 7.0 GiB |
|
|
351,000 3h 58m |
|
|
404,000 9h 41m |
|
|
377,000 6h 06m 6.5 GiB |
|
|
434,369 14h 38m 17.1 GiB |
|
|
403,400 8h 51m |
|
|
|
|
|
436,196 14h 03m 17.3 GiB |
|
|
|
|
|
|
|
|
Machine A: a low-spec 2011 1.6GHz AMD E-350 dual-core fanless CPU, 8GB |
|
|
Machine A: a low-spec 2011 1.6GHz AMD E-350 dual-core fanless CPU, 8GB |
|
|
RAM and a DragonFlyBSD HAMMER fileystem on an SSD. It requests blocks |
|
|
RAM and a DragonFlyBSD HAMMER fileystem on an SSD. It requests blocks |
|
@ -175,7 +175,7 @@ over the LAN from a bitcoind on machine B. |
|
|
|
|
|
|
|
|
Machine B: a late 2012 iMac running El-Capitan 10.11.6, 2.9GHz |
|
|
Machine B: a late 2012 iMac running El-Capitan 10.11.6, 2.9GHz |
|
|
quad-core Intel i5 CPU with an HDD and 24GB RAM. Running bitcoind on |
|
|
quad-core Intel i5 CPU with an HDD and 24GB RAM. Running bitcoind on |
|
|
the same machine. HIST_MB of 400, CACHE_MB of 2,000. |
|
|
the same machine. HIST_MB of 350, UTXO_MB of 1,600. |
|
|
|
|
|
|
|
|
For chains other than bitcoin-mainnet sychronization should be much |
|
|
For chains other than bitcoin-mainnet sychronization should be much |
|
|
faster. |
|
|
faster. |
|
@ -192,7 +192,7 @@ by bringing it down like so:: |
|
|
|
|
|
|
|
|
If processing the blockchain the server will start the process of |
|
|
If processing the blockchain the server will start the process of |
|
|
flushing to disk. Once that is complete the server will exit. Be |
|
|
flushing to disk. Once that is complete the server will exit. Be |
|
|
patient as disk flushing can take a while. |
|
|
patient as disk flushing can take many minutes. |
|
|
|
|
|
|
|
|
ElectrumX flushes to leveldb using its transaction functionality. The |
|
|
ElectrumX flushes to leveldb using its transaction functionality. The |
|
|
plyvel documentation claims this is atomic. I have written ElectrumX |
|
|
plyvel documentation claims this is atomic. I have written ElectrumX |
|
@ -262,4 +262,5 @@ After flush-to-disk you may see an aiohttp error; this is the daemon |
|
|
timing out the connection while the disk flush was in progress. This |
|
|
timing out the connection while the disk flush was in progress. This |
|
|
is harmless. |
|
|
is harmless. |
|
|
|
|
|
|
|
|
The ETA is just a guide and can be quite volatile. |
|
|
The ETA is just a guide and can be quite volatile. It is too optimistic |
|
|
|
|
|
initially. |
|
|