debug namespace
debug_deleteChainSlice
Deletes chain levels on all branches (Nethermind specific). Requires paused, drained processing, no active initial synchronization, and preserves historical sync progress, including when forced. Deletion at or below the sync pivot requires completed historical sync; a deleted pivot is moved to the surviving head. When replacing the head, the preceding block must be canonical with its body and processing state available. Returns invalid-params for an invalid range or resource-unavailable when maintenance is unsafe.
- Parameters
- Request
- Response
-
startNumber: string (hex integer) -
force: boolean
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_deleteChainSlice",
"params": [startNumber, force]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: integer
debug_executionWitness
Reprocesses the existing block with the parameters specified and returns the generated execution witness.
- Parameters
- Request
- Response
blockParameter: string (block number or hash or either ofearliest,finalized,latest,pending, orsafe)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_executionWitness",
"params": [blockParameter]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: object
codes: array of string (hex data)headers: array of string (hex data)keys: array of string (hex data)state: array of string (hex data)
debug_getBadBlocks
Return list of invalid blocks.
- Request
- Response
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getBadBlocks",
"params": []
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: array of object
block: objectauthor: string (address)baseFeePerGas: string (hex integer)blobGasUsed: string (hex integer)blockAccessListHash: string (hash)difficulty: string (hex integer)excessBlobGas: string (hex integer)extraData: string (hex data)gasLimit: string (hex integer)gasUsed: string (hex integer)hash: string (hash)logsBloom: string (hex data)miner: string (address)mixHash: string (hash)nonce: string (8-byte hex data)number: string (hex integer)parentBeaconBlockRoot: string (hash)parentHash: string (hash)receiptsRoot: string (hash)requestsHash: string (hash)sha3Uncles: string (hash)signature: string (hex data)size: string (hex integer)slotNumber: string (hex integer)stateRoot: string (hash)step: integertimestamp: string (hex integer)totalDifficulty: string (hex integer)transactions: objectfull: array of objectblockHash: string (hash)blockNumber: string (hex integer)blockTimestamp: string (hex integer)gas: string (hex integer)hash: string (hash)transactionIndex: string (hex integer)type: string (transaction type)
hashes: array of string (hash)
transactionsRoot: string (hash)uncles: array of string (hash)withdrawals: array of objectaddress: string (address)amount: string (hex integer)index: string (hex integer)validatorIndex: string (hex integer)
withdrawalsRoot: string (hash)
generatedBlockAccessList: objectaccountChanges: array of objectaddress: string (address)balanceChanges: array of objectindex: integervalue: string (hex integer)
codeChanges: array of objectcode: string (hex data)codeHash: string (hash)index: integer
nonceChanges: array of objectindex: integervalue: string (hex integer)
storageChanges: array of objectchanges: array of objectindex: integervalue: string (hex integer)
key: string (hex integer)
storageReads: array of string (hex integer)
itemCount: integer
hash: string (hash)rlp: string (hex data)
debug_getChainLevel
Retrieves a representation of tree branches on a given chain level (Nethermind specific).
- Parameters
- Request
- Response
number: string (hex integer)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getChainLevel",
"params": [number]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: object
blockInfos: array of objectblockHash: string (hash)isFinalized: booleantotalDifficulty: string (hex integer)wasProcessed: boolean
hasBlockOnMainChain: boolean
debug_getConfigValue
Retrieves the Nethermind configuration value, e.g. JsonRpc.Enabled
- Parameters
- Request
- Response
-
category: string -
name: string
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getConfigValue",
"params": [category, name]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: object
result may be null in a successful response.
debug_getRawBlock
Get Raw Block format.
- Parameters
- Request
- Response
blockParameter: string (block number or hash or either ofearliest,finalized,latest,pending, orsafe)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getRawBlock",
"params": [blockParameter]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: string (hex data)
debug_getRawBlockAccessList
Get raw block access list format.
- Parameters
- Request
- Response
blockParameter: string (block number or hash or either ofearliest,finalized,latest,pending, orsafe)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getRawBlockAccessList",
"params": [blockParameter]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: object
memory: string (hex data)
debug_getRawHeader
Get Raw Header format.
- Parameters
- Request
- Response
blockParameter: string (block number or hash or either ofearliest,finalized,latest,pending, orsafe)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getRawHeader",
"params": [blockParameter]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: string (hex data)
debug_getRawReceipts
Get Raw Receipt format.
- Parameters
- Request
- Response
blockParameter: string (block number or hash or either ofearliest,finalized,latest,pending, orsafe)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getRawReceipts",
"params": [blockParameter]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: object
debug_getRawTransaction
Get Raw Transaction format.
- Parameters
- Request
- Response
transactionHash: string (hash)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getRawTransaction",
"params": [transactionHash]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: string (hex data)
result may be null in a successful response.
debug_getSyncStage
Retrieves Nethermind Sync Stage, With extra Metadata
- Request
- Response
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getSyncStage",
"params": []
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: object
currentStage: string
debug_insertReceipts
Insert receipts for the block after verifying receipts root correctness.
- Parameters
- Request
- Response
-
blockParameter: string (block number or hash or either ofearliest,finalized,latest,pending, orsafe) -
receiptForRpc: array of object
blobGasPrice: string (hex integer)blobGasUsed: string (hex integer)blockGasUsed: string (hex integer)blockHash: string (hash)blockNumber: string (hex integer)contractAddress: string (address)cumulativeGasUsed: string (hex integer)effectiveGasPrice: string (hex integer)executionGasUsed: string (hex integer)frameReceipts: array of objectexecutionGasUsed: string (hex integer)gasUsed: string (hex integer)logs: array of objectaddress: string (address)blockHash: string (hash)blockNumber: string (hex integer)blockTimestamp: string (hex integer)data: string (hex data)logIndex: string (hex integer)removed: booleantopics: array of string (hash)transactionHash: string (hash)transactionIndex: string (hex integer)
stateGasUsed: string (hex integer)status: integer
from: string (address)gasUsed: string (hex integer)logs: array of objectaddress: string (address)blockHash: string (hash)blockNumber: string (hex integer)blockTimestamp: string (hex integer)data: string (hex data)logIndex: string (hex integer)removed: booleantopics: array of string (hash)transactionHash: string (hash)transactionIndex: string (hex integer)
logsBloom: string (hex data)payer: string (address)root: string (hash)status: string (hex integer)storageGasUsed: string (hex integer)to: string (address)transactionHash: string (hash)transactionIndex: string (hex integer)type: string (transaction type)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_insertReceipts",
"params": [blockParameter, receiptForRpc]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: boolean
debug_intermediateRoots
Replays a block and returns the world-state root after each transaction in execution order. EIP-4788/EIP-2935 system calls and withdrawals do not produce an entry. Failed transactions still produce a root (geth partial-result semantics). The block must be canonical or in the bad-block store.
- Parameters
- Request
- Response
-
blockHash: string (hash) -
options: objectblockOverrides: objectbaseFeePerGas: string (hex integer)blobBaseFee: string (hex integer)feeRecipient: string (address)gasLimit: string (hex integer)number: string (hex integer)prevRandao: string (hash)time: string (hex integer)
disableMemory: booleandisableStack: booleandisableStorage: booleanenableMemory: booleanenableReturnData: booleanlimit: integerstateOverrides: map of objectbalance: string (hex integer)code: string (hex data)hasStateChanges: booleanmovePrecompileToAddress: string (address)nonce: string (hex integer)state: map of string (hash)stateDiff: map of string (hash)
streamMode: booleantimeout: string (duration)tracer: stringtracerConfig: objecttxHash: string (hash)txIndex: string (hex integer)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_intermediateRoots",
"params": [blockHash, options]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: array of string (hash)
debug_migrateReceipts
Sets the block number up to which receipts will be migrated to (Nethermind specific).
- Parameters
- Request
- Response
-
from: string (hex integer) -
to: string (hex integer)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_migrateReceipts",
"params": [from, to]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: boolean
debug_resetHead
Rewinds to a canonical block with state available for block processing and prunes abandoned flat-state snapshots; returns false for an unknown hash or a refused rewind (Nethermind specific). Requires paused, drained block processing and no active initial synchronization. A target below the sync pivot is refused unless historical downloads are complete and retained progress is at or below the target; the pivot then moves with the head. Ancient backfill permits rewinds at or above the pivot.
- Parameters
- Request
- Response
blockHash: string (hash)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_resetHead",
"params": [blockHash]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: boolean
debug_setHead
Rewinds the head to a canonical block with state available for block processing, given by number, tag or hash, and prunes abandoned flat-state snapshots. Returns false for an unknown target or a refused rewind (Nethermind specific). Requires paused, drained block processing and no active initial synchronization. A target below the sync pivot is refused unless historical downloads are complete and retained progress is at or below the target; the pivot then moves with the head. Ancient backfill permits rewinds at or above the pivot.
- Parameters
- Request
- Response
blockParameter: string (block number or hash or either ofearliest,finalized,latest,pending, orsafe)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_setHead",
"params": [blockParameter]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: boolean
debug_simulateV1
Retrieves geth like traces of the simulated blocks
- Parameters
- Request
- Response
-
payload: objectblockStateCalls: array of objectblockOverrides: objectbaseFeePerGas: string (hex integer)blobBaseFee: string (hex integer)feeRecipient: string (address)gasLimit: string (hex integer)number: string (hex integer)prevRandao: string (hash)time: string (hex integer)
calls: array of objectblockHash: string (hash)blockNumber: string (hex integer)blockTimestamp: string (hex integer)gas: string (hex integer)hash: string (hash)transactionIndex: string (hex integer)type: string (transaction type)
stateOverrides: map of objectbalance: string (hex integer)code: string (hex data)hasStateChanges: booleanmovePrecompileToAddress: string (address)nonce: string (hex integer)state: map of string (hash)stateDiff: map of string (hash)
returnFullTransactionObjects: booleanreturnFullTransactions: booleantraceTransfers: booleanvalidation: boolean
-
blockParameter: string (block number or hash or either ofearliest,finalized,latest,pending, orsafe) -
options: objectblockOverrides: objectbaseFeePerGas: string (hex integer)blobBaseFee: string (hex integer)feeRecipient: string (address)gasLimit: string (hex integer)number: string (hex integer)prevRandao: string (hash)time: string (hex integer)
disableMemory: booleandisableStack: booleandisableStorage: booleanenableMemory: booleanenableReturnData: booleanlimit: integerstateOverrides: map of objectbalance: string (hex integer)code: string (hex data)hasStateChanges: booleanmovePrecompileToAddress: string (address)nonce: string (hex integer)state: map of string (hash)stateDiff: map of string (hash)
streamMode: booleantimeout: string (duration)tracer: stringtracerConfig: objecttxHash: string (hash)txIndex: string (hex integer)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_simulateV1",
"params": [payload, blockParameter, options]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: array of object
author: string (address)baseFeePerGas: string (hex integer)blobGasUsed: string (hex integer)blockAccessListHash: string (hash)difficulty: string (hex integer)excessBlobGas: string (hex integer)extraData: string (hex data)gasLimit: string (hex integer)gasUsed: string (hex integer)hash: string (hash)logsBloom: string (hex data)miner: string (address)mixHash: string (hash)nonce: string (8-byte hex data)number: string (hex integer)parentBeaconBlockRoot: string (hash)parentHash: string (hash)receiptsRoot: string (hash)requestsHash: string (hash)sha3Uncles: string (hash)signature: string (hex data)size: string (hex integer)slotNumber: string (hex integer)stateRoot: string (hash)step: integertimestamp: string (hex integer)totalDifficulty: string (hex integer)traces: array of objectcustomTracerResult: objectvalue: object
entries: array of objectdepth: integererror: stringgas: integergasCost: integermemory: array of string (32-byte hex data)op: stringpc: integerrefund: integerreturnData: stringstack: array of string (hex integer)storage: map of string (32-byte hex data)
failed: booleangas: string (hex integer)returnValue: string (hex data)txHash: string (hash)
transactions: objectfull: array of objectblockHash: string (hash)blockNumber: string (hex integer)blockTimestamp: string (hex integer)gas: string (hex integer)hash: string (hash)transactionIndex: string (hex integer)type: string (transaction type)
hashes: array of string (hash)
transactionsRoot: string (hash)uncles: array of string (hash)withdrawals: array of objectaddress: string (address)amount: string (hex integer)index: string (hex integer)validatorIndex: string (hex integer)
withdrawalsRoot: string (hash)
debug_standardTraceBadBlockToFile
This method is similar to the debug_standardTraceBlockToFile method, but can be used to obtain information about a block that has been rejected as invalid.
- Parameters
- Request
- Response
-
blockHash: string (hash) -
options: objectblockOverrides: objectbaseFeePerGas: string (hex integer)blobBaseFee: string (hex integer)feeRecipient: string (address)gasLimit: string (hex integer)number: string (hex integer)prevRandao: string (hash)time: string (hex integer)
disableMemory: booleandisableStack: booleandisableStorage: booleanenableMemory: booleanenableReturnData: booleanlimit: integerstateOverrides: map of objectbalance: string (hex integer)code: string (hex data)hasStateChanges: booleanmovePrecompileToAddress: string (address)nonce: string (hex integer)state: map of string (hash)stateDiff: map of string (hash)
streamMode: booleantimeout: string (duration)tracer: stringtracerConfig: objecttxHash: string (hash)txIndex: string (hex integer)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_standardTraceBadBlockToFile",
"params": [blockHash, options]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: array of string
debug_standardTraceBlockToFile
Writes to a file the full stack trace of all invoked opcodes of the transaction specified (or all transactions if not specified) that was included in the block specified. The parent of the block must be present or it will fail.
- Parameters
- Request
- Response
-
blockHash: string (hash) -
options: objectblockOverrides: objectbaseFeePerGas: string (hex integer)blobBaseFee: string (hex integer)feeRecipient: string (address)gasLimit: string (hex integer)number: string (hex integer)prevRandao: string (hash)time: string (hex integer)
disableMemory: booleandisableStack: booleandisableStorage: booleanenableMemory: booleanenableReturnData: booleanlimit: integerstateOverrides: map of objectbalance: string (hex integer)code: string (hex data)hasStateChanges: booleanmovePrecompileToAddress: string (address)nonce: string (hex integer)state: map of string (hash)stateDiff: map of string (hash)
streamMode: booleantimeout: string (duration)tracer: stringtracerConfig: objecttxHash: string (hash)txIndex: string (hex integer)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_standardTraceBlockToFile",
"params": [blockHash, options]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: array of string
debug_traceBlock
Returns the full stack trace of all invoked opcodes of all transactions that were included in the block specified. The parent of the block must be present or it will fail.
- Parameters
- Request
- Response
-
blockRlp: string (hex data) -
options: objectblockOverrides: objectbaseFeePerGas: string (hex integer)blobBaseFee: string (hex integer)feeRecipient: string (address)gasLimit: string (hex integer)number: string (hex integer)prevRandao: string (hash)time: string (hex integer)
disableMemory: booleandisableStack: booleandisableStorage: booleanenableMemory: booleanenableReturnData: booleanlimit: integerstateOverrides: map of objectbalance: string (hex integer)code: string (hex data)hasStateChanges: booleanmovePrecompileToAddress: string (address)nonce: string (hex integer)state: map of string (hash)stateDiff: map of string (hash)
streamMode: booleantimeout: string (duration)tracer: stringtracerConfig: objecttxHash: string (hash)txIndex: string (hex integer)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceBlock",
"params": [blockRlp, options]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: array of object
customTracerResult: objectvalue: object
entries: array of objectdepth: integererror: stringgas: integergasCost: integermemory: array of string (32-byte hex data)op: stringpc: integerrefund: integerreturnData: stringstack: array of string (hex integer)storage: map of string (32-byte hex data)
failed: booleangas: string (hex integer)returnValue: string (hex data)txHash: string (hash)
debug_traceBlockByHash
Similar to debug_traceBlock, this method accepts a block hash and replays the block that is already present in the database.
- Parameters
- Request
- Response
-
blockHash: string (hash) -
options: objectblockOverrides: objectbaseFeePerGas: string (hex integer)blobBaseFee: string (hex integer)feeRecipient: string (address)gasLimit: string (hex integer)number: string (hex integer)prevRandao: string (hash)time: string (hex integer)
disableMemory: booleandisableStack: booleandisableStorage: booleanenableMemory: booleanenableReturnData: booleanlimit: integerstateOverrides: map of objectbalance: string (hex integer)code: string (hex data)hasStateChanges: booleanmovePrecompileToAddress: string (address)nonce: string (hex integer)state: map of string (hash)stateDiff: map of string (hash)
streamMode: booleantimeout: string (duration)tracer: stringtracerConfig: objecttxHash: string (hash)txIndex: string (hex integer)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceBlockByHash",
"params": [blockHash, options]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: array of object
customTracerResult: objectvalue: object
entries: array of objectdepth: integererror: stringgas: integergasCost: integermemory: array of string (32-byte hex data)op: stringpc: integerrefund: integerreturnData: stringstack: array of string (hex integer)storage: map of string (32-byte hex data)
failed: booleangas: string (hex integer)returnValue: string (hex data)txHash: string (hash)
debug_traceBlockByNumber
Similar to debug_traceBlock, this method accepts a block number as well as "latest" or "finalized" and replays the block that is already present in the database.
- Parameters
- Request
- Response
-
blockParameter: string (block number or hash or either ofearliest,finalized,latest,pending, orsafe) -
options: objectblockOverrides: objectbaseFeePerGas: string (hex integer)blobBaseFee: string (hex integer)feeRecipient: string (address)gasLimit: string (hex integer)number: string (hex integer)prevRandao: string (hash)time: string (hex integer)
disableMemory: booleandisableStack: booleandisableStorage: booleanenableMemory: booleanenableReturnData: booleanlimit: integerstateOverrides: map of objectbalance: string (hex integer)code: string (hex data)hasStateChanges: booleanmovePrecompileToAddress: string (address)nonce: string (hex integer)state: map of string (hash)stateDiff: map of string (hash)
streamMode: booleantimeout: string (duration)tracer: stringtracerConfig: objecttxHash: string (hash)txIndex: string (hex integer)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceBlockByNumber",
"params": [blockParameter, options]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: array of object
customTracerResult: objectvalue: object
entries: array of objectdepth: integererror: stringgas: integergasCost: integermemory: array of string (32-byte hex data)op: stringpc: integerrefund: integerreturnData: stringstack: array of string (hex integer)storage: map of string (32-byte hex data)
failed: booleangas: string (hex integer)returnValue: string (hex data)txHash: string (hash)
debug_traceCall
This method lets you run an eth_call within the context of the given block execution using the final state of parent block as the base. The block can be specified either by hash or by number. It takes the same input object as a eth_call. It returns the same output as debug_traceTransaction.
- Parameters
- Request
- Response
-
call: objectblockHash: string (hash)blockNumber: string (hex integer)blockTimestamp: string (hex integer)gas: string (hex integer)hash: string (hash)transactionIndex: string (hex integer)type: string (transaction type)
-
blockParameter: string (block number or hash or either ofearliest,finalized,latest,pending, orsafe) -
options: objectblockOverrides: objectbaseFeePerGas: string (hex integer)blobBaseFee: string (hex integer)feeRecipient: string (address)gasLimit: string (hex integer)number: string (hex integer)prevRandao: string (hash)time: string (hex integer)
disableMemory: booleandisableStack: booleandisableStorage: booleanenableMemory: booleanenableReturnData: booleanlimit: integerstateOverrides: map of objectbalance: string (hex integer)code: string (hex data)hasStateChanges: booleanmovePrecompileToAddress: string (address)nonce: string (hex integer)state: map of string (hash)stateDiff: map of string (hash)
streamMode: booleantimeout: string (duration)tracer: stringtracerConfig: objecttxHash: string (hash)txIndex: string (hex integer)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceCall",
"params": [call, blockParameter, options]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: object
customTracerResult: objectvalue: object
entries: array of objectdepth: integererror: stringgas: integergasCost: integermemory: array of string (32-byte hex data)op: stringpc: integerrefund: integerreturnData: stringstack: array of string (hex integer)storage: map of string (32-byte hex data)
failed: booleangas: string (hex integer)returnValue: string (hex data)txHash: string (hash)
debug_traceCallMany
Executes a list of bundles of transactions without creating transactions on the blockchain and returns their traces
- Parameters
- Request
- Response
bundles: array of object
blockOverride: objectbaseFeePerGas: string (hex integer)blobBaseFee: string (hex integer)feeRecipient: string (address)gasLimit: string (hex integer)number: string (hex integer)prevRandao: string (hash)time: string (hex integer)
stateOverrides: map of objectbalance: string (hex integer)code: string (hex data)hasStateChanges: booleanmovePrecompileToAddress: string (address)nonce: string (hex integer)state: map of string (hash)stateDiff: map of string (hash)
transactions: array of objectblockHash: string (hash)blockNumber: string (hex integer)blockTimestamp: string (hex integer)gas: string (hex integer)hash: string (hash)transactionIndex: string (hex integer)type: string (transaction type)
-
blockParameter: string (block number or hash or either ofearliest,finalized,latest,pending, orsafe) -
options: objectblockOverrides: objectbaseFeePerGas: string (hex integer)blobBaseFee: string (hex integer)feeRecipient: string (address)gasLimit: string (hex integer)number: string (hex integer)prevRandao: string (hash)time: string (hex integer)
disableMemory: booleandisableStack: booleandisableStorage: booleanenableMemory: booleanenableReturnData: booleanlimit: integerstateOverrides: map of objectbalance: string (hex integer)code: string (hex data)hasStateChanges: booleanmovePrecompileToAddress: string (address)nonce: string (hex integer)state: map of string (hash)stateDiff: map of string (hash)
streamMode: booleantimeout: string (duration)tracer: stringtracerConfig: objecttxHash: string (hash)txIndex: string (hex integer)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceCallMany",
"params": [bundles, blockParameter, options]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: array of array of object
customTracerResult: objectvalue: object
entries: array of objectdepth: integererror: stringgas: integergasCost: integermemory: array of string (32-byte hex data)op: stringpc: integerrefund: integerreturnData: stringstack: array of string (hex integer)storage: map of string (32-byte hex data)
failed: booleangas: string (hex integer)returnValue: string (hex data)txHash: string (hash)
debug_traceTransaction
This method will attempt to run the transaction in the exact same manner as it was executed on the network. It will replay any transaction that may have been executed prior to this one before it will finally attempt to execute the transaction that corresponds to the given hash.
- Parameters
- Request
- Response
-
transactionHash: string (hash) -
options: objectblockOverrides: objectbaseFeePerGas: string (hex integer)blobBaseFee: string (hex integer)feeRecipient: string (address)gasLimit: string (hex integer)number: string (hex integer)prevRandao: string (hash)time: string (hex integer)
disableMemory: booleandisableStack: booleandisableStorage: booleanenableMemory: booleanenableReturnData: booleanlimit: integerstateOverrides: map of objectbalance: string (hex integer)code: string (hex data)hasStateChanges: booleanmovePrecompileToAddress: string (address)nonce: string (hex integer)state: map of string (hash)stateDiff: map of string (hash)
streamMode: booleantimeout: string (duration)tracer: stringtracerConfig: objecttxHash: string (hash)txIndex: string (hex integer)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceTransaction",
"params": [transactionHash, options]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: object
customTracerResult: objectvalue: object
entries: array of objectdepth: integererror: stringgas: integergasCost: integermemory: array of string (32-byte hex data)op: stringpc: integerrefund: integerreturnData: stringstack: array of string (hex integer)storage: map of string (32-byte hex data)
failed: booleangas: string (hex integer)returnValue: string (hex data)txHash: string (hash)
debug_traceTransactionByBlockAndIndex
Returns the full stack trace of the transaction at the given index of the block specified by number, tag or hash. The block that the parameter resolves to is the one traced, so a hash that is not on the canonical chain traces that block rather than the canonical one at the same height.
- Parameters
- Request
- Response
-
blockParameter: string (block number or hash or either ofearliest,finalized,latest,pending, orsafe) -
txIndex: integer -
options: objectblockOverrides: objectbaseFeePerGas: string (hex integer)blobBaseFee: string (hex integer)feeRecipient: string (address)gasLimit: string (hex integer)number: string (hex integer)prevRandao: string (hash)time: string (hex integer)
disableMemory: booleandisableStack: booleandisableStorage: booleanenableMemory: booleanenableReturnData: booleanlimit: integerstateOverrides: map of objectbalance: string (hex integer)code: string (hex data)hasStateChanges: booleanmovePrecompileToAddress: string (address)nonce: string (hex integer)state: map of string (hash)stateDiff: map of string (hash)
streamMode: booleantimeout: string (duration)tracer: stringtracerConfig: objecttxHash: string (hash)txIndex: string (hex integer)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceTransactionByBlockAndIndex",
"params": [blockParameter, txIndex, options]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: object
customTracerResult: objectvalue: object
entries: array of objectdepth: integererror: stringgas: integergasCost: integermemory: array of string (32-byte hex data)op: stringpc: integerrefund: integerreturnData: stringstack: array of string (hex integer)storage: map of string (32-byte hex data)
failed: booleangas: string (hex integer)returnValue: string (hex data)txHash: string (hash)
debug_traceTransactionByBlockhashAndIndex
Returns the full stack trace of the transaction at the given index of the block with the specified hash. The block need not be on the canonical chain.
- Parameters
- Request
- Response
-
blockHash: string (hash) -
txIndex: integer -
options: objectblockOverrides: objectbaseFeePerGas: string (hex integer)blobBaseFee: string (hex integer)feeRecipient: string (address)gasLimit: string (hex integer)number: string (hex integer)prevRandao: string (hash)time: string (hex integer)
disableMemory: booleandisableStack: booleandisableStorage: booleanenableMemory: booleanenableReturnData: booleanlimit: integerstateOverrides: map of objectbalance: string (hex integer)code: string (hex data)hasStateChanges: booleanmovePrecompileToAddress: string (address)nonce: string (hex integer)state: map of string (hash)stateDiff: map of string (hash)
streamMode: booleantimeout: string (duration)tracer: stringtracerConfig: objecttxHash: string (hash)txIndex: string (hex integer)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceTransactionByBlockhashAndIndex",
"params": [blockHash, txIndex, options]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: object
customTracerResult: objectvalue: object
entries: array of objectdepth: integererror: stringgas: integergasCost: integermemory: array of string (32-byte hex data)op: stringpc: integerrefund: integerreturnData: stringstack: array of string (hex integer)storage: map of string (32-byte hex data)
failed: booleangas: string (hex integer)returnValue: string (hex data)txHash: string (hash)
debug_traceTransactionInBlockByHash
- Parameters
- Request
- Response
-
blockRlp: string (hex data) -
transactionHash: string (hash) -
options: objectblockOverrides: objectbaseFeePerGas: string (hex integer)blobBaseFee: string (hex integer)feeRecipient: string (address)gasLimit: string (hex integer)number: string (hex integer)prevRandao: string (hash)time: string (hex integer)
disableMemory: booleandisableStack: booleandisableStorage: booleanenableMemory: booleanenableReturnData: booleanlimit: integerstateOverrides: map of objectbalance: string (hex integer)code: string (hex data)hasStateChanges: booleanmovePrecompileToAddress: string (address)nonce: string (hex integer)state: map of string (hash)stateDiff: map of string (hash)
streamMode: booleantimeout: string (duration)tracer: stringtracerConfig: objecttxHash: string (hash)txIndex: string (hex integer)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceTransactionInBlockByHash",
"params": [blockRlp, transactionHash, options]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: object
customTracerResult: objectvalue: object
entries: array of objectdepth: integererror: stringgas: integergasCost: integermemory: array of string (32-byte hex data)op: stringpc: integerrefund: integerreturnData: stringstack: array of string (hex integer)storage: map of string (32-byte hex data)
failed: booleangas: string (hex integer)returnValue: string (hex data)txHash: string (hash)
debug_traceTransactionInBlockByIndex
- Parameters
- Request
- Response
-
blockRlp: string (hex data) -
txIndex: integer -
options: objectblockOverrides: objectbaseFeePerGas: string (hex integer)blobBaseFee: string (hex integer)feeRecipient: string (address)gasLimit: string (hex integer)number: string (hex integer)prevRandao: string (hash)time: string (hex integer)
disableMemory: booleandisableStack: booleandisableStorage: booleanenableMemory: booleanenableReturnData: booleanlimit: integerstateOverrides: map of objectbalance: string (hex integer)code: string (hex data)hasStateChanges: booleanmovePrecompileToAddress: string (address)nonce: string (hex integer)state: map of string (hash)stateDiff: map of string (hash)
streamMode: booleantimeout: string (duration)tracer: stringtracerConfig: objecttxHash: string (hash)txIndex: string (hex integer)
curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceTransactionInBlockByIndex",
"params": [blockRlp, txIndex, options]
}'
{
"jsonrpc": "2.0",
"id": 0,
"result": result
}
result: object
customTracerResult: objectvalue: object
entries: array of objectdepth: integererror: stringgas: integergasCost: integermemory: array of string (32-byte hex data)op: stringpc: integerrefund: integerreturnData: stringstack: array of string (hex integer)storage: map of string (32-byte hex data)
failed: booleangas: string (hex integer)returnValue: string (hex data)txHash: string (hash)