debug
Erigon RPC debug Namespace: Deep Diagnostics and State Introspection
The debug namespace provides debugging and diagnostic methods for Erigon node operators and developers. These methods offer deep introspection into blockchain state, transaction execution, and node performance. The debug namespace is implemented through the PrivateDebugAPI interface and DebugAPIImpl struct.
The debug namespace must be explicitly enabled using the --http.api flag when starting the RPC daemon. For security reasons, these methods are considered private and should not be exposed on public RPC endpoints.
For API usage refer to the below official resources:
Security and Access Control
Debug methods are considered private and should not be exposed on public RPC endpoints;
These methods can consume significant resources and should be used carefully in production environments;
Access should be restricted to trusted operators and developers only.
Performance Considerations
Tracing methods (
debug_traceTransaction,debug_traceBlockByHash, etc.) support streaming to handle large results efficiently;The
AccountRangeMaxResultsconstant limits account range queries to 8192 results, or 256 when storage is included;Memory and GC control methods allow fine-tuning of node performance.
Integration with Erigon Architecture
Debug methods leverage Erigon's temporal database for historical state access;
The implementation uses
kv.TemporalRoDBfor efficient historical queries;Tracing functionality integrates with Erigon's execution engine and EVM implementation.
Usage in Development and Testing
These methods are essential for debugging transaction execution issues;
Storage range methods help analyze contract state changes;
Memory management methods assist in performance optimization and resource monitoring.
Last updated
Was this helpful?