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.
This commit is contained in:
commit
384d907c65
271 files changed
+27905
No files matched your search
@@ -0,0 +1,4 @@
|
||||
<!-- Note: Our primary focus is supporting Bitcoin, and contributions in that regard are appreciated the most!
|
||||
Due to historical reasons, ElectrumX also has support for many altcoins. These will be kept as long as
|
||||
maintenance burden can be kept *at a minimum*. When adding a new altcoin, (1) add a unit test (see tests/blocks),
|
||||
and (2) make sure the CI tests pass. -->
|
||||
@@ -0,0 +1,108 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
branches: [master]
|
||||
workflow_dispatch: # https://docs.github.com/en/actions/how-tos/manage-workflow-runs/manually-run-a-workflow
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
# if a PR gets force pushed, cancel the current run and run the new one
|
||||
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
||||
|
||||
jobs:
|
||||
unittests:
|
||||
name: unittests
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Install system packages
|
||||
run: |
|
||||
sudo apt-get -qq update
|
||||
sudo apt-get install -yq libsnappy-dev zlib1g-dev libbz2-dev libgflags-dev liblz4-dev librocksdb-dev libleveldb-dev libboost-all-dev libsodium-dev
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.14'
|
||||
cache: 'pip'
|
||||
cache-dependency-path: 'pyproject.toml'
|
||||
|
||||
- name: Log Python version and Git tag
|
||||
run: |
|
||||
python3 --version
|
||||
git tag
|
||||
|
||||
- name: Install Python deps
|
||||
run: |
|
||||
# test framework -related deps
|
||||
pip install pycodestyle
|
||||
pip install pytest-asyncio
|
||||
pip install pytest-cov
|
||||
pip install Sphinx
|
||||
# e-x itself
|
||||
# - install both leveldb and rocksdb bindings
|
||||
pip install ".[leveldb,rocksdb]"
|
||||
# hashes and other altcoin-specific stuff
|
||||
pip install tribushashm
|
||||
pip install blake256
|
||||
pip install dash_hash
|
||||
pip install git+https://github.com/bitcoinplusorg/x13-hash
|
||||
pip install xevan_hash
|
||||
pip install quark_hash
|
||||
pip install groestlcoin_hash
|
||||
pip install x16r_hash
|
||||
pip install pycryptodomex
|
||||
pip install git+https://github.com/Electra-project/nist5_hash
|
||||
pip install x16rv2_hash
|
||||
|
||||
- name: Run pytest
|
||||
run: pytest --cov=electrumx
|
||||
|
||||
pycodestyle:
|
||||
name: pycodestyle
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.14'
|
||||
cache: 'pip'
|
||||
|
||||
- name: Install pycodestyle
|
||||
run: pip install pycodestyle
|
||||
|
||||
- name: Run pycodestyle
|
||||
run: |
|
||||
pycodestyle \
|
||||
--max-line-length=140 \
|
||||
src
|
||||
|
||||
build_docs:
|
||||
# note: this build task is not related to read-the-docs; it is only here to sanity-check the docs can be built.
|
||||
# For the read-the-docs build, see .readthedocs.yml
|
||||
# and the webhook set up in https://github.com/spesmilo/electrumx/settings/hooks
|
||||
name: build_docs
|
||||
runs-on: ubuntu-24.04
|
||||
env:
|
||||
LC_ALL: "C"
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.14'
|
||||
cache: 'pip'
|
||||
cache-dependency-path: 'docs/requirements-docs.txt'
|
||||
|
||||
- name: Install docs deps
|
||||
run: pip install -r docs/requirements-docs.txt
|
||||
|
||||
- name: Build docs
|
||||
run: |
|
||||
cd docs
|
||||
make html
|
||||
Reference in new issue
Block a user