Use this guide when you want a local development checkout for the Python node and the Rust command-line components.
| Tool | Minimum | Used for |
|---|---|---|
| Python | 3.11+ recommended | Node, tests, wallet GUI, scripts |
| pip | Bundled with Python | Python dependency installation |
| Rust | 1.70+ | Rust miner and native wallet crates |
| Cargo | Bundled with Rust | Rust builds and checks |
| curl | Any recent version | API smoke tests |
| Git | Any recent version | Checkout and contribution workflow |
Protocol Buffers are not required for the checked-in Python node, Rust miner, or
Rust wallet paths documented here. Install protoc only if a specific future
subproject or integration README asks for it.
git clone https://github.com/Scottcjn/Rustchain.git
cd RustchainLinux and macOS:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt -r requirements-node.txtWindows PowerShell:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -r requirements.txt -r requirements-node.txtVerify the key entry points parse correctly:
python -m py_compile node/wsgi.py node/rustchain_v2_integrated_v2.2.1_rip200.py wallet/__main__.pyRustChain has multiple Rust subprojects, not one top-level Cargo workspace. Build
or check the component you are changing with --manifest-path.
Check the miner:
cargo check --manifest-path rustchain-miner/Cargo.tomlBuild the miner:
cargo build --release --manifest-path rustchain-miner/Cargo.tomlCheck the native wallet:
cargo check --manifest-path rustchain-wallet/Cargo.tomlBuild the native wallet:
cargo build --release --manifest-path rustchain-wallet/Cargo.toml --bin rtc-walletFor docs-only changes:
git diff --checkFor Python node or wallet changes:
python -m py_compile node/wsgi.py node/rustchain_v2_integrated_v2.2.1_rip200.py wallet/__main__.pyFor Rust miner or wallet changes:
cargo check --manifest-path rustchain-miner/Cargo.toml
cargo check --manifest-path rustchain-wallet/Cargo.tomlRun narrower tests for the files you touched when possible. The repository is large, so prefer focused validation plus any maintainer-requested CI checks.