Contributions that improve the deployment, diagnostics, or documentation are welcome.
- Do not commit a real public node address, Quicknode peer address, endpoint, credential,
.envfile, rendered configuration, or captured node output. - Keep Docker Compose as the supported deployment path.
- Preserve the fail-closed configuration, readiness, isolation, and pruning checks.
- Explain any change to the Dockerfile, Compose topology, node flags, volume boundaries, signature verification, or pruning allowlist.
- Include live Ubuntu 24.04 validation for runtime behavior changes. Redact all infrastructure identifiers from the evidence.
Run the syntax and Compose checks used by CI:
bash -n scripts/*.sh
PYTHONPYCACHEPREFIX=/tmp/hyperliquid-peering-pycache \
python3 -m py_compile scripts/*.py
docker compose --env-file .env.example config --quietThese checks read .env.example directly. Never copy it over a configured .env; that would overwrite your peer settings.
The checked-in placeholders must continue to fail the runtime configuration gate. A positive Quicknode-mode test requires privately supplied, allowlisted values and must never print or commit them.
Runtime changes should also repeat the relevant checks from the README: image build, clean Compose startup, readiness, peer isolation, persistence, retention, and recovery.
Keep pull requests focused, describe the operator-visible impact, list the commands you ran, and call out any behavior that still needs Infrastructure or Product confirmation.