بنقرة واحدة
erigon-network-ports
// Reference for all Erigon network ports. Use this when running multiple Erigon instances to avoid port conflicts. Lists every CLI flag that binds a port, its default value, and the protocol used.
// Reference for all Erigon network ports. Use this when running multiple Erigon instances to avoid port conflicts. Lists every CLI flag that binds a port, its default value, and the protocol used.
Run the full Erigon test suite locally using GOGC=80 make test-all. Use this before marking a PR ready for review. Equivalent to the "All tests" CI workflow.
Run Erigon tests with Go race detector to find data races and concurrency bugs. Use this for concurrency-sensitive changes (parallel executor, p2p, txpool). Takes 30-60 minutes.
Run Erigon CI checks locally and/or trigger them remotely on a branch via GitHub Actions workflow_dispatch. Use this when you need to verify a branch passes all CI before or after pushing — especially for branches like bal-devnet-2 that don't auto-trigger on push/PR events.
Implement a new EIP for a hardfork under development in Erigon. Use when the user asks to implement, port, or wire up an EIP — covers spec lookup, dep analysis, prior-work check, implementation, lint, tests, and a wrap-up saved to `agentspecs/`.
Run benchmarkoor performance benchmarks against a locally-built Erigon binary and produce per-test MGas/s comparison tables. Covers image build, dataset reset, run invocation, result parsing, and before/after comparisons.
Run an ephemeral Erigon instance with a temporary datadir. Use this whenever the user wants to spin up a temporary, throwaway, or sandboxed Erigon node for quick testing, launch a second Erigon instance alongside an existing one, clone a datadir into a temp copy for safe experimentation, or find and clean up leftover ephemeral datadirs and processes from previous sessions. Handles port conflict detection and automatic port offsetting. Trigger on any mention of temporary/throwaway/ephemeral/disposable Erigon instances, running erigon briefly for testing or debugging, starting a second/additional erigon node, or cleaning up old temp erigon data.
| name | erigon-network-ports |
| user-invocable | false |
| description | Reference for all Erigon network ports. Use this when running multiple Erigon instances to avoid port conflicts. Lists every CLI flag that binds a port, its default value, and the protocol used. |
| allowed-tools | Bash |
When running multiple Erigon instances on the same machine, every listening port must be unique per instance. Erigon will fail at startup if any port is already in use, reporting bind: address already in use.
| CLI Flag | Default | Protocol | Description |
|---|---|---|---|
--private.api.addr | 127.0.0.1:9090 | TCP (gRPC) | Internal gRPC API for component communication (txpool, rpcdaemon, sentry, downloader) |
--http.port | 8545 | TCP | JSON-RPC HTTP server |
--authrpc.port | 8551 | TCP | Engine API (consensus layer auth RPC) |
--ws.port | 8546 | TCP | WebSocket RPC server |
--torrent.port | 42069 | TCP+UDP | BitTorrent protocol for snapshot downloads |
--port | 30303 | TCP+UDP | DevP2P network listening port (all eth versions multiplexed) |
--caplin.discovery.port | 4000 | UDP | Caplin consensus DISCV5 discovery |
--caplin.discovery.tcpport | 4001 | TCP | Caplin consensus DISCV5 TCP |
--sentinel.port | 7777 | TCP | Sentinel (consensus p2p service) |
--beacon.api.port | 5555 | TCP | Beacon Chain REST API |
--mcp.port | 8553 | TCP | MCP (Model Context Protocol) RPC server |
| CLI Flag | Default | Protocol | Description |
|---|---|---|---|
--pprof.port | 6060 | TCP | Go pprof profiling HTTP server (requires --pprof) |
--metrics.port | 6061 | TCP | Prometheus metrics HTTP server (requires --metrics) |
Instance 1 (using defaults):
./build/bin/erigon --datadir /path/to/datadir1
Instance 2 (all ports offset by +100):
./build/bin/erigon --datadir /path/to/datadir2 \
--private.api.addr=127.0.0.1:9190 \
--http.port=8645 \
--authrpc.port=8651 \
--ws.port=8646 \
--torrent.port=42169 \
--port=30403 \
--caplin.discovery.port=4100 \
--caplin.discovery.tcpport=4101 \
--sentinel.port=7877 \
--beacon.api.port=5655 \
--mcp.port=8653
--private.api.addr takes a full host:port value, not just a port number.--pprof or --metrics are enabled on both instances, their ports must also differ.