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>
This commit is contained in:
1 parent
c9420955df
commit
2652b428cd
3 files changed
+62
-63
No files matched your search
@@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
|
||||
## Project
|
||||
|
||||
`plm-electrumx`: a fork of ElectrumX 2.0.x (package name `e-x`, import name `electrumx`), an Electrum-protocol server (asyncio) that indexes a coin daemon into a local DB (LevelDB or RocksDB), supporting **Palladium (PLM) only**. All other coins and their code were removed (see `FORK.md` for the upstream base commit and how to merge upstream). Keep changes to core files small so upstream merges stay easy. MIT license: keep `LICENCE`.
|
||||
`plm-electrumx`: a fork of ElectrumX 2.0.x (package name `e-x`, import name `electrumx`), an Electrum-protocol server (asyncio) that indexes a coin daemon into a local DB (LevelDB or RocksDB), supporting **Palladium (PLM) only**. All other coins and their code were removed (see the "Fork notes" in `README.md` for the upstream base commit and how to merge upstream). Keep changes to core files small so upstream merges stay easy. MIT license: keep `LICENCE`.
|
||||
|
||||
## Commands
|
||||
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
# Fork notes
|
||||
|
||||
`plm-electrumx` is a fork of [spesmilo/electrumx](https://github.com/spesmilo/electrumx) adapted to
|
||||
Palladium (PLM), the coin of [palladiumcore](https://github.com/palladium-coin/palladiumcore).
|
||||
|
||||
## Starting point
|
||||
|
||||
The first commit of this repository is an unmodified snapshot of upstream
|
||||
[spesmilo/electrumx](https://github.com/spesmilo/electrumx) at commit
|
||||
`280cb339aa158e099eb936033eecd15719770651`
|
||||
("Merge pull request #389 from SomberNight/202607_release_2_0", upstream release 2.0.0, 3 July 2026).
|
||||
The upstream history itself is not included. All Palladium-specific changes are in the commits after it:
|
||||
|
||||
git log --reverse
|
||||
|
||||
## Updating from upstream
|
||||
|
||||
There is no common git history with upstream, so `git merge` does not work. Apply the upstream
|
||||
changes since the snapshot as a patch instead:
|
||||
|
||||
git remote add upstream https://github.com/spesmilo/electrumx.git # once
|
||||
git fetch upstream
|
||||
git log 280cb33..upstream/master --oneline # what changed upstream
|
||||
git diff 280cb33 upstream/master | git apply --3way
|
||||
|
||||
Conflicts in files this fork deleted (see below) are resolved by keeping them deleted. After an update,
|
||||
replace `280cb33` above with the new upstream commit that was applied.
|
||||
|
||||
## Removed from upstream
|
||||
|
||||
All other coins: their classes in `coins.py`, their transaction deserializers (`lib/tx.py`,
|
||||
`tx_dash.py`, `tx_axe.py`), the session/daemon/block-processor subclasses only they used, their
|
||||
tests and fixtures, and the altcoin pip extras. `Bitcoin` was folded into `Palladium`.
|
||||
When merging upstream, resolve modify/delete conflicts on these files by keeping them deleted.
|
||||
|
||||
## Palladium specifics
|
||||
|
||||
- Palladium Core is based on Bitcoin Core 0.19. It has no `getindexinfo`, `txospenderindex` or
|
||||
`submitpackage`, so the daemon version/index checks are disabled for `COIN=Palladium`, and
|
||||
`blockchain.outpoint.subscribe` and `blockchain.transaction.broadcast_package` return a daemon
|
||||
error to clients.
|
||||
- The daemon must run with `txindex=1`.
|
||||
- Same genesis blocks as Bitcoin (mainnet, testnet3, regtest), 80-byte headers, sha256d PoW, segwit.
|
||||
- Parameters were taken from `src/chainparams.cpp` and `src/chainparamsbase.cpp` of palladiumcore.
|
||||
@@ -1,31 +1,74 @@
|
||||
# ElectrumX - python electrum server
|
||||
# plm-electrumx
|
||||
|
||||
```
|
||||
Licence: MIT
|
||||
Original Author: Neil Booth
|
||||
Current Maintainers: The Electrum developers
|
||||
Upstream Maintainers: The Electrum developers
|
||||
Language: Python (>= 3.10)
|
||||
```
|
||||
|
||||
[](https://pypi.org/project/e-x/)
|
||||
[](https://github.com/spesmilo/electrumx/actions/workflows/ci.yml)
|
||||
`plm-electrumx` is an [Electrum](https://electrum.org) protocol server for Palladium (PLM), the coin of
|
||||
[palladiumcore](https://github.com/palladium-coin/palladiumcore). It is a fork of
|
||||
[spesmilo/electrumx](https://github.com/spesmilo/electrumx) that supports Palladium only.
|
||||
It connects to your Palladium full node and indexes the blockchain, allowing efficient querying of
|
||||
the history of arbitrary addresses.
|
||||
|
||||
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.
|
||||
## Running
|
||||
|
||||
ElectrumX allows users to run their own Electrum server. It connects to your
|
||||
full node and indexes the blockchain, allowing efficient querying of the 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.
|
||||
Requirements: Python >= 3.10, a synced Palladium node with `server=1` and `txindex=1` (no pruning),
|
||||
and one of the DB engines (`pip install ".[leveldb]"` or `pip install ".[rocksdb]"`).
|
||||
|
||||
### Documentation
|
||||
pip install ".[rocksdb]"
|
||||
DB_ENGINE=rocksdb DB_DIRECTORY=/path/to/db \
|
||||
DAEMON_URL=http://rpcuser:rpcpassword@127.0.0.1:2332/ \
|
||||
SERVICES=tcp://:50001 electrumx_server
|
||||
|
||||
See [readthedocs](https://electrumx-spesmilo.readthedocs.io).
|
||||
`COIN` defaults to `Palladium` and `NET` to `mainnet` (`testnet` and `regtest` are also available).
|
||||
All settings are environment variables, documented in `docs/environment.rst`; `docs/HOWTO.rst`
|
||||
describes a full installation.
|
||||
|
||||
### Releases
|
||||
## Fork notes
|
||||
|
||||
Running from the latest git tag is always a safe bet, for which there are also releases on PyPI:
|
||||
```
|
||||
$ pip install e-x
|
||||
```
|
||||
### Starting point
|
||||
|
||||
The first commit of this repository is an unmodified snapshot of upstream
|
||||
[spesmilo/electrumx](https://github.com/spesmilo/electrumx) at commit
|
||||
`280cb339aa158e099eb936033eecd15719770651`
|
||||
("Merge pull request #389 from SomberNight/202607_release_2_0", upstream release 2.0.0, 3 July 2026).
|
||||
The upstream history itself is not included. All Palladium-specific changes are in the commits after it:
|
||||
|
||||
git log --reverse
|
||||
|
||||
### Updating from upstream
|
||||
|
||||
There is no common git history with upstream, so `git merge` does not work. Apply the upstream
|
||||
changes since the snapshot as a patch instead:
|
||||
|
||||
git remote add upstream https://github.com/spesmilo/electrumx.git # once
|
||||
git fetch upstream
|
||||
git log 280cb33..upstream/master --oneline # what changed upstream
|
||||
git diff 280cb33 upstream/master | git apply --3way
|
||||
|
||||
Conflicts in files this fork deleted (see below) are resolved by keeping them deleted. After an update,
|
||||
replace `280cb33` above with the new upstream commit that was applied.
|
||||
|
||||
### Removed from upstream
|
||||
|
||||
All other coins: their classes in `coins.py`, their transaction deserializers (`lib/tx.py`,
|
||||
`tx_dash.py`, `tx_axe.py`), the session/daemon/block-processor subclasses only they used, their
|
||||
tests and fixtures, and the altcoin pip extras. `Bitcoin` was folded into `Palladium`.
|
||||
When merging upstream, resolve modify/delete conflicts on these files by keeping them deleted.
|
||||
|
||||
### Palladium specifics
|
||||
|
||||
- Palladium Core is based on Bitcoin Core 0.19. It has no `getindexinfo`, `txospenderindex` or
|
||||
`submitpackage`, so the daemon version/index checks are disabled for `COIN=Palladium`, and
|
||||
`blockchain.outpoint.subscribe` and `blockchain.transaction.broadcast_package` return a daemon
|
||||
error to clients.
|
||||
- The daemon must run with `txindex=1`.
|
||||
- Same genesis blocks as Bitcoin (mainnet, testnet3, regtest), 80-byte headers, sha256d PoW, segwit.
|
||||
- Parameters were taken from `src/chainparams.cpp` and `src/chainparamsbase.cpp` of palladiumcore.
|
||||
|
||||
## License
|
||||
|
||||
MIT, see `LICENCE`. The original copyright notices of ElectrumX are kept.
|
||||
Reference in new issue
Block a user