feat: add complete Palladium testnet support to ElectrumX

This commit implements full support for both Palladium mainnet and testnet
networks in ElectrumX, allowing users to switch between them via configuration.

Changes:
- Dockerfile: Fixed coin class registration by adding Palladium classes
  directly to coins.py instead of using external imports (avoids circular
  dependency). Both /usr/local/lib and /electrumx/src files are patched.
  Added required TX_COUNT, TX_COUNT_HEIGHT, TX_PER_BLOCK attributes.

- README.md: Updated with comprehensive network support documentation
  including network comparison table, step-by-step switching instructions,
  testnet-specific information, and corrected COIN/NET usage.

- docker-compose.yml: Configured for testnet with proper COIN and NET
  environment variables. Added clear comments for mainnet/testnet switching.

Network Configuration:
- Mainnet: COIN="Palladium" NET="mainnet" port 2332
- Testnet: COIN="Palladium" NET="testnet" port 12332
  (Note: COIN value is always "Palladium" for both networks)

Tested successfully with Palladium testnet node - synced 6,576 blocks
and serving on TCP:50001 and SSL:50002.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-28 13:24:42 +01:00
parent 61ffb0729c
commit 9000278f17
3 changed files with 86 additions and 24 deletions

View File

@@ -11,15 +11,15 @@ services:
environment:
# ===== Network Configuration =====
# For MAINNET use: COIN: "Palladium" and DAEMON_URL port 2332
# For TESTNET use: COIN: "PalladiumTestnet" and DAEMON_URL port 12332
# NOTE: Do not set NET manually - it is automatically set by the COIN class
# For MAINNET use: COIN: "Palladium", NET: "mainnet" and DAEMON_URL port 2332
# For TESTNET use: COIN: "Palladium", NET: "testnet" and DAEMON_URL port 12332
COIN: "Palladium" # Change to "PalladiumTestnet" for testnet
COIN: "Palladium" # Always "Palladium" for both networks
NET: "testnet" # Change to "mainnet" for mainnet
# Palladium Core RPC connection
# MAINNET: port 2332 | TESTNET: port 12332
DAEMON_URL: "http://<rpcuser>:<rpcpassword>@host.docker.internal:2332/" # RPC credentials
DAEMON_URL: "http://rpcuser:rpcpassword@host.docker.internal:12332/" # RPC credentials
SERVICES: "tcp://0.0.0.0:50001,ssl://0.0.0.0:50002"