docs: adapt to Palladium, drop Bitcoin/upstream examples and links
index, features, HOWTO (node requirements, sizes and sync time measured on Palladium, real startup log, clone URL), environment, peer discovery and architecture; rpc-interface examples (getinfo, peers, query with real data); release_process rewritten without tags/PyPI; changelog gets a plm-electrumx 1.0.0 entry above the upstream history. Links point to this repository. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
4e1bde28cb
commit
3d05c37feb
10 files changed
+127
-172
No files matched your search
+38
-83
@@ -23,15 +23,16 @@ DB Engine A database engine package is required; two are
|
||||
supported (see `Database Engine`_ below).
|
||||
================ ========================
|
||||
|
||||
You **must** be running a non-pruning bitcoin daemon with::
|
||||
You **must** be running a non-pruning Palladium daemon with::
|
||||
|
||||
server=1
|
||||
txindex=1
|
||||
|
||||
set in its configuration file. If you have an existing installation
|
||||
of bitcoind and have not previously set this you will need to reindex
|
||||
the blockchain with::
|
||||
set in its configuration file (:file:`palladium.conf`). If you have an
|
||||
existing installation of palladiumd and have not previously set
|
||||
``txindex`` you will need to reindex the blockchain with::
|
||||
|
||||
bitcoind -reindex
|
||||
palladiumd -reindex
|
||||
|
||||
which can take some time.
|
||||
|
||||
@@ -47,11 +48,10 @@ used to either.
|
||||
When building the database from the genesis block, ElectrumX has to
|
||||
flush large quantities of data to disk and its DB. You will have a
|
||||
better experience if the database directory is on an SSD than on an
|
||||
HDD. Currently to around height 611,600 of the Bitcoin blockchain the
|
||||
final size of the leveldb database, and other ElectrumX file metadata
|
||||
comes to just over 46.9GB (43.7 GiB). LevelDB needs a bit more for
|
||||
brief periods, and the block chain is only getting longer, so I would
|
||||
recommend having at least 70-80GB of free space before starting.
|
||||
HDD. At around height 542,000 of the Palladium blockchain the final
|
||||
size of a RocksDB database, and other ElectrumX file metadata, is
|
||||
roughly 230 MB. The block chain only gets longer, so leave some room to
|
||||
grow; a few GB of free space is plenty for now.
|
||||
|
||||
Database Engine
|
||||
===============
|
||||
@@ -87,8 +87,8 @@ Install the prerequisites above.
|
||||
|
||||
Check out the code from Github::
|
||||
|
||||
git clone https://github.com/spesmilo/electrumx.git
|
||||
cd electrumx
|
||||
git clone https://github.com/palladium-coin/plm-electrumx.git
|
||||
cd plm-electrumx
|
||||
|
||||
You can install with::
|
||||
|
||||
@@ -251,30 +251,9 @@ has its caches and disk I/O tuned to that task only.
|
||||
The :envvar:`CACHE_MB` environment variable controls the total cache
|
||||
size ElectrumX uses; see :ref:`here <CACHE>` for caveats.
|
||||
|
||||
Here is my experience with the codebase of early 2017 (the current
|
||||
codebase is faster), to given heights and rough wall-time. The period
|
||||
from heights 363,000 to 378,000 is the most sluggish::
|
||||
|
||||
Machine A Machine B
|
||||
181,000 25m 00s 5m 30s
|
||||
283,500 1h 00m
|
||||
321,800 1h 40m
|
||||
357,000 12h 32m 2h 41m
|
||||
386,000 21h 56m 4h 25m
|
||||
414,200 1d 12h 29m 6h 30m
|
||||
447,168 2d 13h 20m 9h 47m
|
||||
|
||||
*Machine A*: a low-spec 2011 1.6GHz AMD E-350 dual-core fanless CPU,
|
||||
8GB RAM and a DragonFlyBSD UFS filesystem on an SSD. It requests
|
||||
blocks over the LAN from a bitcoind on machine B. :envvar:`DB_CACHE`
|
||||
the default of 1,200. LevelDB.
|
||||
|
||||
*Machine B*: a late 2012 iMac running Sierra 10.12.2, 2.9GHz quad-core
|
||||
Intel i5 CPU with an HDD and 24GB RAM. Running bitcoind on the same
|
||||
machine. :envvar:`DB_CACHE` set to 1,800. LevelDB.
|
||||
|
||||
For chains other than bitcoin-mainnet synchronization should be much
|
||||
faster.
|
||||
On a development machine (12 cores, RocksDB) with the daemon on the same host, building the database from
|
||||
genesis to height 542,000 of the Palladium blockchain took about a minute. Blocks are small and the chain is short,
|
||||
so synchronization is much faster than for large chains; times on other hardware will vary.
|
||||
|
||||
.. note:: ElectrumX will not serve normal client connections until it
|
||||
has fully synchronized and caught up with your daemon.
|
||||
@@ -316,8 +295,8 @@ You can see the status of a running service with::
|
||||
svstat ~/service/electrumx
|
||||
|
||||
:command:`svscan` can of course handle multiple services
|
||||
simultaneously from the same service directory, such as a testnet or
|
||||
altcoin server. See the man pages of these various commands for more
|
||||
simultaneously from the same service directory, such as a testnet
|
||||
server. See the man pages of these various commands for more
|
||||
information.
|
||||
|
||||
|
||||
@@ -330,53 +309,29 @@ You can see the logs usefully like so::
|
||||
|
||||
Here is typical log output on startup::
|
||||
|
||||
INFO:BlockProcessor:switching current directory to /crucial/server-good
|
||||
INFO:BlockProcessor:using leveldb for DB backend
|
||||
INFO:BlockProcessor:created new database
|
||||
INFO:BlockProcessor:creating metadata diretcory
|
||||
INFO:BlockProcessor:software version: ElectrumX 0.10.2
|
||||
INFO:BlockProcessor:DB version: 5
|
||||
INFO:BlockProcessor:coin: Bitcoin
|
||||
INFO:BlockProcessor:network: mainnet
|
||||
INFO:BlockProcessor:height: -1
|
||||
INFO:BlockProcessor:tip: 0000000000000000000000000000000000000000000000000000000000000000
|
||||
INFO:BlockProcessor:tx count: 0
|
||||
INFO:BlockProcessor:sync time so far: 0d 00h 00m 00s
|
||||
INFO:BlockProcessor:reorg limit is 200 blocks
|
||||
INFO:Daemon:daemon at 192.168.0.2:8332/
|
||||
INFO:BlockProcessor:flushing DB cache at 1,200 MB
|
||||
INFO:Controller:RPC server listening on localhost:8000
|
||||
INFO:Prefetcher:catching up to daemon height 447,187...
|
||||
INFO:Controller:software version: plm-electrumx 1.0.0
|
||||
INFO:Controller:aiorpcX version: 0.25.0
|
||||
INFO:Controller:supported protocol versions: 1.4-1.7.0
|
||||
INFO:Controller:reorg limit is 200 blocks
|
||||
INFO:Daemon:daemon #1 at 127.0.0.1:2332/ (current)
|
||||
INFO:DB:switching current directory to /var/lib/electrumx
|
||||
INFO:DB:using rocksdb for DB backend
|
||||
INFO:DB:created new database
|
||||
INFO:DB:coin: Palladium
|
||||
INFO:DB:network: mainnet
|
||||
INFO:DB:height: -1
|
||||
INFO:DB:tx count: 0
|
||||
INFO:DB:flushing DB cache at 1,200 MB
|
||||
INFO:Prefetcher:catching up to daemon height 542,044 (542,045 blocks behind)
|
||||
INFO:Prefetcher:verified genesis block with hash 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
|
||||
INFO:BlockProcessor:our height: 9 daemon: 447,187 UTXOs 0MB hist 0MB
|
||||
INFO:BlockProcessor:our height: 52,509 daemon: 447,187 UTXOs 9MB hist 14MB
|
||||
INFO:BlockProcessor:our height: 85,009 daemon: 447,187 UTXOs 12MB hist 31MB
|
||||
INFO:BlockProcessor:our height: 102,384 daemon: 447,187 UTXOs 15MB hist 47MB
|
||||
INFO:BlockProcessor:our height: 9 daemon: 542,044 UTXOs 0MB hist 0MB
|
||||
[...]
|
||||
INFO:BlockProcessor:our height: 133,375 daemon: 447,187 UTXOs 80MB hist 222MB
|
||||
INFO:BlockProcessor:our height: 134,692 daemon: 447,187 UTXOs 96MB hist 250MB
|
||||
INFO:BlockProcessor:flushed to FS in 0.7s
|
||||
INFO:BlockProcessor:flushed history in 16.3s for 1,124,512 addrs
|
||||
INFO:BlockProcessor:flush #1 took 18.7s. Height 134,692 txs: 941,963
|
||||
INFO:BlockProcessor:tx/sec since genesis: 2,399, since last flush: 2,400
|
||||
INFO:BlockProcessor:sync time: 0d 00h 06m 32s ETA: 1d 13h 03m 42s
|
||||
INFO:BlockProcessor:caught up to height 542047
|
||||
INFO:BlockProcessor:plm-electrumx 1.0.0 synced to height 542,047
|
||||
|
||||
Under normal operation these cache stats repeat once or twice a
|
||||
minute. UTXO flushes can take several minutes and look like this::
|
||||
|
||||
INFO:BlockProcessor:our height: 378,745 daemon: 447,332 UTXOs 1,013MB hist 184MB
|
||||
INFO:BlockProcessor:our height: 378,787 daemon: 447,332 UTXOs 1,014MB hist 194MB
|
||||
INFO:BlockProcessor:flushed to FS in 0.3s
|
||||
INFO:BlockProcessor:flushed history in 13.4s for 934,933 addrs
|
||||
INFO:BlockProcessor:flushed 6,403 blocks with 5,879,440 txs, 2,920,524 UTXO adds, 3,646,572 spends in 93.1s, committing...
|
||||
INFO:BlockProcessor:flush #120 took 226.4s. Height 378,787 txs: 87,695,588
|
||||
INFO:BlockProcessor:tx/sec since genesis: 1,280, since last flush: 359
|
||||
INFO:BlockProcessor:sync t ime: 0d 19h 01m 06s ETA: 3d 21h 17m 52s
|
||||
INFO:BlockProcessor:our height: 378,812 daemon: 447,334 UTXOs 10MB hist 10MB
|
||||
|
||||
The ETA shown is just a rough guide and in the short term can be quite
|
||||
volatile. It tends to be a little optimistic at first; once you get
|
||||
to height 280,000 is should be fairly accurate.
|
||||
While syncing, the ``our height`` lines repeat once or twice a minute with the
|
||||
sizes of the caches, which are flushed to disk when they reach :envvar:`CACHE_MB`.
|
||||
Once synced, the server follows new blocks and the mempool.
|
||||
|
||||
.. _SSL certificates:
|
||||
|
||||
@@ -436,7 +391,7 @@ You can then set the port as follows and advertise the service externally on the
|
||||
REPORT_SSL_PORT=110
|
||||
|
||||
|
||||
.. _`contrib/systemd/electrumx.service`: https://github.com/spesmilo/electrumx/blob/master/contrib/systemd/electrumx.service
|
||||
.. _`contrib/systemd/electrumx.service`: https://github.com/palladium-coin/plm-electrumx/blob/main/contrib/systemd/electrumx.service
|
||||
.. _`daemontools`: http://cr.yp.to/daemontools.html
|
||||
.. _`runit`: http://smarden.org/runit/index.html
|
||||
.. _`aiohttp`: https://pypi.python.org/pypi/aiohttp
|
||||
@@ -31,13 +31,13 @@ Handles JSON Electrum client connections over TCP or SSL. One
|
||||
instance per client session. Should be the only component concerned
|
||||
with the details of the Electrum wire protocol.
|
||||
|
||||
Not started until the Block Processor has caught up with bitcoind.
|
||||
Not started until the Block Processor has caught up with palladiumd.
|
||||
|
||||
Daemon
|
||||
------
|
||||
|
||||
Encapsulates the RPC wire protocol with bitcoind for the whole server.
|
||||
Transparently handles temporary bitcoind connection errors, and fails
|
||||
Encapsulates the RPC wire protocol with palladiumd for the whole server.
|
||||
Transparently handles temporary palladiumd connection errors, and fails
|
||||
over if necessary.
|
||||
|
||||
Notifies the Mempool when the list of mempool transaction hashes is
|
||||
@@ -62,14 +62,14 @@ Prefetcher
|
||||
----------
|
||||
|
||||
Cooperates with the Block Processor to asynchronously prefetch blocks
|
||||
from bitcoind. Once it has caught up it additionally asks the Daemon
|
||||
to refresh its view of bitcoind's mempool transaction hashes. Serves
|
||||
from palladiumd. Once it has caught up it additionally asks the Daemon
|
||||
to refresh its view of palladiumd's mempool transaction hashes. Serves
|
||||
blocks to the Block Processor via a queue.
|
||||
|
||||
Mempool
|
||||
-------
|
||||
|
||||
Handles all the details of maintaining a representation of bitcoind's
|
||||
Handles all the details of maintaining a representation of palladiumd's
|
||||
mempool state. Obtains the list of current mempool transaction hashes
|
||||
from the Daemon when notified by the Prefetcher.
|
||||
|
||||
|
||||
@@ -2,6 +2,27 @@
|
||||
ChangeLog
|
||||
===========
|
||||
|
||||
Version 1.0.0 (plm-electrumx)
|
||||
=============================
|
||||
|
||||
First release of the Palladium fork. Based on a snapshot of upstream ElectrumX 2.0.0
|
||||
(commit ``280cb339aa158e099eb936033eecd15719770651``); the entries below this one are the history of upstream.
|
||||
|
||||
* new: ``Palladium``, ``PalladiumTestnet`` and ``PalladiumRegtest`` coins, now the only ones (the default ``COIN``
|
||||
is ``Palladium``).
|
||||
* Palladium Core is based on Bitcoin Core 0.19: the daemon version/index checks are disabled, ``txindex=1`` is
|
||||
required, and ``blockchain.outpoint.subscribe`` / ``blockchain.transaction.broadcast_package`` return a daemon
|
||||
error to clients.
|
||||
* removed: all other coins, their transaction deserializers, session/daemon/block processor classes, tests,
|
||||
pip extras and ``contrib`` files.
|
||||
* new: ``Dockerfile`` and ``docker-compose.yml`` to run next to the Palladium node container, with automatic
|
||||
self-signed SSL certificate, data in ``~/.plm-electrumx`` and ``DONATION_ADDRESS`` support.
|
||||
* new: CI on ``main`` with a Docker job; ``README.md`` and ``DEPLOY.md``.
|
||||
* changed: package name ``plm-electrumx``, own versioning.
|
||||
|
||||
Upstream history
|
||||
================
|
||||
|
||||
Version 2.0.0 (03 July 2026)
|
||||
==============================
|
||||
|
||||
|
||||
+3
-3
@@ -81,9 +81,9 @@ html_theme = 'alabaster'
|
||||
# documentation.
|
||||
#
|
||||
html_theme_options = {
|
||||
'description': 'Lightweight Electrum Server in Python',
|
||||
'github_user': 'spesmilo',
|
||||
'github_repo': 'electrumx',
|
||||
'description': 'Electrum server for Palladium (PLM)',
|
||||
'github_user': 'palladium-coin',
|
||||
'github_repo': 'plm-electrumx',
|
||||
'github_button': True,
|
||||
'github_type': 'star',
|
||||
'github_banner': True,
|
||||
|
||||
@@ -111,7 +111,7 @@ Here are some examples of valid services::
|
||||
rpc:// # RPC protocol, default host and port
|
||||
|
||||
.. note:: ElectrumX will not serve any incoming connections until it has fully caught up
|
||||
with your bitcoin daemon. The only exception is local **RPC** connections,
|
||||
with your Palladium daemon. The only exception is local **RPC** connections,
|
||||
which are served at any time after the server has initialized.
|
||||
|
||||
.. envvar:: SERVICES
|
||||
@@ -268,8 +268,8 @@ These environment variables are optional:
|
||||
The maximum number of blocks to be able to handle in a chain
|
||||
reorganisation. ElectrumX retains some fairly compact undo
|
||||
information for this many blocks in levelDB. The default is a
|
||||
function of :envvar:`COIN` and :envvar:`NET`; for Bitcoin mainnet it
|
||||
is 200.
|
||||
function of :envvar:`COIN` and :envvar:`NET`; for Palladium mainnet it
|
||||
is 200 (8,000 on testnet and regtest).
|
||||
|
||||
.. envvar:: EVENT_LOOP_POLICY
|
||||
|
||||
@@ -314,8 +314,7 @@ raise them.
|
||||
.. envvar:: MAX_SEND
|
||||
|
||||
The maximum size of a response message to send over the wire, in
|
||||
bytes. Defaults to 8,100,000 (except for AuxPoW coins, which default
|
||||
to 10,000,000). Values smaller than 350,000 are taken as 350,000
|
||||
bytes. Defaults to 8,100,000. Values smaller than 350,000 are taken as 350,000
|
||||
because standard Electrum protocol header "chunk" requests are almost
|
||||
that large.
|
||||
|
||||
@@ -506,5 +505,5 @@ your available physical RAM:
|
||||
|
||||
I do not recommend raising this above 2000.
|
||||
|
||||
.. _lib/coins.py: https://github.com/spesmilo/electrumx/blob/master/src/electrumx/lib/coins.py
|
||||
.. _lib/coins.py: https://github.com/palladium-coin/plm-electrumx/blob/main/src/electrumx/lib/coins.py
|
||||
.. _uvloop: https://pypi.python.org/pypi/uvloop
|
||||
+2
-5
@@ -2,11 +2,8 @@ Features
|
||||
========
|
||||
|
||||
- Efficient, lightweight reimplementation of electrum-server
|
||||
- Fast synchronization of bitcoin mainnet from Genesis. Recent
|
||||
hardware should synchronize in well under 24 hours. The fastest
|
||||
time to height 448k (mid January 2017) reported is under 4h 30m. On
|
||||
the same hardware JElectrum would take around 4 days and
|
||||
electrum-server probably around 1 month.
|
||||
- Fast synchronization of Palladium mainnet from Genesis: about a
|
||||
minute to height 542k on a modern development machine with RocksDB.
|
||||
- Various configurable means of controlling resource consumption and
|
||||
handling bad clients and denial of service attacks. These include
|
||||
maximum connection counts, subscription limits per-connection and
|
||||
|
||||
+18
-22
@@ -1,18 +1,17 @@
|
||||
=========
|
||||
ElectrumX
|
||||
=========
|
||||
=============
|
||||
plm-electrumx
|
||||
=============
|
||||
|
||||
.. image:: https://github.com/spesmilo/electrumx/actions/workflows/ci.yml/badge.svg?branch=master
|
||||
:target: https://github.com/spesmilo/electrumx/actions/workflows/ci.yml
|
||||
.. image:: https://github.com/palladium-coin/plm-electrumx/actions/workflows/ci.yml/badge.svg?branch=main
|
||||
:target: https://github.com/palladium-coin/plm-electrumx/actions/workflows/ci.yml
|
||||
|
||||
This project is a fork of `kyuupichan/electrumx <https://github.com/kyuupichan/electrumx>`_.
|
||||
The original author dropped support for Bitcoin, which we intend to keep.
|
||||
plm-electrumx is an Electrum protocol server for Palladium (PLM). It is a fork of
|
||||
`spesmilo/electrumx <https://github.com/spesmilo/electrumx>`_ (which is itself a fork of
|
||||
`kyuupichan/electrumx <https://github.com/kyuupichan/electrumx>`_) that supports Palladium only.
|
||||
|
||||
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.
|
||||
It connects to your Palladium full node and indexes the blockchain, allowing efficient
|
||||
querying of history of arbitrary addresses. The server can be exposed publicly, and joined
|
||||
to the network of servers via peer discovery.
|
||||
|
||||
The current version is |release|.
|
||||
|
||||
@@ -20,12 +19,12 @@ Source Code
|
||||
===========
|
||||
|
||||
The project is hosted on `GitHub
|
||||
<https://github.com/spesmilo/electrumx/>`_. and uses `GitHub Actions
|
||||
<https://github.com/spesmilo/electrumx/actions>`_ for Continuous
|
||||
<https://github.com/palladium-coin/plm-electrumx>`_ and uses `GitHub Actions
|
||||
<https://github.com/palladium-coin/plm-electrumx/actions>`_ for Continuous
|
||||
Integration.
|
||||
|
||||
Please submit an issue on the `bug tracker
|
||||
<https://github.com/spesmilo/electrumx/issues>`_ if you have found a
|
||||
<https://github.com/palladium-coin/plm-electrumx/issues>`_ if you have found a
|
||||
bug or have a suggestion to improve the server.
|
||||
|
||||
Authors and License
|
||||
@@ -35,19 +34,16 @@ Neil Booth wrote the vast majority of the code; see :ref:`Authors`.
|
||||
Python version at least 3.10 is required.
|
||||
|
||||
The code is released under the `MIT Licence
|
||||
<https://github.com/spesmilo/electrumx/LICENCE>`_.
|
||||
<https://github.com/palladium-coin/plm-electrumx/blob/main/LICENCE>`_.
|
||||
|
||||
Getting Started
|
||||
===============
|
||||
|
||||
See :ref:`HOWTO`.
|
||||
|
||||
There is also an `installer`_ available that simplifies the
|
||||
installation on various Linux-based distributions, and a `Dockerfile`_
|
||||
available.
|
||||
|
||||
.. _installer: https://github.com/bauerj/electrumx-installer
|
||||
.. _Dockerfile: https://github.com/lukechilds/docker-electrumx
|
||||
The repository also contains a :file:`Dockerfile` and a :file:`docker-compose.yml` that run the server next
|
||||
to a Palladium node container; see `README.md <https://github.com/palladium-coin/plm-electrumx#with-docker-next-to-the-palladium-node>`_
|
||||
and `DEPLOY.md <https://github.com/palladium-coin/plm-electrumx/blob/main/DEPLOY.md>`_ (ports, firewall, SSL, RPC credentials).
|
||||
|
||||
Documentation
|
||||
=============
|
||||
|
||||
@@ -25,7 +25,7 @@ process. Ideally it should have at least 4 servers that have shown
|
||||
commitment to reliable service.
|
||||
|
||||
In ElectrumX this is a per-coin property in `lib/coins.py
|
||||
<https://github.com/spesmilo/electrumx/blob/master/electrumx/lib/coins.py>`_.
|
||||
<https://github.com/palladium-coin/plm-electrumx/blob/main/src/electrumx/lib/coins.py>`_.
|
||||
|
||||
|
||||
server.peers.subscribe
|
||||
|
||||
+10
-22
@@ -2,32 +2,20 @@
|
||||
|
||||
### 1. Add changelog
|
||||
|
||||
Add an entry for the new version at the top of `docs/changelog.rst`.
|
||||
|
||||
### 2. Update version number
|
||||
|
||||
Both files must have the same version (it is shown to clients by `server.version`, in the banner and in the logs):
|
||||
|
||||
- `docs/conf.py`
|
||||
- `electrumx/__init__.py`
|
||||
- `src/electrumx/__init__.py`
|
||||
|
||||
### 3. Tag
|
||||
### 3. Check
|
||||
|
||||
```
|
||||
$ git tag -s "$VERSION" -m "$VERSION"
|
||||
$ git push "$REMOTE_ORIGIN" tag "$VERSION"
|
||||
```
|
||||
The CI on `main` (`.github/workflows/ci.yml`) must pass: tests, pycodestyle, docs build, and the Docker image with its
|
||||
smoke test (`contrib/docker-smoke-test.sh`).
|
||||
|
||||
### 4. Build sdist
|
||||
### 4. Deploy
|
||||
|
||||
see [`contrib/sdist/`](contrib/sdist)
|
||||
|
||||
```
|
||||
$ ELECBUILD_COMMIT=HEAD ELECBUILD_NOCACHE=1 ./contrib/sdist/build.sh
|
||||
```
|
||||
|
||||
### 5. Upload to PyPI
|
||||
|
||||
```
|
||||
// $ python3 -m twine upload --repository testpypi dist/$DISTNAME
|
||||
$ python3 -m twine upload dist/$DISTNAME
|
||||
```
|
||||
|
||||
This will prompt for a username and password. For the username, use `__token__`.
|
||||
For the password, use API token from https://pypi.org/manage/account/ , including the pypi- prefix.
|
||||
On the server: `git pull && docker compose up -d --build` (see `DEPLOY.md`).
|
||||
+23
-24
@@ -69,10 +69,10 @@ A typical result is as follows (with annotated comments)::
|
||||
|
||||
$ electrumx_rpc getinfo
|
||||
{
|
||||
"coin": "Bitcoin",
|
||||
"daemon": "127.0.0.1:9334/",
|
||||
"daemon height": 572154, # The daemon's height when last queried
|
||||
"db height": 572154, # The height to which the DB is flushed
|
||||
"coin": "Palladium",
|
||||
"daemon": "127.0.0.1:2332/",
|
||||
"daemon height": 542048, # The daemon's height when last queried
|
||||
"db height": 542048, # The height to which the DB is flushed
|
||||
"groups": 586, # The number of session groups
|
||||
"history cache": "185,014 lookups 9,756 hits 1,000 entries",
|
||||
"merkle cache": "280 lookups 54 hits 213 entries",
|
||||
@@ -192,12 +192,12 @@ Peer data is obtained via a peer discovery protocol documented
|
||||
:ref:`here <Peer Discovery>`::
|
||||
|
||||
$ electrumx_rpc peers
|
||||
Host Status TCP SSL Server Min Max Pruning Last Good Last Try Tries Source IP Address
|
||||
bch.tedy.pw good 50001 50002 ElectrumX 1.2.1 0.9 1.2 07h 29m 23s 07h 30m 40s 0 peer 185.215.224.26
|
||||
shsmithgoggryfbx.onion good 60001 60002 ElectrumX 1.2.1 0.9 1.2 07h 30m 34s 07h 30m 38s 0 peer
|
||||
bccarihace4jdcnt.onion good 52001 52002 ElectrumX 1.2.1 0.9 1.2 07h 30m 34s 07h 30m 39s 0 peer
|
||||
Host Status TCP SSL Server Min Max Pruning Last Good Last Try Tries Source IP Address
|
||||
electrum1.example.com good 50001 50002 plm-electrumx 1.0.0 1.4 1.7 07h 29m 23s 07h 30m 40s 0 peer 192.0.2.10
|
||||
electrum2.example.com good 50001 50002 plm-electrumx 1.0.0 1.4 1.7 07h 30m 34s 07h 30m 38s 0 peer
|
||||
[...]
|
||||
electroncash.checksum0.com good 50001 50002 ElectrumX 1.2.1 0.9 1.1 07h 30m 40s 07h 30m 41s 0 peer 149.56.198.233
|
||||
|
||||
(The host names above are examples.)
|
||||
|
||||
.. _query:
|
||||
|
||||
@@ -205,26 +205,25 @@ query
|
||||
-----
|
||||
|
||||
Run a query of the UTXO and history databases against one or more
|
||||
addresses, hex scripts or ASCII names (for coins that have an index
|
||||
on names like Namecoin). `--limit <N>` or `-l <N>` limits the output
|
||||
addresses or hex scripts. `--limit <N>` or `-l <N>` limits the output
|
||||
for each kind to that many entries. History is printed in blockchain
|
||||
order; UTXOs in an arbitrary order.
|
||||
|
||||
For example::
|
||||
|
||||
$ electrumx_rpc query --limit 5 76a91462e907b15cbf27d5425399ebf6f0fb50ebb88f1888ac
|
||||
Script: 76a91462e907b15cbf27d5425399ebf6f0fb50ebb88f1888ac
|
||||
History #1: height 123,723 tx_hash 3387418aaddb4927209c5032f515aa442a6587d6e54677f08a03b8fa7789e688
|
||||
History #2: height 127,280 tx_hash 4574958d135e66a53abf9c61950aba340e9e140be50efeea9456aa9f92bf40b5
|
||||
History #3: height 127,909 tx_hash 8b960c87f9f1a6e6910e214fcf5f9c69b60319ba58a39c61f299548412f5a1c6
|
||||
History #4: height 127,943 tx_hash 8f6b63012753005236b1b76e4884e4dee7415e05ab96604d353001662cde6b53
|
||||
History #5: height 127,943 tx_hash 60ff2dfdf67917040139903a0141f7525a7d152365b371b35fd1cf83f1d7f704
|
||||
UTXO #1: tx_hash 9aa497bf000b20f5ec5dc512bb6c1b60b68fc584d38b292b434e839ea8807bf0 tx_pos 0 height 254,148 value 5,500
|
||||
UTXO #2: tx_hash 1c998142a5a5aae6f8c1eab245351413fe8d4032a3f14345f9943a0d0bc90ec0 tx_pos 0 height 254,161 value 5,500
|
||||
UTXO #3: tx_hash 53345491b4829140be53f30079c6e4556a18545343b122900ebbfa158f9ca97a tx_pos 0 height 254,163 value 5,500
|
||||
UTXO #4: tx_hash c71ad947ac46af217da3cd5521113cbd03e36ddada2b4452afe6c15f944d2529 tx_pos 0 height 372,916 value 1,000
|
||||
UTXO #5: tx_hash c944a6acac054275a5e294e746d9ce79f6dcae91f3b4f5a84561aee6404a55b3 tx_pos 0 height 254,148 value 5,500
|
||||
Balance: 17.8983303 BCH
|
||||
$ electrumx_rpc query --limit 5 76a91405d230d91166fa0e82b9142e66172846855e469a88ac
|
||||
Script: 76a91405d230d91166fa0e82b9142e66172846855e469a88ac
|
||||
History #0: height 28,227 txid 021bd9352ba2c0e8847f642753b0dea07db9fc76a991b154c8806b528280a1dc
|
||||
History #1: height 28,234 txid c7da889fdf7686a6f2f8a79ca1275b05b08f0d2f9051c85d1c2c70c0949ae025
|
||||
History #2: height 28,242 txid b940e1d63caf8b73562705df6bdf1f4c2e2ef47df5be46483c7ba4fd02fc7f66
|
||||
History #3: height 28,339 txid dd844c6838b9dfd18619dbf2816f22249c063755afaeaf67ed1e1118ad662616
|
||||
History #4: height 28,368 txid 0d95947d605984d6d1d32bc252af398a18e218fe4a7625c1496f88abd4a8a07e
|
||||
UTXO #1: txid 407a1be25f9962e83d1734fbf9773094428c77f835276cf965eef9f9778770c1 tx_pos 2 height 130,276 value 250,000,000
|
||||
UTXO #2: txid 0cd05022306e2cfdf30f1def563cb6fa2b5e0d13896da9531ce93c86296d8855 tx_pos 1 height 130,286 value 100,000,000
|
||||
UTXO #3: txid 6b172cf9477aec19198b89fa53600cfdb27ed0dd6d6c945ced5e0f02daa673fb tx_pos 1 height 130,359 value 300,000,000
|
||||
UTXO #4: txid b8a9992d63fa185c410f9d6855c39bc4afc0002b81b21a29c947aeac6f5b6428 tx_pos 0 height 130,447 value 250,000,000
|
||||
UTXO #5: txid 3cb0f3f21c8aad26293dd0228595c4f0f1c0e1f2863e756bb2d994e0fe2ba6a8 tx_pos 1 height 130,501 value 100,000,000
|
||||
Balance: 16.500000 PLM
|
||||
|
||||
reorg
|
||||
-----
|
||||
|
||||
Reference in new issue
Block a user