Skip to main content
Version: 2.2.0

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.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_deleteChainSlice",
"params": [startNumber, force]
}'

debug_executionWitness​

Reprocesses the existing block with the parameters specified and returns the generated execution witness.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_executionWitness",
"params": [blockParameter]
}'

debug_getBadBlocks​

Return list of invalid blocks.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getBadBlocks",
"params": []
}'

debug_getChainLevel​

Retrieves a representation of tree branches on a given chain level (Nethermind specific).

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getChainLevel",
"params": [number]
}'

debug_getConfigValue​

Retrieves the Nethermind configuration value, e.g. JsonRpc.Enabled

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getConfigValue",
"params": [category, name]
}'

debug_getRawBlock​

Get Raw Block format.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getRawBlock",
"params": [blockParameter]
}'

debug_getRawBlockAccessList​

Get raw block access list format.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getRawBlockAccessList",
"params": [blockParameter]
}'

debug_getRawHeader​

Get Raw Header format.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getRawHeader",
"params": [blockParameter]
}'

debug_getRawReceipts​

Get Raw Receipt format.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getRawReceipts",
"params": [blockParameter]
}'

debug_getRawTransaction​

Get Raw Transaction format.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getRawTransaction",
"params": [transactionHash]
}'

debug_getSyncStage​

Retrieves Nethermind Sync Stage, With extra Metadata

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_getSyncStage",
"params": []
}'

debug_insertReceipts​

Insert receipts for the block after verifying receipts root correctness.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_insertReceipts",
"params": [blockParameter, receiptForRpc]
}'

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.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_intermediateRoots",
"params": [blockHash, options]
}'

debug_migrateReceipts​

Sets the block number up to which receipts will be migrated to (Nethermind specific).

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_migrateReceipts",
"params": [from, to]
}'

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.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_resetHead",
"params": [blockHash]
}'

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.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_setHead",
"params": [blockParameter]
}'

debug_simulateV1​

Retrieves geth like traces of the simulated blocks

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_simulateV1",
"params": [payload, blockParameter, options]
}'

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.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_standardTraceBadBlockToFile",
"params": [blockHash, options]
}'

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.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_standardTraceBlockToFile",
"params": [blockHash, options]
}'

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.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceBlock",
"params": [blockRlp, options]
}'

debug_traceBlockByHash​

Similar to debug_traceBlock, this method accepts a block hash and replays the block that is already present in the database.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceBlockByHash",
"params": [blockHash, options]
}'

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.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceBlockByNumber",
"params": [blockParameter, options]
}'

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.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceCall",
"params": [call, blockParameter, options]
}'

debug_traceCallMany​

Executes a list of bundles of transactions without creating transactions on the blockchain and returns their traces

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceCallMany",
"params": [bundles, blockParameter, options]
}'

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.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceTransaction",
"params": [transactionHash, options]
}'

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.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceTransactionByBlockAndIndex",
"params": [blockParameter, txIndex, options]
}'

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.

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceTransactionByBlockhashAndIndex",
"params": [blockHash, txIndex, options]
}'

debug_traceTransactionInBlockByHash​

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceTransactionInBlockByHash",
"params": [blockRlp, transactionHash, options]
}'

debug_traceTransactionInBlockByIndex​

curl localhost:8545 \
-X POST \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"id": 0,
"method": "debug_traceTransactionInBlockByIndex",
"params": [blockRlp, txIndex, options]
}'