Debug EVM Transactions
Overview
UOMI provides advanced transaction tracing capabilities through Geth's debug APIs and OpenEthereum's trace module. These non-standard RPC methods offer deep insights into transaction processing and execution.
Available Debug Methods
debug_traceTransaction
Replays a transaction in the exact manner it was executed on the network.
Optional parameters:
disableStorage
: (default: false) Disables storage capturedisableMemory
: (default: false) Disables memory capturedisableStack
: (default: false) Disables stack capture
debug_traceBlock
Returns a full stack trace of all invoked opcodes for all transactions in a block.
Variants:
debug_traceBlockByHash
debug_traceBlockByNumber
debug_traceCall
Executes an eth-call-like operation within the context of a given block.
trace_filter
Filters and retrieves trace data based on specific criteria.
Parameters:
fromBlock
: Starting block numbertoBlock
: Ending block numberfromAddress
: Filter transactions from these addressestoAddress
: Filter transactions to these addressesafter
: Trace offset (default: 0)count
: Number of traces to return
⚠️ Important Limits
Maximum 500 trace entries per request
Trace cache duration: 300 seconds
Running a Debug Node
To access these debugging features, you need to run a node with specific debug flags enabled.
Required Flags
Optional Configurations
Transaction Pool API
Check the transaction pool status:
💡 Note The
txpool
API requires the--ethapi=txpool
flag when starting the node.
Best Practices
Node Configuration
Enable only the debug features you need
Consider memory usage when setting cache sizes
Monitor node performance with tracing enabled
API Usage
Use specific filters to limit data returned
Consider pagination for large trace requests
Cache commonly requested trace data
Common Issues
Request Timeout: Reduce the trace range or add more filters
Memory Issues: Adjust cache size and duration
Missing Data: Verify node sync status and cache duration
Last updated