Commit Graph
17 Commits
Author SHA1 Message Date
davideandClaude Sonnet 5.5 1b537297df contrib: remove Bitcoin/upstream-only files, adapt systemd and daemontools to Palladium
Removed: Dockerfile_beefyserver (superseded by the root Dockerfile), sdist/
(upstream release tooling), query.py (broken debug script), raspberrypi3/
(obsolete distro steps and env vars the server now rejects).

systemd and daemontools samples now use COIN=Palladium, the node RPC port 2332,
DB_ENGINE and SERVICES (both required for a working server). HOWTO.rst drops
the Raspberry Pi section.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 16:11:39 +02:00
davide 4295cd01a1 Update CLAUDE.md 2026-10-22 16:03:07 +02:00
davideandClaude Sonnet 5.5 9ef0cb0983 Docker: pass DONATION_ADDRESS to the server, document it
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 16:00:42 +02:00
davideandClaude Sonnet 5.5 0d1ebc6e3e CI: run on main, add a docker job, drop upstream-specific steps
The workflow only triggered on master. New job builds the image and runs
contrib/docker-smoke-test.sh, which checks the SSL handling of the entrypoint.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 15:53:56 +02:00
davideandClaude Sonnet 5.5 419ff90859 Docker: keep data in ~/.plm-electrumx (bind mount) instead of named volumes
db/ is the database, ssl/ the certificate; ELECTRUMX_DATADIR, PLM_UID and
PLM_GID configure it like the node's ~/.palladium. The entrypoint fails with a
clear message if a data directory is not writable.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 15:38:04 +02:00
davideandClaude Sonnet 5.5 c2dcff5cc8 Docker: automatic SSL with a self-signed certificate, reused if present
docker-entrypoint.sh uses the given SSL_CERTFILE/SSL_KEYFILE, or the
certificate in the electrumx-ssl volume, and generates a self-signed one
(10 years) only when none exists, never overwriting it, as clients pin it.
It also sets SERVICES (tcp 50001 + ssl 50002). SSL is on by default.

Documented in README.md and DEPLOY.md.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 15:23:29 +02:00
davideandClaude Sonnet 5.5 3e5d005efe Add DEPLOY.md: ports, firewall, RPC credentials, SSL, operation
Also fix the COIN default in docs/environment.rst, and refer to the Palladium
node setup by concept instead of by paths of its repository.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 15:15:13 +02:00
davideandClaude Sonnet 5.5 6624403688 Add Dockerfile and docker-compose.yml to run next to the Palladium node
ElectrumX is built from this source tree with RocksDB and joins the external
'palladium' network of the node in palladiumcore/docker, reaching it as
palladiumd:2332. RPC credentials come from .env (ignored by git, see
.env.example). The Bitcoin-specific contrib/Dockerfile is removed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 15:10:44 +02:00
davideandClaude Sonnet 5.5 2652b428cd Use the fork notes as README.md
Replaces the upstream README (PyPI badges, upstream docs links) with the fork
notes plus a short 'Running' section. FORK.md is removed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 15:05:51 +02:00
davideandClaude Sonnet 5.5 c9420955df FORK.md: history is a snapshot, explain how to apply upstream changes
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 15:04:11 +02:00
davideandClaude Sonnet 5.5 137eb78f45 Drop altcoin pip extras, CI deps and docs; update CLAUDE.md and FORK.md
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 15:03:56 +02:00
davideandClaude Sonnet 5.5 05f5fc9058 Remove altcoin-only server and tx code
Deletes the transaction deserializers of other coins (tx.py keeps only the
Bitcoin/segwit ones), tx_dash.py, tx_axe.py, and the session, daemon and block
processor subclasses that only other coins used.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 15:03:56 +02:00
davideandClaude Sonnet 5.5 73c96101bd Remove all coins except Palladium
coins.py keeps only Coin and the Palladium classes. The Bitcoin base class is
folded into Palladium. COIN now defaults to Palladium.

Tests and fixtures of the other coins are removed. test_blocks.py and
test_transactions.py are simplified: one test each, fed by the palladium
fixtures.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 15:03:56 +02:00
davideandClaude Sonnet 5.5 671a94cf4e Document the fork: upstream base commit and Palladium specifics
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 15:03:56 +02:00
davideandClaude Sonnet 5.5 aa9d2f03be Add CLAUDE.md
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 15:03:56 +02:00
davideandClaude Sonnet 5.5 26aac61cae Add Palladium (PLM) coin
Palladium, PalladiumTestnet and PalladiumRegtest, with parameters from
palladiumcore (address prefixes, RPC ports, genesis hashes). The daemon
version/index requirements of the Bitcoin class are disabled, as Palladium Core
is based on Bitcoin Core 0.19.

Tests: chain params, address -> hashX, and mainnet block/transaction fixtures
taken from a synced node. The altcoin transaction test skips the address check
for witness outputs, as bech32 is not supported by Coin.address_to_hashX.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 15:03:56 +02:00
davide 384d907c65 Initial commit: snapshot of spesmilo/electrumx 2.0.0
Unmodified source tree of upstream commit 280cb339aa158e099eb936033eecd15719770651
("Merge pull request #389 from SomberNight/202607_release_2_0",
https://github.com/spesmilo/electrumx, release 2.0.0, 3 July 2026).

All Palladium-specific changes are in the commits that follow.
2026-10-22 15:03:56 +02:00