16-checkpoint batches
Checkpoint catch-up is paginated in bounded batches. A peer keeps only one getblocks request outstanding per session and verifies exact contiguous continuation.
WildRoot keeps network roles separated and defaults sensitive interfaces to loopback. Operators intentionally expose only the services required by their deployment.
These are the current default mainnet ports. Runtime settings can change binds and limits. Stratum now defaults to loopback and requires explicit operator configuration for public exposure.
| Service | Port | Purpose | Default bind |
|---|---|---|---|
| P2P | 17321 | Peer-to-peer node transport | 0.0.0.0 |
| Integration RPC | 17322 | Native integration / operator RPC | 127.0.0.1 |
| Stratum | 17323 | Solo / pool mining interface | 127.0.0.1 |
| EVM HTTP | 17324 | Ethereum-compatible JSON-RPC | 127.0.0.1 |
| EVM WebSocket | 17325 | EVM subscriptions and live clients | 127.0.0.1 |
| Explorer | 17326 | Local Explorer API/UI service | 127.0.0.1 |
When multiple WildRoot nodes use separate custom data directories on one machine, the runtime probes wildcard and loopback scopes and allocates one common numeric offset for all six services. A second node can therefore move from 17321–17326 to 17327–17332 instead of colliding with another local WildRoot service.
Persisted custom-datadir settings are reallocated when their stored bundle is already occupied by another process.
P2P tcp://NODE_IP:17321
Integration http://127.0.0.1:17322
Stratum stratum+tcp://127.0.0.1:17323
EVM HTTP http://127.0.0.1:17324
EVM WS ws://127.0.0.1:17325
Explorer http://127.0.0.1:17326Checkpoint catch-up is paginated in bounded batches. A peer keeps only one getblocks request outstanding per session and verifies exact contiguous continuation.
A newly active local checkpoint is announced immediately to a lagging peer, while the periodic heartbeat remains a liveness and equal-height fork-repair fallback.
A session does not reflect checkpoints learned from its source peer back to that same peer. This prevents tip-message storms during fast historical catch-up.
P2P uses length-prefixed JSON frames with a 2 MiB frame cap, timeouts, inbound limits, per-peer message/byte budgets, separate expensive-sync budgets and bounded block/DAG/address/transaction page sizes. Unsolicited block/frontier/DAG response floods are rejected.
Peer discovery persists in the compressed binary state/peers.bin. DNS SRV bootstrap is supported through _wildroot._tcp.seed.wildrootcore.com, with manual peers available as well.
state/peers.binseed.wildrootcore.com