Skip to content

Modules: debug

debug_accountRange

AccountRange enumerates all accounts in the given block and start point in paging request

Params (6)

Parameters must be given by position.

1: blockNrOrHash rpc.BlockNumberOrHash

  • Required: ✓ Yes

2: start hexutil.Bytes

  • Required: ✓ Yes

"Schema"

scheme
- description: `Hex representation of some bytes`
- pattern: `^0x([a-fA-F\d])+$`
- title: `dataWord`
- type: string

"Raw"

json
{
    "description": "Hex representation of some bytes",
    "pattern": "^0x([a-fA-F\\d])+$",
    "title": "dataWord",
    "type": [
        "string"
    ]
}

3:
maxResults int

  • Required: ✓ Yes

"Schema"

- description: `Hex representation of the integer`
- pattern: `^0x[a-fA-F0-9]+$`
- title: `integer`
- type: string

"Raw"

json
{
    "description": "Hex representation of the integer",
    "pattern": "^0x[a-fA-F0-9]+$",
    "title": "integer",
    "type": [
        "string"
    ]
}

4: nocode bool

  • Required: ✓ Yes

5: nostorage bool

  • Required: ✓ Yes

6: incompletes bool

  • Required: ✓ Yes

Result

state.IteratorDump

  • Required: ✓ Yes

"Schema"

scheme
- additionalProperties: `false`
- properties: 
	- accounts: 
		- patternProperties: 
			- .*: 
				- additionalProperties: `false`
				- properties: 
					- address: 
						- pattern: `^0x[a-fA-F\d]{64}$`
						- title: `keccak`
						- type: `string`

					- balance: 
						- type: `string`

					- code: 
						- pattern: `^0x([a-fA-F\d])+$`
						- title: `dataWord`
						- type: `string`

					- codeHash: 
						- pattern: `^0x([a-fA-F\d])+$`
						- title: `dataWord`
						- type: `string`

					- key: 
						- pattern: `^0x([a-fA-F\d])+$`
						- title: `dataWord`
						- type: `string`

					- nonce: 
						- pattern: `^0x[a-fA-F0-9]+$`
						- title: `integer`
						- type: `string`

					- root: 
						- pattern: `^0x([a-fA-F\d])+$`
						- title: `dataWord`
						- type: `string`

					- storage: 
						- patternProperties: 
							- .*: 
								- type: `string`


						- type: `object`


				- type: `object`


		- type: `object`

	- next: 
		- pattern: `^0x([a-fA-F0-9]?)+$`
		- title: `bytes`
		- type: `string`

	- root: 
		- type: `string`


- type: object

"Raw"

json
{
    "additionalProperties": false,
    "properties": {
        "accounts": {
            "patternProperties": {
                ".*": {
                    "additionalProperties": false,
                    "properties": {
                        "address": {
                            "pattern": "^0x[a-fA-F\\d]{64}$",
                            "title": "keccak",
                            "type": "string"
                        },
                        "balance": {
                            "type": "string"
                        },
                        "code": {
                            "pattern": "^0x([a-fA-F\\d])+$",
                            "title": "dataWord",
                            "type": "string"
                        },
                        "codeHash": {
                            "pattern": "^0x([a-fA-F\\d])+$",
                            "title": "dataWord",
                            "type": "string"
                        },
                        "key": {
                            "pattern": "^0x([a-fA-F\\d])+$",
                            "title": "dataWord",
                            "type": "string"
                        },
                        "nonce": {
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "title": "integer",
                            "type": "string"
                        },
                        "root": {
                            "pattern": "^0x([a-fA-F\\d])+$",
                            "title": "dataWord",
                            "type": "string"
                        },
                        "storage": {
                            "patternProperties": {
                                ".*": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        },
        "next": {
            "pattern": "^0x([a-fA-F0-9]?)+$",
            "title": "bytes",
            "type": "string"
        },
        "root": {
            "type": "string"
        }
    },
    "type": [
        "object"
    ]
}

Client Method Invocation Examples

"Shell HTTP"

sh
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_accountRange", "params": [<blockNrOrHash>, <start>, <maxResults>, <nocode>, <nostorage>, <incompletes>]}'

"Shell WebSocket"

sh
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_accountRange", "params": [<blockNrOrHash>, <start>, <maxResults>, <nocode>, <nostorage>, <incompletes>]}'

"Javascript Console"

javascript
debug.accountRange(blockNrOrHash,start,maxResults,nocode,nostorage,incompletes);

debug_blockProfile

BlockProfile turns on goroutine profiling for nsec seconds and writes profile data to
file. It uses a profile rate of 1 for most accurate information. If a different rate is
desired, set the rate and write the profile manually.

Params (2)

Parameters must be given by position.

1: file string

  • Required: ✓ Yes

2: nsec uint

  • Required: ✓ Yes

"Schema"

scheme
- description: `Hex representation of the integer`
- pattern: `^0x[a-fA-F0-9]+$`
- title: `integer`
- type: string

"Raw"

json
{
    "description": "Hex representation of the integer",
    "pattern": "^0x[a-fA-F0-9]+$",
    "title": "integer",
    "type": [
        "string"
    ]
}

Result

None

Client Method Invocation Examples

"Shell HTTP"

sh
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_blockProfile", "params": [<file>, <nsec>]}'

"Shell WebSocket"

sh
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_blockProfile", "params": [<file>, <nsec>]}'

"Javascript Console"

debug.blockProfile(file,nsec);

debug_chaindbProperty

ChaindbProperty returns leveldb properties of the key-value database.

Params (1)

Parameters must be given by position.

1: property string

  • Required: ✓ Yes

Result

string

  • Required: ✓ Yes

Client Method Invocation Examples

"Shell HTTP"

curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_chaindbProperty", "params": [<property>]}'

"Shell WebSocket"

sh
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_chaindbProperty", "params": [<property>]}'

"Javascript Console"

javascript
debug.chaindbProperty(property);

debug_dbAncient

DbAncient retrieves an ancient binary blob from the append-only immutable files.
It is a mapping to the AncientReaderOp.Ancient method

Params (2)

Parameters must be given by position.

1: kind string

  • Required: ✓ Yes

2: number uint64

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of the integer`
- pattern: `^0x[a-fA-F0-9]+$`
- title: `integer`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of the integer",
    "pattern": "^0x[a-fA-F0-9]+$",
    "title": "integer",
    "type": [
        "string"
    ]
}
```

Result

hexutil.Bytes

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of some bytes`
- pattern: `^0x([a-fA-F\d])+$`
- title: `dataWord`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of some bytes",
    "pattern": "^0x([a-fA-F\\d])+$",
    "title": "dataWord",
    "type": [
        "string"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_dbAncient", "params": [<kind>, <number>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_dbAncient", "params": [<kind>, <number>]}'
```

=== "Javascript Console"

``` js
debug.dbAncient(kind,number);
```

debug_dbGet

DbGet returns the raw value of a key stored in the database.

Params (1)

Parameters must be given by position.

1: key string

  • Required: ✓ Yes

Result

hexutil.Bytes

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of some bytes`
- pattern: `^0x([a-fA-F\d])+$`
- title: `dataWord`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of some bytes",
    "pattern": "^0x([a-fA-F\\d])+$",
    "title": "dataWord",
    "type": [
        "string"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_dbGet", "params": [<key>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_dbGet", "params": [<key>]}'
```

=== "Javascript Console"

``` js
debug.dbGet(key);
```

debug_freeOSMemory

FreeOSMemory forces a garbage collection.

Params (0)

None

Result

None

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_freeOSMemory", "params": []}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_freeOSMemory", "params": []}'
```

=== "Javascript Console"

``` js
debug.freeOSMemory();
```

debug_getAccessibleState

GetAccessibleState returns the first number where the node has accessible
state on disk. Note this being the post-state of that block and the pre-state
of the next block.
The (from, to) parameters are the sequence of blocks to search, which can go
either forwards or backwards

Params (2)

Parameters must be given by position.

1: from rpc.BlockNumber

  • Required: ✓ Yes

=== "Schema"

``` Schema

- oneOf: 

		- description: `The block height description`
		- enum: earliest, latest, pending
		- title: `blockNumberTag`
		- type: string


		- description: `Hex representation of a uint64`
		- pattern: `^0x([a-fA-F\d])+$`
		- title: `uint64`
		- type: string


- title: `blockNumberIdentifier`


```

=== "Raw"

``` Raw
{
    "oneOf": [
        {
            "description": "The block height description",
            "enum": [
                "earliest",
                "latest",
                "pending"
            ],
            "title": "blockNumberTag",
            "type": [
                "string"
            ]
        },
        {
            "description": "Hex representation of a uint64",
            "pattern": "^0x([a-fA-F\\d])+$",
            "title": "uint64",
            "type": [
                "string"
            ]
        }
    ],
    "title": "blockNumberIdentifier"
}
```

2: to rpc.BlockNumber

  • Required: ✓ Yes

=== "Schema"

``` Schema

- oneOf: 

		- description: `The block height description`
		- enum: earliest, latest, pending
		- title: `blockNumberTag`
		- type: string


		- description: `Hex representation of a uint64`
		- pattern: `^0x([a-fA-F\d])+$`
		- title: `uint64`
		- type: string


- title: `blockNumberIdentifier`


```

=== "Raw"

``` Raw
{
    "oneOf": [
        {
            "description": "The block height description",
            "enum": [
                "earliest",
                "latest",
                "pending"
            ],
            "title": "blockNumberTag",
            "type": [
                "string"
            ]
        },
        {
            "description": "Hex representation of a uint64",
            "pattern": "^0x([a-fA-F\\d])+$",
            "title": "uint64",
            "type": [
                "string"
            ]
        }
    ],
    "title": "blockNumberIdentifier"
}
```

Result

uint64

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of the integer`
- pattern: `^0x[a-fA-F0-9]+$`
- title: `integer`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of the integer",
    "pattern": "^0x[a-fA-F0-9]+$",
    "title": "integer",
    "type": [
        "string"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_getAccessibleState", "params": [<from>, <to>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_getAccessibleState", "params": [<from>, <to>]}'
```

=== "Javascript Console"

``` js
debug.getAccessibleState(from,to);
```

debug_getBadBlocks

GetBadBlocks returns a list of the last 'bad blocks' that the client has seen on the network
and returns them as a JSON list of block hashes.

Params (0)

None

Result

BadBlockArgs []*BadBlockArgs

  • Required: ✓ Yes

=== "Schema"

``` Schema

- items: 

		- additionalProperties: `false`
		- properties: 
			- block: 
				- additionalProperties: `false`
				- properties: 
					- baseFeePerGas: 
						- pattern: `^0x[a-fA-F0-9]+$`
						- title: `integer`
						- type: `string`

					- difficulty: 
						- pattern: `^0x[a-fA-F0-9]+$`
						- title: `integer`
						- type: `string`

					- error: 
						- type: `string`

					- extraData: 
						- pattern: `^0x([a-fA-F\d])+$`
						- title: `dataWord`
						- type: `string`

					- gasLimit: 
						- pattern: `^0x([a-fA-F\d])+$`
						- title: `uint64`
						- type: `string`

					- gasUsed: 
						- pattern: `^0x([a-fA-F\d])+$`
						- title: `uint64`
						- type: `string`

					- hash: 
						- pattern: `^0x[a-fA-F\d]{64}$`
						- title: `keccak`
						- type: `string`

					- logsBloom: 
						- items: 
							- description: `Hex representation of the integer`
							- pattern: `^0x[a-fA-F0-9]+$`
							- title: `integer`
							- type: `string`

						- maxItems: `256`
						- minItems: `256`
						- type: `array`

					- miner: 
						- pattern: `^0x[a-fA-F\d]{64}$`
						- title: `keccak`
						- type: `string`

					- mixHash: 
						- pattern: `^0x[a-fA-F\d]{64}$`
						- title: `keccak`
						- type: `string`

					- nonce: 
						- pattern: `^0x[a-fA-F0-9]+$`
						- title: `integer`
						- type: `string`

					- number: 
						- pattern: `^0x[a-fA-F0-9]+$`
						- title: `integer`
						- type: `string`

					- parentHash: 
						- pattern: `^0x[a-fA-F\d]{64}$`
						- title: `keccak`
						- type: `string`

					- receiptsRoot: 
						- pattern: `^0x[a-fA-F\d]{64}$`
						- title: `keccak`
						- type: `string`

					- sha3Uncles: 
						- pattern: `^0x[a-fA-F\d]{64}$`
						- title: `keccak`
						- type: `string`

					- size: 
						- pattern: `^0x([a-fA-F\d])+$`
						- title: `uint64`
						- type: `string`

					- stateRoot: 
						- pattern: `^0x[a-fA-F\d]{64}$`
						- title: `keccak`
						- type: `string`

					- timestamp: 
						- pattern: `^0x([a-fA-F\d])+$`
						- title: `uint64`
						- type: `string`

					- totalDifficulty: 
						- pattern: `^0x[a-fA-F0-9]+$`
						- title: `integer`
						- type: `string`

					- transactions: 
						- items: 
							- additionalProperties: `true`

						- type: `array`

					- transactionsRoot: 
						- pattern: `^0x[a-fA-F\d]{64}$`
						- title: `keccak`
						- type: `string`

					- uncles: 
						- items: 
							- description: `Hex representation of a Keccak 256 hash`
							- pattern: `^0x[a-fA-F\d]{64}$`
							- title: `keccak`
							- type: `string`

						- type: `array`

					- withdrawals: 
						- items: 
							- additionalProperties: `false`
							- properties: 
								- address: 
									- pattern: `^0x[a-fA-F\d]{64}$`
									- title: `keccak`
									- type: `string`

								- amount: 
									- pattern: `^0x[a-fA-F0-9]+$`
									- title: `integer`
									- type: `string`

								- index: 
									- pattern: `^0x[a-fA-F0-9]+$`
									- title: `integer`
									- type: `string`

								- validatorIndex: 
									- pattern: `^0x[a-fA-F0-9]+$`
									- title: `integer`
									- type: `string`


							- type: `object`

						- type: `array`

					- withdrawalsRoot: 
						- pattern: `^0x[a-fA-F\d]{64}$`
						- title: `keccak`
						- type: `string`


				- type: `object`

			- hash: 
				- pattern: `^0x[a-fA-F\d]{64}$`
				- title: `keccak`
				- type: `string`

			- rlp: 
				- type: `string`


		- type: object


- type: array


```

=== "Raw"

``` Raw
{
    "items": [
        {
            "additionalProperties": false,
            "properties": {
                "block": {
                    "additionalProperties": false,
                    "properties": {
                        "baseFeePerGas": {
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "title": "integer",
                            "type": "string"
                        },
                        "difficulty": {
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "title": "integer",
                            "type": "string"
                        },
                        "error": {
                            "type": "string"
                        },
                        "extraData": {
                            "pattern": "^0x([a-fA-F\\d])+$",
                            "title": "dataWord",
                            "type": "string"
                        },
                        "gasLimit": {
                            "pattern": "^0x([a-fA-F\\d])+$",
                            "title": "uint64",
                            "type": "string"
                        },
                        "gasUsed": {
                            "pattern": "^0x([a-fA-F\\d])+$",
                            "title": "uint64",
                            "type": "string"
                        },
                        "hash": {
                            "pattern": "^0x[a-fA-F\\d]{64}$",
                            "title": "keccak",
                            "type": "string"
                        },
                        "logsBloom": {
                            "items": {
                                "description": "Hex representation of the integer",
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "title": "integer",
                                "type": "string"
                            },
                            "maxItems": 256,
                            "minItems": 256,
                            "type": "array"
                        },
                        "miner": {
                            "pattern": "^0x[a-fA-F\\d]{64}$",
                            "title": "keccak",
                            "type": "string"
                        },
                        "mixHash": {
                            "pattern": "^0x[a-fA-F\\d]{64}$",
                            "title": "keccak",
                            "type": "string"
                        },
                        "nonce": {
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "title": "integer",
                            "type": "string"
                        },
                        "number": {
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "title": "integer",
                            "type": "string"
                        },
                        "parentHash": {
                            "pattern": "^0x[a-fA-F\\d]{64}$",
                            "title": "keccak",
                            "type": "string"
                        },
                        "receiptsRoot": {
                            "pattern": "^0x[a-fA-F\\d]{64}$",
                            "title": "keccak",
                            "type": "string"
                        },
                        "sha3Uncles": {
                            "pattern": "^0x[a-fA-F\\d]{64}$",
                            "title": "keccak",
                            "type": "string"
                        },
                        "size": {
                            "pattern": "^0x([a-fA-F\\d])+$",
                            "title": "uint64",
                            "type": "string"
                        },
                        "stateRoot": {
                            "pattern": "^0x[a-fA-F\\d]{64}$",
                            "title": "keccak",
                            "type": "string"
                        },
                        "timestamp": {
                            "pattern": "^0x([a-fA-F\\d])+$",
                            "title": "uint64",
                            "type": "string"
                        },
                        "totalDifficulty": {
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "title": "integer",
                            "type": "string"
                        },
                        "transactions": {
                            "items": {
                                "additionalProperties": true
                            },
                            "type": "array"
                        },
                        "transactionsRoot": {
                            "pattern": "^0x[a-fA-F\\d]{64}$",
                            "title": "keccak",
                            "type": "string"
                        },
                        "uncles": {
                            "items": {
                                "description": "Hex representation of a Keccak 256 hash",
                                "pattern": "^0x[a-fA-F\\d]{64}$",
                                "title": "keccak",
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "withdrawals": {
                            "items": {
                                "additionalProperties": false,
                                "properties": {
                                    "address": {
                                        "pattern": "^0x[a-fA-F\\d]{64}$",
                                        "title": "keccak",
                                        "type": "string"
                                    },
                                    "amount": {
                                        "pattern": "^0x[a-fA-F0-9]+$",
                                        "title": "integer",
                                        "type": "string"
                                    },
                                    "index": {
                                        "pattern": "^0x[a-fA-F0-9]+$",
                                        "title": "integer",
                                        "type": "string"
                                    },
                                    "validatorIndex": {
                                        "pattern": "^0x[a-fA-F0-9]+$",
                                        "title": "integer",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            },
                            "type": "array"
                        },
                        "withdrawalsRoot": {
                            "pattern": "^0x[a-fA-F\\d]{64}$",
                            "title": "keccak",
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "hash": {
                    "pattern": "^0x[a-fA-F\\d]{64}$",
                    "title": "keccak",
                    "type": "string"
                },
                "rlp": {
                    "type": "string"
                }
            },
            "type": [
                "object"
            ]
        }
    ],
    "type": [
        "array"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

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

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_getBadBlocks", "params": []}'
```

=== "Javascript Console"

``` js
debug.getBadBlocks();
```

debug_getModifiedAccountsByHash

GetModifiedAccountsByHash returns all accounts that have changed between the
two blocks specified. A change is defined as a difference in nonce, balance,
code hash, or storage hash.

With one parameter, returns the list of accounts modified in the specified block.

Params (2)

Parameters must be given by position.

1: startHash common.Hash

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of a Keccak 256 hash`
- pattern: `^0x[a-fA-F\d]{64}$`
- title: `keccak`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of a Keccak 256 hash",
    "pattern": "^0x[a-fA-F\\d]{64}$",
    "title": "keccak",
    "type": [
        "string"
    ]
}
```

2: endHash *common.Hash

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of a Keccak 256 hash`
- pattern: `^0x[a-fA-F\d]{64}$`
- title: `keccak`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of a Keccak 256 hash",
    "pattern": "^0x[a-fA-F\\d]{64}$",
    "title": "keccak",
    "type": [
        "string"
    ]
}
```

Result

commonAddress []common.Address

  • Required: ✓ Yes

=== "Schema"

``` Schema

- items: 

		- description: `Hex representation of a Keccak 256 hash POINTER`
		- pattern: `^0x[a-fA-F\d]{64}$`
		- title: `keccak`
		- type: string


- type: array


```

=== "Raw"

``` Raw
{
    "items": [
        {
            "description": "Hex representation of a Keccak 256 hash POINTER",
            "pattern": "^0x[a-fA-F\\d]{64}$",
            "title": "keccak",
            "type": [
                "string"
            ]
        }
    ],
    "type": [
        "array"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_getModifiedAccountsByHash", "params": [<startHash>, <endHash>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_getModifiedAccountsByHash", "params": [<startHash>, <endHash>]}'
```

=== "Javascript Console"

``` js
debug.getModifiedAccountsByHash(startHash,endHash);
```

debug_getModifiedAccountsByNumber

GetModifiedAccountsByNumber returns all accounts that have changed between the
two blocks specified. A change is defined as a difference in nonce, balance,
code hash, or storage hash.

With one parameter, returns the list of accounts modified in the specified block.

Params (2)

Parameters must be given by position.

1: startNum uint64

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of the integer`
- pattern: `^0x[a-fA-F0-9]+$`
- title: `integer`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of the integer",
    "pattern": "^0x[a-fA-F0-9]+$",
    "title": "integer",
    "type": [
        "string"
    ]
}
```

2: endNum *uint64

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of the integer`
- pattern: `^0x[a-fA-F0-9]+$`
- title: `integer`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of the integer",
    "pattern": "^0x[a-fA-F0-9]+$",
    "title": "integer",
    "type": [
        "string"
    ]
}
```

Result

commonAddress []common.Address

  • Required: ✓ Yes

=== "Schema"

``` Schema

- items: 

		- description: `Hex representation of a Keccak 256 hash POINTER`
		- pattern: `^0x[a-fA-F\d]{64}$`
		- title: `keccak`
		- type: string


- type: array


```

=== "Raw"

``` Raw
{
    "items": [
        {
            "description": "Hex representation of a Keccak 256 hash POINTER",
            "pattern": "^0x[a-fA-F\\d]{64}$",
            "title": "keccak",
            "type": [
                "string"
            ]
        }
    ],
    "type": [
        "array"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_getModifiedAccountsByNumber", "params": [<startNum>, <endNum>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_getModifiedAccountsByNumber", "params": [<startNum>, <endNum>]}'
```

=== "Javascript Console"

``` js
debug.getModifiedAccountsByNumber(startNum,endNum);
```

debug_getRawBlock

GetRawBlock retrieves the RLP encoded for a single block.

Params (1)

Parameters must be given by position.

1: blockNrOrHash rpc.BlockNumberOrHash

  • Required: ✓ Yes

Result

hexutil.Bytes

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of some bytes`
- pattern: `^0x([a-fA-F\d])+$`
- title: `dataWord`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of some bytes",
    "pattern": "^0x([a-fA-F\\d])+$",
    "title": "dataWord",
    "type": [
        "string"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_getRawBlock", "params": [<blockNrOrHash>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_getRawBlock", "params": [<blockNrOrHash>]}'
```

=== "Javascript Console"

``` js
debug.getRawBlock(blockNrOrHash);
```
Source code

```go
func (api *DebugAPI) GetRawBlock(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (hexutil.Bytes, error) {
var hash common.Hash
if h, ok := blockNrOrHash.Hash(); ok {
hash = h
} else {
block, err := api.b.BlockByNumberOrHash(ctx, blockNrOrHash)
if err != nil {
return nil, err
}
hash = block.Hash()
}
block, _ := api.b.BlockByHash(ctx, hash)
if block == nil {
return nil, fmt.Errorf("block #%d not found", hash)
}
return rlp.EncodeToBytes(block)
}// GetRawBlock retrieves the RLP encoded for a single block.

<a href="https://github.com/etclabscore/core-geth/blob/master/internal/ethapi/api.go#L2190" target="_">View on GitHub →</a>
</p>
</details>

---



### debug_getRawHeader

GetRawHeader retrieves the RLP encoding for a single header.


#### Params (1)

Parameters must be given _by position_.


__1:__ 
blockNrOrHash <code>rpc.BlockNumberOrHash</code> 

  + Required: ✓ Yes






#### Result




<code>hexutil.Bytes</code> 

  + Required: ✓ Yes


=== "Schema"

	``` Schema
	
	- description: `Hex representation of some bytes`
	- pattern: `^0x([a-fA-F\d])+$`
	- title: `dataWord`
	- type: string


	```

=== "Raw"

	``` Raw
	{
        "description": "Hex representation of some bytes",
        "pattern": "^0x([a-fA-F\\d])+$",
        "title": "dataWord",
        "type": [
            "string"
        ]
    }
	```



#### Client Method Invocation Examples


=== "Shell HTTP"

	``` shell
	curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_getRawHeader", "params": [<blockNrOrHash>]}'
	```





=== "Shell WebSocket"

	``` shell
	wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_getRawHeader", "params": [<blockNrOrHash>]}'
	```


=== "Javascript Console"

	``` js
	debug.getRawHeader(blockNrOrHash);
	```



<details><summary>Source code</summary>
<p>
```go
func (api *DebugAPI) GetRawHeader(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) (hexutil.Bytes, error) {
	var hash common.Hash
	if h, ok := blockNrOrHash.Hash(); ok {
		hash = h
	} else {
		block, err := api.b.BlockByNumberOrHash(ctx, blockNrOrHash)
		if err != nil {
			return nil, err
		}
		hash = block.Hash()
	}
	header, _ := api.b.HeaderByHash(ctx, hash)
	if header == nil {
		return nil, fmt.Errorf("header #%d not found", hash)
	}
	return rlp.EncodeToBytes(header)
}// GetRawHeader retrieves the RLP encoding for a single header.

View on GitHub →


debug_getRawReceipts

GetRawReceipts retrieves the binary-encoded receipts of a single block.

Params (1)

Parameters must be given by position.

1: blockNrOrHash rpc.BlockNumberOrHash

  • Required: ✓ Yes

Result

hexutilBytes []hexutil.Bytes

  • Required: ✓ Yes

=== "Schema"

``` Schema

- items: 

		- description: `Hex representation of some bytes`
		- pattern: `^0x([a-fA-F\d])+$`
		- title: `dataWord`
		- type: string


- type: array


```

=== "Raw"

``` Raw
{
    "items": [
        {
            "description": "Hex representation of some bytes",
            "pattern": "^0x([a-fA-F\\d])+$",
            "title": "dataWord",
            "type": [
                "string"
            ]
        }
    ],
    "type": [
        "array"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_getRawReceipts", "params": [<blockNrOrHash>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_getRawReceipts", "params": [<blockNrOrHash>]}'
```

=== "Javascript Console"

``` js
debug.getRawReceipts(blockNrOrHash);
```

debug_getRawTransaction

GetRawTransaction returns the bytes of the transaction for the given hash.

Params (1)

Parameters must be given by position.

1: hash common.Hash

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of a Keccak 256 hash`
- pattern: `^0x[a-fA-F\d]{64}$`
- title: `keccak`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of a Keccak 256 hash",
    "pattern": "^0x[a-fA-F\\d]{64}$",
    "title": "keccak",
    "type": [
        "string"
    ]
}
```

Result

hexutil.Bytes

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of some bytes`
- pattern: `^0x([a-fA-F\d])+$`
- title: `dataWord`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of some bytes",
    "pattern": "^0x([a-fA-F\\d])+$",
    "title": "dataWord",
    "type": [
        "string"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_getRawTransaction", "params": [<hash>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_getRawTransaction", "params": [<hash>]}'
```

=== "Javascript Console"

``` js
debug.getRawTransaction(hash);
```
Source code

```go
func (s *DebugAPI) GetRawTransaction(ctx context.Context, hash common.Hash) (hexutil.Bytes, error) {
tx, _, _, _, err := s.b.GetTransaction(ctx, hash)
if err != nil {
return nil, err
}
if tx == nil {
if tx = s.b.GetPoolTransaction(hash); tx == nil {
return nil, nil
}
}
return tx.MarshalBinary()
}// GetRawTransaction returns the bytes of the transaction for the given hash.

<a href="https://github.com/etclabscore/core-geth/blob/master/internal/ethapi/api.go#L2236" target="_">View on GitHub →</a>
</p>
</details>

---



### debug_goTrace

GoTrace turns on tracing for nsec seconds and writes
trace data to file.


#### Params (2)

Parameters must be given _by position_.


__1:__ 
file <code>string</code> 

  + Required: ✓ Yes





__2:__ 
nsec <code>uint</code> 

  + Required: ✓ Yes


=== "Schema"

	``` Schema
	
	- description: `Hex representation of the integer`
	- pattern: `^0x[a-fA-F0-9]+$`
	- title: `integer`
	- type: string


	```

=== "Raw"

	``` Raw
	{
        "description": "Hex representation of the integer",
        "pattern": "^0x[a-fA-F0-9]+$",
        "title": "integer",
        "type": [
            "string"
        ]
    }
	```





#### Result

_None_

#### Client Method Invocation Examples


=== "Shell HTTP"

	``` shell
	curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_goTrace", "params": [<file>, <nsec>]}'
	```





=== "Shell WebSocket"

	``` shell
	wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_goTrace", "params": [<file>, <nsec>]}'
	```


=== "Javascript Console"

	``` js
	debug.goTrace(file,nsec);
	```



<details><summary>Source code</summary>
<p>
```go
func (h *HandlerT) GoTrace(file string, nsec uint) error {
	if err := h.StartGoTrace(file); err != nil {
		return err
	}
	time.Sleep(time.Duration(nsec) * time.Second)
	h.StopGoTrace()
	return nil
}// GoTrace turns on tracing for nsec seconds and writes
// trace data to file.

View on GitHub →


debug_intermediateRoots

IntermediateRoots executes a block (bad- or canon- or side-), and returns a list
of intermediate roots: the stateroot after each transaction.

Params (2)

Parameters must be given by position.

1: hash common.Hash

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of a Keccak 256 hash`
- pattern: `^0x[a-fA-F\d]{64}$`
- title: `keccak`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of a Keccak 256 hash",
    "pattern": "^0x[a-fA-F\\d]{64}$",
    "title": "keccak",
    "type": [
        "string"
    ]
}
```

2: config *TraceConfig

  • Required: ✓ Yes

=== "Schema"

``` Schema

- additionalProperties: `false`
- properties: 
	- Debug: 
		- type: `boolean`

	- DisableStack: 
		- type: `boolean`

	- DisableStorage: 
		- type: `boolean`

	- EnableMemory: 
		- type: `boolean`

	- EnableReturnData: 
		- type: `boolean`

	- Limit: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- NestedTraceOutput: 
		- type: `boolean`

	- Reexec: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- Timeout: 
		- type: `string`

	- Tracer: 
		- type: `string`

	- TracerConfig: 
		- media: 
			- binaryEncoding: `base64`

		- type: `string`

	- overrides: 
		- additionalProperties: `true`


- type: object


```

=== "Raw"

``` Raw
{
    "additionalProperties": false,
    "properties": {
        "Debug": {
            "type": "boolean"
        },
        "DisableStack": {
            "type": "boolean"
        },
        "DisableStorage": {
            "type": "boolean"
        },
        "EnableMemory": {
            "type": "boolean"
        },
        "EnableReturnData": {
            "type": "boolean"
        },
        "Limit": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "NestedTraceOutput": {
            "type": "boolean"
        },
        "Reexec": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "Timeout": {
            "type": "string"
        },
        "Tracer": {
            "type": "string"
        },
        "TracerConfig": {
            "media": {
                "binaryEncoding": "base64"
            },
            "type": "string"
        },
        "overrides": {
            "additionalProperties": true
        }
    },
    "type": [
        "object"
    ]
}
```

Result

commonHash []common.Hash

  • Required: ✓ Yes

=== "Schema"

``` Schema

- items: 

		- description: `Hex representation of a Keccak 256 hash`
		- pattern: `^0x[a-fA-F\d]{64}$`
		- title: `keccak`
		- type: string


- type: array


```

=== "Raw"

``` Raw
{
    "items": [
        {
            "description": "Hex representation of a Keccak 256 hash",
            "pattern": "^0x[a-fA-F\\d]{64}$",
            "title": "keccak",
            "type": [
                "string"
            ]
        }
    ],
    "type": [
        "array"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_intermediateRoots", "params": [<hash>, <config>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_intermediateRoots", "params": [<hash>, <config>]}'
```

=== "Javascript Console"

``` js
debug.intermediateRoots(hash,config);
```

debug_memStats

MemStats returns detailed runtime memory statistics.

Params (0)

None

Result

*runtime.MemStats

  • Required: ✓ Yes

=== "Schema"

``` Schema

- additionalProperties: `false`
- properties: 
	- Alloc: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- BuckHashSys: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- BySize: 
		- items: 
			- additionalProperties: `false`
			- properties: 
				- Frees: 
					- pattern: `^0x[a-fA-F0-9]+$`
					- title: `integer`
					- type: `string`

				- Mallocs: 
					- pattern: `^0x[a-fA-F0-9]+$`
					- title: `integer`
					- type: `string`

				- Size: 
					- pattern: `^0x[a-fA-F0-9]+$`
					- title: `integer`
					- type: `string`


			- type: `object`

		- maxItems: `61`
		- minItems: `61`
		- type: `array`

	- DebugGC: 
		- type: `boolean`

	- EnableGC: 
		- type: `boolean`

	- Frees: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- GCCPUFraction: 
		- type: `number`

	- GCSys: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- HeapAlloc: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- HeapIdle: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- HeapInuse: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- HeapObjects: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- HeapReleased: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- HeapSys: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- LastGC: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- Lookups: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- MCacheInuse: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- MCacheSys: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- MSpanInuse: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- MSpanSys: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- Mallocs: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- NextGC: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- NumForcedGC: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- NumGC: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- OtherSys: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- PauseEnd: 
		- items: 
			- description: `Hex representation of the integer`
			- pattern: `^0x[a-fA-F0-9]+$`
			- title: `integer`
			- type: `string`

		- maxItems: `256`
		- minItems: `256`
		- type: `array`

	- PauseNs: 
		- items: 
			- description: `Hex representation of the integer`
			- pattern: `^0x[a-fA-F0-9]+$`
			- title: `integer`
			- type: `string`

		- maxItems: `256`
		- minItems: `256`
		- type: `array`

	- PauseTotalNs: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- StackInuse: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- StackSys: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- Sys: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- TotalAlloc: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`


- type: object


```

=== "Raw"

``` Raw
{
    "additionalProperties": false,
    "properties": {
        "Alloc": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "BuckHashSys": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "BySize": {
            "items": {
                "additionalProperties": false,
                "properties": {
                    "Frees": {
                        "pattern": "^0x[a-fA-F0-9]+$",
                        "title": "integer",
                        "type": "string"
                    },
                    "Mallocs": {
                        "pattern": "^0x[a-fA-F0-9]+$",
                        "title": "integer",
                        "type": "string"
                    },
                    "Size": {
                        "pattern": "^0x[a-fA-F0-9]+$",
                        "title": "integer",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "maxItems": 61,
            "minItems": 61,
            "type": "array"
        },
        "DebugGC": {
            "type": "boolean"
        },
        "EnableGC": {
            "type": "boolean"
        },
        "Frees": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "GCCPUFraction": {
            "type": "number"
        },
        "GCSys": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "HeapAlloc": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "HeapIdle": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "HeapInuse": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "HeapObjects": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "HeapReleased": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "HeapSys": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "LastGC": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "Lookups": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "MCacheInuse": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "MCacheSys": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "MSpanInuse": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "MSpanSys": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "Mallocs": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "NextGC": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "NumForcedGC": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "NumGC": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "OtherSys": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "PauseEnd": {
            "items": {
                "description": "Hex representation of the integer",
                "pattern": "^0x[a-fA-F0-9]+$",
                "title": "integer",
                "type": "string"
            },
            "maxItems": 256,
            "minItems": 256,
            "type": "array"
        },
        "PauseNs": {
            "items": {
                "description": "Hex representation of the integer",
                "pattern": "^0x[a-fA-F0-9]+$",
                "title": "integer",
                "type": "string"
            },
            "maxItems": 256,
            "minItems": 256,
            "type": "array"
        },
        "PauseTotalNs": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "StackInuse": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "StackSys": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "Sys": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "TotalAlloc": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        }
    },
    "type": [
        "object"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_memStats", "params": []}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_memStats", "params": []}'
```

=== "Javascript Console"

``` js
debug.memStats();
```

debug_preimage

Preimage is a debug API function that returns the preimage for a sha3 hash, if known.

Params (1)

Parameters must be given by position.

1: hash common.Hash

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of a Keccak 256 hash`
- pattern: `^0x[a-fA-F\d]{64}$`
- title: `keccak`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of a Keccak 256 hash",
    "pattern": "^0x[a-fA-F\\d]{64}$",
    "title": "keccak",
    "type": [
        "string"
    ]
}
```

Result

hexutil.Bytes

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of some bytes`
- pattern: `^0x([a-fA-F\d])+$`
- title: `dataWord`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of some bytes",
    "pattern": "^0x([a-fA-F\\d])+$",
    "title": "dataWord",
    "type": [
        "string"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_preimage", "params": [<hash>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_preimage", "params": [<hash>]}'
```

=== "Javascript Console"

``` js
debug.preimage(hash);
```

debug_seedHash

SeedHash retrieves the seed hash of a block.

Params (1)

Parameters must be given by position.

1: number uint64

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of the integer`
- pattern: `^0x[a-fA-F0-9]+$`
- title: `integer`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of the integer",
    "pattern": "^0x[a-fA-F0-9]+$",
    "title": "integer",
    "type": [
        "string"
    ]
}
```

Result

string

  • Required: ✓ Yes

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_seedHash", "params": [<number>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_seedHash", "params": [<number>]}'
```

=== "Javascript Console"

``` js
debug.seedHash(number);
```
Source code

```go
func (api *DebugAPI) SeedHash(ctx context.Context, number uint64) (string, error) {
block, _ := api.b.BlockByNumber(ctx, rpc.BlockNumber(number))
if block == nil {
return "", fmt.Errorf("block #%d not found", number)
}
ecip1099FBlock := api.b.ChainConfig().GetEthashECIP1099Transition()
epochLength := ethash.CalcEpochLength(number, ecip1099FBlock)
epoch := ethash.CalcEpoch(number, epochLength)
return fmt.Sprintf("%#x", ethash.SeedHash(epoch, epochLength)), nil
}// SeedHash retrieves the seed hash of a block.

<a href="https://github.com/etclabscore/core-geth/blob/master/internal/ethapi/api.go#L2261" target="_">View on GitHub →</a>
</p>
</details>

---



### debug_setBlockProfileRate

SetBlockProfileRate sets the rate of goroutine block profile data collection.
rate 0 disables block profiling.


#### Params (1)

Parameters must be given _by position_.


__1:__ 
rate <code>int</code> 

  + Required: ✓ Yes


=== "Schema"

	``` Schema
	
	- description: `Hex representation of the integer`
	- pattern: `^0x[a-fA-F0-9]+$`
	- title: `integer`
	- type: string


	```

=== "Raw"

	``` Raw
	{
        "description": "Hex representation of the integer",
        "pattern": "^0x[a-fA-F0-9]+$",
        "title": "integer",
        "type": [
            "string"
        ]
    }
	```





#### Result

_None_

#### Client Method Invocation Examples


=== "Shell HTTP"

	``` shell
	curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_setBlockProfileRate", "params": [<rate>]}'
	```





=== "Shell WebSocket"

	``` shell
	wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_setBlockProfileRate", "params": [<rate>]}'
	```


=== "Javascript Console"

	``` js
	debug.setBlockProfileRate(rate);
	```



<details><summary>Source code</summary>
<p>
```go
func (*HandlerT) SetBlockProfileRate(rate int) {
	runtime.SetBlockProfileRate(rate)
}// SetBlockProfileRate sets the rate of goroutine block profile data collection.
// rate 0 disables block profiling.

View on GitHub →


debug_setGCPercent

SetGCPercent sets the garbage collection target percentage. It returns the previous
setting. A negative value disables GC.

Params (1)

Parameters must be given by position.

1: v int

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of the integer`
- pattern: `^0x[a-fA-F0-9]+$`
- title: `integer`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of the integer",
    "pattern": "^0x[a-fA-F0-9]+$",
    "title": "integer",
    "type": [
        "string"
    ]
}
```

Result

int

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of the integer`
- pattern: `^0x[a-fA-F0-9]+$`
- title: `integer`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of the integer",
    "pattern": "^0x[a-fA-F0-9]+$",
    "title": "integer",
    "type": [
        "string"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_setGCPercent", "params": [<v>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_setGCPercent", "params": [<v>]}'
```

=== "Javascript Console"

``` js
debug.setGCPercent(v);
```
Source code

```go
func (*HandlerT) SetGCPercent(v int) int {
return debug.SetGCPercent(v)
}// SetGCPercent sets the garbage collection target percentage. It returns the previous
// setting. A negative value disables GC.

<a href="https://github.com/etclabscore/core-geth/blob/master/internal/debug/api.go#L242" target="_">View on GitHub →</a>
</p>
</details>

---



### debug_setHead

SetHead rewinds the head of the blockchain to a previous block.


#### Params (1)

Parameters must be given _by position_.


__1:__ 
number <code>hexutil.Uint64</code> 

  + Required: ✓ Yes


=== "Schema"

	``` Schema
	
	- description: `Hex representation of a uint64`
	- pattern: `^0x([a-fA-F\d])+$`
	- title: `uint64`
	- type: string


	```

=== "Raw"

	``` Raw
	{
        "description": "Hex representation of a uint64",
        "pattern": "^0x([a-fA-F\\d])+$",
        "title": "uint64",
        "type": [
            "string"
        ]
    }
	```





#### Result

_None_

#### Client Method Invocation Examples


=== "Shell HTTP"

	``` shell
	curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_setHead", "params": [<number>]}'
	```





=== "Shell WebSocket"

	``` shell
	wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_setHead", "params": [<number>]}'
	```


=== "Javascript Console"

	``` js
	debug.setHead(number);
	```



<details><summary>Source code</summary>
<p>
```go
func (api *DebugAPI) SetHead(number hexutil.Uint64) {
	api.b.SetHead(uint64(number))
}// SetHead rewinds the head of the blockchain to a previous block.

View on GitHub →


debug_setMutexProfileFraction

SetMutexProfileFraction sets the rate of mutex profiling.

Params (1)

Parameters must be given by position.

1: rate int

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of the integer`
- pattern: `^0x[a-fA-F0-9]+$`
- title: `integer`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of the integer",
    "pattern": "^0x[a-fA-F0-9]+$",
    "title": "integer",
    "type": [
        "string"
    ]
}
```

Result

None

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_setMutexProfileFraction", "params": [<rate>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_setMutexProfileFraction", "params": [<rate>]}'
```

=== "Javascript Console"

``` js
debug.setMutexProfileFraction(rate);
```

debug_standardTraceBadBlockToFile

StandardTraceBadBlockToFile dumps the structured logs created during the
execution of EVM against a block pulled from the pool of bad ones to the
local file system and returns a list of files to the caller.

Params (2)

Parameters must be given by position.

1: hash common.Hash

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of a Keccak 256 hash`
- pattern: `^0x[a-fA-F\d]{64}$`
- title: `keccak`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of a Keccak 256 hash",
    "pattern": "^0x[a-fA-F\\d]{64}$",
    "title": "keccak",
    "type": [
        "string"
    ]
}
```

2: config *StdTraceConfig

  • Required: ✓ Yes

=== "Schema"

``` Schema

- additionalProperties: `false`
- properties: 
	- Debug: 
		- type: `boolean`

	- DisableStack: 
		- type: `boolean`

	- DisableStorage: 
		- type: `boolean`

	- EnableMemory: 
		- type: `boolean`

	- EnableReturnData: 
		- type: `boolean`

	- Limit: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- Reexec: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- TxHash: 
		- pattern: `^0x[a-fA-F\d]{64}$`
		- title: `keccak`
		- type: `string`

	- overrides: 
		- additionalProperties: `true`


- type: object


```

=== "Raw"

``` Raw
{
    "additionalProperties": false,
    "properties": {
        "Debug": {
            "type": "boolean"
        },
        "DisableStack": {
            "type": "boolean"
        },
        "DisableStorage": {
            "type": "boolean"
        },
        "EnableMemory": {
            "type": "boolean"
        },
        "EnableReturnData": {
            "type": "boolean"
        },
        "Limit": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "Reexec": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "TxHash": {
            "pattern": "^0x[a-fA-F\\d]{64}$",
            "title": "keccak",
            "type": "string"
        },
        "overrides": {
            "additionalProperties": true
        }
    },
    "type": [
        "object"
    ]
}
```

Result

string []string

  • Required: ✓ Yes

=== "Schema"

``` Schema

- items: 

		- type: string


- type: array


```

=== "Raw"

``` Raw
{
    "items": [
        {
            "type": [
                "string"
            ]
        }
    ],
    "type": [
        "array"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_standardTraceBadBlockToFile", "params": [<hash>, <config>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_standardTraceBadBlockToFile", "params": [<hash>, <config>]}'
```

=== "Javascript Console"

``` js
debug.standardTraceBadBlockToFile(hash,config);
```

debug_standardTraceBlockToFile

StandardTraceBlockToFile dumps the structured logs created during the
execution of EVM to the local file system and returns a list of files
to the caller.

Params (2)

Parameters must be given by position.

1: hash common.Hash

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of a Keccak 256 hash`
- pattern: `^0x[a-fA-F\d]{64}$`
- title: `keccak`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of a Keccak 256 hash",
    "pattern": "^0x[a-fA-F\\d]{64}$",
    "title": "keccak",
    "type": [
        "string"
    ]
}
```

2: config *StdTraceConfig

  • Required: ✓ Yes

=== "Schema"

``` Schema

- additionalProperties: `false`
- properties: 
	- Debug: 
		- type: `boolean`

	- DisableStack: 
		- type: `boolean`

	- DisableStorage: 
		- type: `boolean`

	- EnableMemory: 
		- type: `boolean`

	- EnableReturnData: 
		- type: `boolean`

	- Limit: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- Reexec: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- TxHash: 
		- pattern: `^0x[a-fA-F\d]{64}$`
		- title: `keccak`
		- type: `string`

	- overrides: 
		- additionalProperties: `true`


- type: object


```

=== "Raw"

``` Raw
{
    "additionalProperties": false,
    "properties": {
        "Debug": {
            "type": "boolean"
        },
        "DisableStack": {
            "type": "boolean"
        },
        "DisableStorage": {
            "type": "boolean"
        },
        "EnableMemory": {
            "type": "boolean"
        },
        "EnableReturnData": {
            "type": "boolean"
        },
        "Limit": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "Reexec": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "TxHash": {
            "pattern": "^0x[a-fA-F\\d]{64}$",
            "title": "keccak",
            "type": "string"
        },
        "overrides": {
            "additionalProperties": true
        }
    },
    "type": [
        "object"
    ]
}
```

Result

string []string

  • Required: ✓ Yes

=== "Schema"

``` Schema

- items: 

		- type: string


- type: array


```

=== "Raw"

``` Raw
{
    "items": [
        {
            "type": [
                "string"
            ]
        }
    ],
    "type": [
        "array"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_standardTraceBlockToFile", "params": [<hash>, <config>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_standardTraceBlockToFile", "params": [<hash>, <config>]}'
```

=== "Javascript Console"

``` js
debug.standardTraceBlockToFile(hash,config);
```
Source code

```go
func (api *API) StandardTraceBlockToFile(ctx context.Context, hash common.Hash, config *StdTraceConfig) ([ // StandardTraceBlockToFile dumps the structured logs created during the
// execution of EVM to the local file system and returns a list of files
// to the caller.
]string, error) {
block, err := api.blockByHash(ctx, hash)
if err != nil {
return nil, err
}
return api.standardTraceBlockToFile(ctx, block, config)
}
```View on GitHub →


debug_startCPUProfile

StartCPUProfile turns on CPU profiling, writing to the given file.

Params (1)

Parameters must be given by position.

1: file string

  • Required: ✓ Yes

Result

None

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_startCPUProfile", "params": [<file>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_startCPUProfile", "params": [<file>]}'
```

=== "Javascript Console"

``` js
debug.startCPUProfile(file);
```

debug_stopCPUProfile

StopCPUProfile stops an ongoing CPU profile.

Params (0)

None

Result

None

Client Method Invocation Examples

=== "Shell HTTP"

sh
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_stopCPUProfile", "params": []}'

=== "Shell WebSocket"

sh
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_stopCPUProfile", "params": []}'
= "Javascript Console"
javascript
debug.stopCPUProfile();

debug_storageRangeAt

StorageRangeAt returns the storage at the given block height and transaction index.

Params (5)

Parameters must be given by position.

1: blockNrOrHash rpc.BlockNumberOrHash

  • Required: ✓ Yes

2:
txIndex int

  • Required: ✓ Yes

=== "Schema"

scheme
- description: `Hex representation of the integer`
- pattern: `^0x[a-fA-F0-9]+$`
- title: `integer`
- type: string

=== "Raw"

{
    "description": "Hex representation of the integer",
    "pattern": "^0x[a-fA-F0-9]+$",
    "title": "integer",
    "type": [
        "string"
    ]
}

3:
contractAddress common.Address

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of a Keccak 256 hash POINTER`
- pattern: `^0x[a-fA-F\d]{64}$`
- title: `keccak`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of a Keccak 256 hash POINTER",
    "pattern": "^0x[a-fA-F\\d]{64}$",
    "title": "keccak",
    "type": [
        "string"
    ]
}
```

4:
keyStart hexutil.Bytes

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of some bytes`
- pattern: `^0x([a-fA-F\d])+$`
- title: `dataWord`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of some bytes",
    "pattern": "^0x([a-fA-F\\d])+$",
    "title": "dataWord",
    "type": [
        "string"
    ]
}
```

5:
maxResult int

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of the integer`
- pattern: `^0x[a-fA-F0-9]+$`
- title: `integer`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of the integer",
    "pattern": "^0x[a-fA-F0-9]+$",
    "title": "integer",
    "type": [
        "string"
    ]
}
```

Result

StorageRangeResult

  • Required: ✓ Yes

=== "Schema"

``` Schema

- additionalProperties: `false`
- properties: 
	- nextKey: 
		- pattern: `^0x[a-fA-F\d]{64}$`
		- title: `keccak`
		- type: `string`

	- storage: 
		- patternProperties: 
			- .*: 
				- additionalProperties: `false`
				- properties: 
					- key: 
						- pattern: `^0x[a-fA-F\d]{64}$`
						- title: `keccak`
						- type: `string`

					- value: 
						- pattern: `^0x[a-fA-F\d]{64}$`
						- title: `keccak`
						- type: `string`


				- type: `object`


		- type: `object`


- type: object


```

=== "Raw"

``` Raw
{
    "additionalProperties": false,
    "properties": {
        "nextKey": {
            "pattern": "^0x[a-fA-F\\d]{64}$",
            "title": "keccak",
            "type": "string"
        },
        "storage": {
            "patternProperties": {
                ".*": {
                    "additionalProperties": false,
                    "properties": {
                        "key": {
                            "pattern": "^0x[a-fA-F\\d]{64}$",
                            "title": "keccak",
                            "type": "string"
                        },
                        "value": {
                            "pattern": "^0x[a-fA-F\\d]{64}$",
                            "title": "keccak",
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        }
    },
    "type": [
        "object"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_storageRangeAt", "params": [<blockNrOrHash>, <txIndex>, <contractAddress>, <keyStart>, <maxResult>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_storageRangeAt", "params": [<blockNrOrHash>, <txIndex>, <contractAddress>, <keyStart>, <maxResult>]}'
```

=== "Javascript Console"

``` js
debug.storageRangeAt(blockNrOrHash,txIndex,contractAddress,keyStart,maxResult);
```
Source code

```go
func (api *DebugAPI) StorageRangeAt(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash, txIndex int, contractAddress common.Address, keyStart hexutil.Bytes, maxResult int) (StorageRangeResult, error) {
var block *types.Block
block, err := api.eth.APIBackend.BlockByNumberOrHash(ctx, blockNrOrHash)
if err != nil {
return StorageRangeResult{}, err
}
if block == nil {
return StorageRangeResult{}, fmt.Errorf("block %v not found", blockNrOrHash)
}
_, _, statedb, release, err := api.eth.stateAtTransaction(ctx, block, txIndex, 0)
if err != nil {
return StorageRangeResult{}, err
}
defer release()
st, err := statedb.StorageTrie(contractAddress)
if err != nil {
return StorageRangeResult{}, err
}
if st == nil {
return StorageRangeResult{}, fmt.Errorf("account %x doesn't exist", contractAddress)
}
return storageRangeAt(st, keyStart, maxResult)
}// StorageRangeAt returns the storage at the given block height and transaction index.

<a href="https://github.com/etclabscore/core-geth/blob/master/eth/api_debug.go#L206" target="_">View on GitHub →</a>
</p>
</details>

---



### debug_subscribe

Subscribe creates a subscription to an event channel.
Subscriptions are not available over HTTP; they are only available over WS, IPC, and Process connections.


#### Params (2)

Parameters must be given _by position_.


__1:__ 
subscriptionName <code>RPCDebugSubscriptionParamsName</code> 

  + Required: ✓ Yes


=== "Schema"

	``` Schema
	
	- oneOf: 

			- description: `Returns transaction traces within a range of blocks.`
			- enum: traceChain
			- type: string


	- title: `subscriptionName`


	```

=== "Raw"

	``` Raw
	{
        "oneOf": [
            {
                "description": "Returns transaction traces within a range of blocks.",
                "enum": [
                    "traceChain"
                ],
                "type": [
                    "string"
                ]
            }
        ],
        "title": "subscriptionName"
    }
	```




__2:__ 
subscriptionOptions <code>interface{}</code> 

  + Required: No






#### Result



subscriptionID <code>rpc.ID</code> 

  + Required: ✓ Yes


=== "Schema"

	``` Schema
	
	- description: `Subscription identifier`
	- title: `subscriptionID`
	- type: string


	```

=== "Raw"

	``` Raw
	{
        "description": "Subscription identifier",
        "title": "subscriptionID",
        "type": [
            "string"
        ]
    }
	```



#### Client Method Invocation Examples






=== "Shell WebSocket"

	``` shell
	wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_subscribe", "params": [<subscriptionName>, <subscriptionOptions>]}'
	```




<details><summary>Source code</summary>
<p>
```go
func (sub *RPCDebugSubscription) Subscribe(subscriptionName RPCDebugSubscriptionParamsName, subscriptionOptions interface{}) (subscriptionID rpc.ID, err error) {
	return
}// Subscribe creates a subscription to an event channel.
// Subscriptions are not available over HTTP; they are only available over WS, IPC, and Process connections.

View on GitHub →


debug_traceBadBlock

TraceBadBlock returns the structured logs created during the execution of
EVM against a block pulled from the pool of bad ones and returns them as a JSON
object.

Params (2)

Parameters must be given by position.

1:
hash common.Hash

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of a Keccak 256 hash`
- pattern: `^0x[a-fA-F\d]{64}$`
- title: `keccak`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of a Keccak 256 hash",
    "pattern": "^0x[a-fA-F\\d]{64}$",
    "title": "keccak",
    "type": [
        "string"
    ]
}
```

2:
config *TraceConfig

  • Required: ✓ Yes

=== "Schema"

``` Schema

- additionalProperties: `false`
- properties: 
	- Debug: 
		- type: `boolean`

	- DisableStack: 
		- type: `boolean`

	- DisableStorage: 
		- type: `boolean`

	- EnableMemory: 
		- type: `boolean`

	- EnableReturnData: 
		- type: `boolean`

	- Limit: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- NestedTraceOutput: 
		- type: `boolean`

	- Reexec: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- Timeout: 
		- type: `string`

	- Tracer: 
		- type: `string`

	- TracerConfig: 
		- media: 
			- binaryEncoding: `base64`

		- type: `string`

	- overrides: 
		- additionalProperties: `true`


- type: object


```

=== "Raw"

``` Raw
{
    "additionalProperties": false,
    "properties": {
        "Debug": {
            "type": "boolean"
        },
        "DisableStack": {
            "type": "boolean"
        },
        "DisableStorage": {
            "type": "boolean"
        },
        "EnableMemory": {
            "type": "boolean"
        },
        "EnableReturnData": {
            "type": "boolean"
        },
        "Limit": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "NestedTraceOutput": {
            "type": "boolean"
        },
        "Reexec": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "Timeout": {
            "type": "string"
        },
        "Tracer": {
            "type": "string"
        },
        "TracerConfig": {
            "media": {
                "binaryEncoding": "base64"
            },
            "type": "string"
        },
        "overrides": {
            "additionalProperties": true
        }
    },
    "type": [
        "object"
    ]
}
```

Result

txTraceResult []*txTraceResult

  • Required: ✓ Yes

=== "Schema"

``` Schema

- items: 

		- additionalProperties: `false`
		- properties: 
			- error: 
				- type: `string`

			- result: 
				- additionalProperties: `true`

			- txHash: 
				- pattern: `^0x[a-fA-F\d]{64}$`
				- title: `keccak`
				- type: `string`


		- type: object


- type: array


```

=== "Raw"

``` Raw
{
    "items": [
        {
            "additionalProperties": false,
            "properties": {
                "error": {
                    "type": "string"
                },
                "result": {
                    "additionalProperties": true
                },
                "txHash": {
                    "pattern": "^0x[a-fA-F\\d]{64}$",
                    "title": "keccak",
                    "type": "string"
                }
            },
            "type": [
                "object"
            ]
        }
    ],
    "type": [
        "array"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_traceBadBlock", "params": [<hash>, <config>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_traceBadBlock", "params": [<hash>, <config>]}'
```

=== "Javascript Console"

``` js
debug.traceBadBlock(hash,config);
```
Source code

```go
func (api *API) TraceBadBlock(ctx context.Context, hash common.Hash, config *TraceConfig) ([ // TraceBadBlock returns the structured logs created during the execution of
// EVM against a block pulled from the pool of bad ones and returns them as a JSON
// object.
]*txTraceResult, error) {
block := rawdb.ReadBadBlock(api.backend.ChainDb(), hash)
if block == nil {
return nil, fmt.Errorf("bad block %#x not found", hash)
}
return api.traceBlock(ctx, block, config)
}
```View on GitHub →


debug_traceBlock

TraceBlock returns the structured logs created during the execution of EVM
and returns them as a JSON object.

Params (2)

Parameters must be given by position.

1:
blob hexutil.Bytes

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of some bytes`
- pattern: `^0x([a-fA-F\d])+$`
- title: `dataWord`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of some bytes",
    "pattern": "^0x([a-fA-F\\d])+$",
    "title": "dataWord",
    "type": [
        "string"
    ]
}
```

2:
config *TraceConfig

  • Required: ✓ Yes

=== "Schema"

``` Schema

- additionalProperties: `false`
- properties: 
	- Debug: 
		- type: `boolean`

	- DisableStack: 
		- type: `boolean`

	- DisableStorage: 
		- type: `boolean`

	- EnableMemory: 
		- type: `boolean`

	- EnableReturnData: 
		- type: `boolean`

	- Limit: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- NestedTraceOutput: 
		- type: `boolean`

	- Reexec: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- Timeout: 
		- type: `string`

	- Tracer: 
		- type: `string`

	- TracerConfig: 
		- media: 
			- binaryEncoding: `base64`

		- type: `string`

	- overrides: 
		- additionalProperties: `true`


- type: object


```

=== "Raw"

``` Raw
{
    "additionalProperties": false,
    "properties": {
        "Debug": {
            "type": "boolean"
        },
        "DisableStack": {
            "type": "boolean"
        },
        "DisableStorage": {
            "type": "boolean"
        },
        "EnableMemory": {
            "type": "boolean"
        },
        "EnableReturnData": {
            "type": "boolean"
        },
        "Limit": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "NestedTraceOutput": {
            "type": "boolean"
        },
        "Reexec": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "Timeout": {
            "type": "string"
        },
        "Tracer": {
            "type": "string"
        },
        "TracerConfig": {
            "media": {
                "binaryEncoding": "base64"
            },
            "type": "string"
        },
        "overrides": {
            "additionalProperties": true
        }
    },
    "type": [
        "object"
    ]
}
```

Result

txTraceResult []*txTraceResult

  • Required: ✓ Yes

=== "Schema"

``` Schema

- items: 

		- additionalProperties: `false`
		- properties: 
			- error: 
				- type: `string`

			- result: 
				- additionalProperties: `true`

			- txHash: 
				- pattern: `^0x[a-fA-F\d]{64}$`
				- title: `keccak`
				- type: `string`


		- type: object


- type: array


```

=== "Raw"

``` Raw
{
    "items": [
        {
            "additionalProperties": false,
            "properties": {
                "error": {
                    "type": "string"
                },
                "result": {
                    "additionalProperties": true
                },
                "txHash": {
                    "pattern": "^0x[a-fA-F\\d]{64}$",
                    "title": "keccak",
                    "type": "string"
                }
            },
            "type": [
                "object"
            ]
        }
    ],
    "type": [
        "array"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_traceBlock", "params": [<blob>, <config>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_traceBlock", "params": [<blob>, <config>]}'
```

=== "Javascript Console"

``` js
debug.traceBlock(blob,config);
```
Source code

```go
func (api *API) TraceBlock(ctx context.Context, blob hexutil.Bytes, config *TraceConfig) ([ // TraceBlock returns the structured logs created during the execution of EVM
// and returns them as a JSON object.
]*txTraceResult, error) {
block := new(types.Block)
if err := rlp.Decode(bytes.NewReader(blob), block); err != nil {
return nil, fmt.Errorf("could not decode block: %v", err)
}
return api.traceBlock(ctx, block, config)
}
```View on GitHub →


debug_traceBlockByHash

TraceBlockByHash returns the structured logs created during the execution of
EVM and returns them as a JSON object.

Params (2)

Parameters must be given by position.

1:
hash common.Hash

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of a Keccak 256 hash`
- pattern: `^0x[a-fA-F\d]{64}$`
- title: `keccak`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of a Keccak 256 hash",
    "pattern": "^0x[a-fA-F\\d]{64}$",
    "title": "keccak",
    "type": [
        "string"
    ]
}
```

2:
config *TraceConfig

  • Required: ✓ Yes

=== "Schema"

``` Schema

- additionalProperties: `false`
- properties: 
	- Debug: 
		- type: `boolean`

	- DisableStack: 
		- type: `boolean`

	- DisableStorage: 
		- type: `boolean`

	- EnableMemory: 
		- type: `boolean`

	- EnableReturnData: 
		- type: `boolean`

	- Limit: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- NestedTraceOutput: 
		- type: `boolean`

	- Reexec: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- Timeout: 
		- type: `string`

	- Tracer: 
		- type: `string`

	- TracerConfig: 
		- media: 
			- binaryEncoding: `base64`

		- type: `string`

	- overrides: 
		- additionalProperties: `true`


- type: object


```

=== "Raw"

``` Raw
{
    "additionalProperties": false,
    "properties": {
        "Debug": {
            "type": "boolean"
        },
        "DisableStack": {
            "type": "boolean"
        },
        "DisableStorage": {
            "type": "boolean"
        },
        "EnableMemory": {
            "type": "boolean"
        },
        "EnableReturnData": {
            "type": "boolean"
        },
        "Limit": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "NestedTraceOutput": {
            "type": "boolean"
        },
        "Reexec": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "Timeout": {
            "type": "string"
        },
        "Tracer": {
            "type": "string"
        },
        "TracerConfig": {
            "media": {
                "binaryEncoding": "base64"
            },
            "type": "string"
        },
        "overrides": {
            "additionalProperties": true
        }
    },
    "type": [
        "object"
    ]
}
```

Result

txTraceResult []*txTraceResult

  • Required: ✓ Yes

=== "Schema"

``` Schema

- items: 

		- additionalProperties: `false`
		- properties: 
			- error: 
				- type: `string`

			- result: 
				- additionalProperties: `true`

			- txHash: 
				- pattern: `^0x[a-fA-F\d]{64}$`
				- title: `keccak`
				- type: `string`


		- type: object


- type: array


```

=== "Raw"

``` Raw
{
    "items": [
        {
            "additionalProperties": false,
            "properties": {
                "error": {
                    "type": "string"
                },
                "result": {
                    "additionalProperties": true
                },
                "txHash": {
                    "pattern": "^0x[a-fA-F\\d]{64}$",
                    "title": "keccak",
                    "type": "string"
                }
            },
            "type": [
                "object"
            ]
        }
    ],
    "type": [
        "array"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_traceBlockByHash", "params": [<hash>, <config>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_traceBlockByHash", "params": [<hash>, <config>]}'
```

=== "Javascript Console"

``` js
debug.traceBlockByHash(hash,config);
```
Source code

```go
func (api *API) TraceBlockByHash(ctx context.Context, hash common.Hash, config *TraceConfig) ([ // TraceBlockByHash returns the structured logs created during the execution of
// EVM and returns them as a JSON object.
]*txTraceResult, error) {
block, err := api.blockByHash(ctx, hash)
if err != nil {
return nil, err
}
return api.traceBlock(ctx, block, config)
}
```View on GitHub →


debug_traceBlockByNumber

TraceBlockByNumber returns the structured logs created during the execution of
EVM and returns them as a JSON object.

Params (2)

Parameters must be given by position.

1:
number rpc.BlockNumber

  • Required: ✓ Yes

=== "Schema"

``` Schema

- oneOf: 

		- description: `The block height description`
		- enum: earliest, latest, pending
		- title: `blockNumberTag`
		- type: string


		- description: `Hex representation of a uint64`
		- pattern: `^0x([a-fA-F\d])+$`
		- title: `uint64`
		- type: string


- title: `blockNumberIdentifier`


```

=== "Raw"

``` Raw
{
    "oneOf": [
        {
            "description": "The block height description",
            "enum": [
                "earliest",
                "latest",
                "pending"
            ],
            "title": "blockNumberTag",
            "type": [
                "string"
            ]
        },
        {
            "description": "Hex representation of a uint64",
            "pattern": "^0x([a-fA-F\\d])+$",
            "title": "uint64",
            "type": [
                "string"
            ]
        }
    ],
    "title": "blockNumberIdentifier"
}
```

2:
config *TraceConfig

  • Required: ✓ Yes

=== "Schema"

``` Schema

- additionalProperties: `false`
- properties: 
	- Debug: 
		- type: `boolean`

	- DisableStack: 
		- type: `boolean`

	- DisableStorage: 
		- type: `boolean`

	- EnableMemory: 
		- type: `boolean`

	- EnableReturnData: 
		- type: `boolean`

	- Limit: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- NestedTraceOutput: 
		- type: `boolean`

	- Reexec: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- Timeout: 
		- type: `string`

	- Tracer: 
		- type: `string`

	- TracerConfig: 
		- media: 
			- binaryEncoding: `base64`

		- type: `string`

	- overrides: 
		- additionalProperties: `true`


- type: object


```

=== "Raw"

``` Raw
{
    "additionalProperties": false,
    "properties": {
        "Debug": {
            "type": "boolean"
        },
        "DisableStack": {
            "type": "boolean"
        },
        "DisableStorage": {
            "type": "boolean"
        },
        "EnableMemory": {
            "type": "boolean"
        },
        "EnableReturnData": {
            "type": "boolean"
        },
        "Limit": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "NestedTraceOutput": {
            "type": "boolean"
        },
        "Reexec": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "Timeout": {
            "type": "string"
        },
        "Tracer": {
            "type": "string"
        },
        "TracerConfig": {
            "media": {
                "binaryEncoding": "base64"
            },
            "type": "string"
        },
        "overrides": {
            "additionalProperties": true
        }
    },
    "type": [
        "object"
    ]
}
```

Result

txTraceResult []*txTraceResult

  • Required: ✓ Yes

=== "Schema"

``` Schema

- items: 

		- additionalProperties: `false`
		- properties: 
			- error: 
				- type: `string`

			- result: 
				- additionalProperties: `true`

			- txHash: 
				- pattern: `^0x[a-fA-F\d]{64}$`
				- title: `keccak`
				- type: `string`


		- type: object


- type: array


```

=== "Raw"

``` Raw
{
    "items": [
        {
            "additionalProperties": false,
            "properties": {
                "error": {
                    "type": "string"
                },
                "result": {
                    "additionalProperties": true
                },
                "txHash": {
                    "pattern": "^0x[a-fA-F\\d]{64}$",
                    "title": "keccak",
                    "type": "string"
                }
            },
            "type": [
                "object"
            ]
        }
    ],
    "type": [
        "array"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_traceBlockByNumber", "params": [<number>, <config>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_traceBlockByNumber", "params": [<number>, <config>]}'
```

=== "Javascript Console"

``` js
debug.traceBlockByNumber(number,config);
```
Source code

```go
func (api *API) TraceBlockByNumber(ctx context.Context, number rpc.BlockNumber, config *TraceConfig) ([ // TraceBlockByNumber returns the structured logs created during the execution of
// EVM and returns them as a JSON object.
]*txTraceResult, error) {
block, err := api.blockByNumber(ctx, number)
if err != nil {
return nil, err
}
return api.traceBlock(ctx, block, config)
}
```View on GitHub →


debug_traceBlockFromFile

TraceBlockFromFile returns the structured logs created during the execution of
EVM and returns them as a JSON object.

Params (2)

Parameters must be given by position.

1:
file string

  • Required: ✓ Yes

2:
config *TraceConfig

  • Required: ✓ Yes

=== "Schema"

``` Schema

- additionalProperties: `false`
- properties: 
	- Debug: 
		- type: `boolean`

	- DisableStack: 
		- type: `boolean`

	- DisableStorage: 
		- type: `boolean`

	- EnableMemory: 
		- type: `boolean`

	- EnableReturnData: 
		- type: `boolean`

	- Limit: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- NestedTraceOutput: 
		- type: `boolean`

	- Reexec: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- Timeout: 
		- type: `string`

	- Tracer: 
		- type: `string`

	- TracerConfig: 
		- media: 
			- binaryEncoding: `base64`

		- type: `string`

	- overrides: 
		- additionalProperties: `true`


- type: object


```

=== "Raw"

``` Raw
{
    "additionalProperties": false,
    "properties": {
        "Debug": {
            "type": "boolean"
        },
        "DisableStack": {
            "type": "boolean"
        },
        "DisableStorage": {
            "type": "boolean"
        },
        "EnableMemory": {
            "type": "boolean"
        },
        "EnableReturnData": {
            "type": "boolean"
        },
        "Limit": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "NestedTraceOutput": {
            "type": "boolean"
        },
        "Reexec": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "Timeout": {
            "type": "string"
        },
        "Tracer": {
            "type": "string"
        },
        "TracerConfig": {
            "media": {
                "binaryEncoding": "base64"
            },
            "type": "string"
        },
        "overrides": {
            "additionalProperties": true
        }
    },
    "type": [
        "object"
    ]
}
```

Result

txTraceResult []*txTraceResult

  • Required: ✓ Yes

=== "Schema"

``` Schema

- items: 

		- additionalProperties: `false`
		- properties: 
			- error: 
				- type: `string`

			- result: 
				- additionalProperties: `true`

			- txHash: 
				- pattern: `^0x[a-fA-F\d]{64}$`
				- title: `keccak`
				- type: `string`


		- type: object


- type: array


```

=== "Raw"

``` Raw
{
    "items": [
        {
            "additionalProperties": false,
            "properties": {
                "error": {
                    "type": "string"
                },
                "result": {
                    "additionalProperties": true
                },
                "txHash": {
                    "pattern": "^0x[a-fA-F\\d]{64}$",
                    "title": "keccak",
                    "type": "string"
                }
            },
            "type": [
                "object"
            ]
        }
    ],
    "type": [
        "array"
    ]
}
```

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_traceBlockFromFile", "params": [<file>, <config>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_traceBlockFromFile", "params": [<file>, <config>]}'
```

=== "Javascript Console"

``` js
debug.traceBlockFromFile(file,config);
```
Source code

```go
func (api *API) TraceBlockFromFile(ctx context.Context, file string, config *TraceConfig) ([ // TraceBlockFromFile returns the structured logs created during the execution of
// EVM and returns them as a JSON object.
]*txTraceResult, error) {
blob, err := os.ReadFile(file)
if err != nil {
return nil, fmt.Errorf("could not read file: %v", err)
}
return api.TraceBlock(ctx, blob, config)
}
```View on GitHub →


debug_traceCall

TraceCall lets you trace a given eth_call. It collects the structured logs
created during the execution of EVM if the given transaction was added on
top of the provided block and returns them as a JSON object.

Params (3)

Parameters must be given by position.

1:
args ethapi.TransactionArgs

  • Required: ✓ Yes

=== "Schema"

``` Schema

- additionalProperties: `false`
- properties: 
	- accessList: 
		- items: 
			- additionalProperties: `false`
			- properties: 
				- address: 
					- pattern: `^0x[a-fA-F\d]{64}$`
					- title: `keccak`
					- type: `string`

				- storageKeys: 
					- items: 
						- description: `Hex representation of a Keccak 256 hash`
						- pattern: `^0x[a-fA-F\d]{64}$`
						- title: `keccak`
						- type: `string`

					- type: `array`


			- type: `object`

		- type: `array`

	- chainId: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- data: 
		- pattern: `^0x([a-fA-F\d])+$`
		- title: `dataWord`
		- type: `string`

	- from: 
		- pattern: `^0x[a-fA-F\d]{64}$`
		- title: `keccak`
		- type: `string`

	- gas: 
		- pattern: `^0x([a-fA-F\d])+$`
		- title: `uint64`
		- type: `string`

	- gasPrice: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- input: 
		- pattern: `^0x([a-fA-F\d])+$`
		- title: `dataWord`
		- type: `string`

	- maxFeePerGas: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- maxPriorityFeePerGas: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- nonce: 
		- pattern: `^0x([a-fA-F\d])+$`
		- title: `uint64`
		- type: `string`

	- to: 
		- pattern: `^0x[a-fA-F\d]{64}$`
		- title: `keccak`
		- type: `string`

	- value: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`


- type: object


```

=== "Raw"

``` Raw
{
    "additionalProperties": false,
    "properties": {
        "accessList": {
            "items": {
                "additionalProperties": false,
                "properties": {
                    "address": {
                        "pattern": "^0x[a-fA-F\\d]{64}$",
                        "title": "keccak",
                        "type": "string"
                    },
                    "storageKeys": {
                        "items": {
                            "description": "Hex representation of a Keccak 256 hash",
                            "pattern": "^0x[a-fA-F\\d]{64}$",
                            "title": "keccak",
                            "type": "string"
                        },
                        "type": "array"
                    }
                },
                "type": "object"
            },
            "type": "array"
        },
        "chainId": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "data": {
            "pattern": "^0x([a-fA-F\\d])+$",
            "title": "dataWord",
            "type": "string"
        },
        "from": {
            "pattern": "^0x[a-fA-F\\d]{64}$",
            "title": "keccak",
            "type": "string"
        },
        "gas": {
            "pattern": "^0x([a-fA-F\\d])+$",
            "title": "uint64",
            "type": "string"
        },
        "gasPrice": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "input": {
            "pattern": "^0x([a-fA-F\\d])+$",
            "title": "dataWord",
            "type": "string"
        },
        "maxFeePerGas": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "maxPriorityFeePerGas": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "nonce": {
            "pattern": "^0x([a-fA-F\\d])+$",
            "title": "uint64",
            "type": "string"
        },
        "to": {
            "pattern": "^0x[a-fA-F\\d]{64}$",
            "title": "keccak",
            "type": "string"
        },
        "value": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        }
    },
    "type": [
        "object"
    ]
}
```

2:
blockNrOrHash rpc.BlockNumberOrHash

  • Required: ✓ Yes

3:
config *TraceCallConfig

  • Required: ✓ Yes

=== "Schema"

``` Schema

- additionalProperties: `false`
- properties: 
	- BlockOverrides: 
		- additionalProperties: `false`
		- properties: 
			- BaseFee: 
				- pattern: `^0x[a-fA-F0-9]+$`
				- title: `integer`
				- type: `string`

			- Coinbase: 
				- pattern: `^0x[a-fA-F\d]{64}$`
				- title: `keccak`
				- type: `string`

			- Difficulty: 
				- pattern: `^0x[a-fA-F0-9]+$`
				- title: `integer`
				- type: `string`

			- GasLimit: 
				- pattern: `^0x([a-fA-F\d])+$`
				- title: `uint64`
				- type: `string`

			- Number: 
				- pattern: `^0x[a-fA-F0-9]+$`
				- title: `integer`
				- type: `string`

			- Random: 
				- pattern: `^0x[a-fA-F\d]{64}$`
				- title: `keccak`
				- type: `string`

			- Time: 
				- pattern: `^0x([a-fA-F\d])+$`
				- title: `uint64`
				- type: `string`


		- type: `object`

	- Debug: 
		- type: `boolean`

	- DisableStack: 
		- type: `boolean`

	- DisableStorage: 
		- type: `boolean`

	- EnableMemory: 
		- type: `boolean`

	- EnableReturnData: 
		- type: `boolean`

	- Limit: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- NestedTraceOutput: 
		- type: `boolean`

	- Reexec: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- StateOverrides: 
		- patternProperties: 
			- .*: 
				- additionalProperties: `false`
				- properties: 
					- balance: 
						- pattern: `^0x[a-fA-F0-9]+$`
						- title: `integer`
						- type: `string`

					- code: 
						- pattern: `^0x([a-fA-F\d])+$`
						- title: `dataWord`
						- type: `string`

					- nonce: 
						- pattern: `^0x([a-fA-F\d])+$`
						- title: `uint64`
						- type: `string`

					- state: 
						- patternProperties: 
							- .*: 
								- description: `Hex representation of a Keccak 256 hash`
								- pattern: `^0x[a-fA-F\d]{64}$`
								- title: `keccak`
								- type: `string`


						- type: `object`

					- stateDiff: 
						- patternProperties: 
							- .*: 
								- description: `Hex representation of a Keccak 256 hash`
								- pattern: `^0x[a-fA-F\d]{64}$`
								- title: `keccak`
								- type: `string`


						- type: `object`


				- type: `object`


		- type: `object`

	- Timeout: 
		- type: `string`

	- Tracer: 
		- type: `string`

	- TracerConfig: 
		- media: 
			- binaryEncoding: `base64`

		- type: `string`

	- overrides: 
		- additionalProperties: `true`


- type: object


```

=== "Raw"

``` Raw
{
    "additionalProperties": false,
    "properties": {
        "BlockOverrides": {
            "additionalProperties": false,
            "properties": {
                "BaseFee": {
                    "pattern": "^0x[a-fA-F0-9]+$",
                    "title": "integer",
                    "type": "string"
                },
                "Coinbase": {
                    "pattern": "^0x[a-fA-F\\d]{64}$",
                    "title": "keccak",
                    "type": "string"
                },
                "Difficulty": {
                    "pattern": "^0x[a-fA-F0-9]+$",
                    "title": "integer",
                    "type": "string"
                },
                "GasLimit": {
                    "pattern": "^0x([a-fA-F\\d])+$",
                    "title": "uint64",
                    "type": "string"
                },
                "Number": {
                    "pattern": "^0x[a-fA-F0-9]+$",
                    "title": "integer",
                    "type": "string"
                },
                "Random": {
                    "pattern": "^0x[a-fA-F\\d]{64}$",
                    "title": "keccak",
                    "type": "string"
                },
                "Time": {
                    "pattern": "^0x([a-fA-F\\d])+$",
                    "title": "uint64",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "Debug": {
            "type": "boolean"
        },
        "DisableStack": {
            "type": "boolean"
        },
        "DisableStorage": {
            "type": "boolean"
        },
        "EnableMemory": {
            "type": "boolean"
        },
        "EnableReturnData": {
            "type": "boolean"
        },
        "Limit": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "NestedTraceOutput": {
            "type": "boolean"
        },
        "Reexec": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "StateOverrides": {
            "patternProperties": {
                ".*": {
                    "additionalProperties": false,
                    "properties": {
                        "balance": {
                            "pattern": "^0x[a-fA-F0-9]+$",
                            "title": "integer",
                            "type": "string"
                        },
                        "code": {
                            "pattern": "^0x([a-fA-F\\d])+$",
                            "title": "dataWord",
                            "type": "string"
                        },
                        "nonce": {
                            "pattern": "^0x([a-fA-F\\d])+$",
                            "title": "uint64",
                            "type": "string"
                        },
                        "state": {
                            "patternProperties": {
                                ".*": {
                                    "description": "Hex representation of a Keccak 256 hash",
                                    "pattern": "^0x[a-fA-F\\d]{64}$",
                                    "title": "keccak",
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "stateDiff": {
                            "patternProperties": {
                                ".*": {
                                    "description": "Hex representation of a Keccak 256 hash",
                                    "pattern": "^0x[a-fA-F\\d]{64}$",
                                    "title": "keccak",
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        },
        "Timeout": {
            "type": "string"
        },
        "Tracer": {
            "type": "string"
        },
        "TracerConfig": {
            "media": {
                "binaryEncoding": "base64"
            },
            "type": "string"
        },
        "overrides": {
            "additionalProperties": true
        }
    },
    "type": [
        "object"
    ]
}
```

Result

interface interface{}

  • Required: ✓ Yes

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_traceCall", "params": [<args>, <blockNrOrHash>, <config>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_traceCall", "params": [<args>, <blockNrOrHash>, <config>]}'
```

=== "Javascript Console"

``` js
debug.traceCall(args,blockNrOrHash,config);
```
Source code

```go
func (api *API) TraceCall(ctx context.Context, args ethapi.TransactionArgs, blockNrOrHash rpc.BlockNumberOrHash, config *TraceCallConfig) (interface{}, error) {
var (
err error
block *types.Block
)
if hash, ok := blockNrOrHash.Hash(); ok {
block, err = api.blockByHash(ctx, hash)
} else if number, ok := blockNrOrHash.Number(); ok {
if number == rpc.PendingBlockNumber {
return nil, errors.New("tracing on top of pending is not supported")
}
block, err = api.blockByNumber(ctx, number)
} else {
return nil, errors.New("invalid arguments; neither block nor hash specified")
}
if err != nil {
return nil, err
}
reexec := defaultTraceReexec
if config != nil && config.Reexec != nil {
reexec = *config.Reexec
}
statedb, release, err := api.backend.StateAtBlock(ctx, block, reexec, nil, true, false)
if err != nil {
return nil, err
}
defer release()
vmctx := core.NewEVMBlockContext(block.Header(), api.chainContext(ctx), nil)
if config != nil {
if err := config.StateOverrides.Apply(statedb); err != nil {
return nil, err
}
config.BlockOverrides.Apply(&vmctx)
}
msg, err := args.ToMessage(api.backend.RPCGasCap(), block.BaseFee())
if err != nil {
return nil, err
}
traceConfig := getTraceConfigFromTraceCallConfig(config)
return api.traceTx(ctx, msg, new(Context), vmctx, statedb, traceConfig)
}// TraceCall lets you trace a given eth_call. It collects the structured logs
// created during the execution of EVM if the given transaction was added on
// top of the provided block and returns them as a JSON object.
// Try to retrieve the specified block

<a href="https://github.com/etclabscore/core-geth/blob/master/eth/tracers/api.go#L886" target="_">View on GitHub →</a>
</p>
</details>

---



### debug_traceCallMany

TraceCallMany lets you trace a given eth_call. It collects the structured logs created during the execution of EVM
if the given transaction was added on top of the provided block and returns them as a JSON object.
You can provide -2 as a block number to trace on top of the pending block.


#### Params (3)

Parameters must be given _by position_.


__1:__ 
txs <code>[]ethapi.TransactionArgs</code> 

  + Required: ✓ Yes


=== "Schema"

	``` Schema
	
	- items: 

			- additionalProperties: `false`
			- properties: 
				- accessList: 
					- items: 
						- additionalProperties: `false`
						- properties: 
							- address: 
								- pattern: `^0x[a-fA-F\d]{64}$`
								- title: `keccak`
								- type: `string`

							- storageKeys: 
								- items: 
									- description: `Hex representation of a Keccak 256 hash`
									- pattern: `^0x[a-fA-F\d]{64}$`
									- title: `keccak`
									- type: `string`

								- type: `array`


						- type: `object`

					- type: `array`

				- chainId: 
					- pattern: `^0x[a-fA-F0-9]+$`
					- title: `integer`
					- type: `string`

				- data: 
					- pattern: `^0x([a-fA-F\d])+$`
					- title: `dataWord`
					- type: `string`

				- from: 
					- pattern: `^0x[a-fA-F\d]{64}$`
					- title: `keccak`
					- type: `string`

				- gas: 
					- pattern: `^0x([a-fA-F\d])+$`
					- title: `uint64`
					- type: `string`

				- gasPrice: 
					- pattern: `^0x[a-fA-F0-9]+$`
					- title: `integer`
					- type: `string`

				- input: 
					- pattern: `^0x([a-fA-F\d])+$`
					- title: `dataWord`
					- type: `string`

				- maxFeePerGas: 
					- pattern: `^0x[a-fA-F0-9]+$`
					- title: `integer`
					- type: `string`

				- maxPriorityFeePerGas: 
					- pattern: `^0x[a-fA-F0-9]+$`
					- title: `integer`
					- type: `string`

				- nonce: 
					- pattern: `^0x([a-fA-F\d])+$`
					- title: `uint64`
					- type: `string`

				- to: 
					- pattern: `^0x[a-fA-F\d]{64}$`
					- title: `keccak`
					- type: `string`

				- value: 
					- pattern: `^0x[a-fA-F0-9]+$`
					- title: `integer`
					- type: `string`


			- type: object


	- type: array


	```

=== "Raw"

	``` Raw
	{
        "items": [
            {
                "additionalProperties": false,
                "properties": {
                    "accessList": {
                        "items": {
                            "additionalProperties": false,
                            "properties": {
                                "address": {
                                    "pattern": "^0x[a-fA-F\\d]{64}$",
                                    "title": "keccak",
                                    "type": "string"
                                },
                                "storageKeys": {
                                    "items": {
                                        "description": "Hex representation of a Keccak 256 hash",
                                        "pattern": "^0x[a-fA-F\\d]{64}$",
                                        "title": "keccak",
                                        "type": "string"
                                    },
                                    "type": "array"
                                }
                            },
                            "type": "object"
                        },
                        "type": "array"
                    },
                    "chainId": {
                        "pattern": "^0x[a-fA-F0-9]+$",
                        "title": "integer",
                        "type": "string"
                    },
                    "data": {
                        "pattern": "^0x([a-fA-F\\d])+$",
                        "title": "dataWord",
                        "type": "string"
                    },
                    "from": {
                        "pattern": "^0x[a-fA-F\\d]{64}$",
                        "title": "keccak",
                        "type": "string"
                    },
                    "gas": {
                        "pattern": "^0x([a-fA-F\\d])+$",
                        "title": "uint64",
                        "type": "string"
                    },
                    "gasPrice": {
                        "pattern": "^0x[a-fA-F0-9]+$",
                        "title": "integer",
                        "type": "string"
                    },
                    "input": {
                        "pattern": "^0x([a-fA-F\\d])+$",
                        "title": "dataWord",
                        "type": "string"
                    },
                    "maxFeePerGas": {
                        "pattern": "^0x[a-fA-F0-9]+$",
                        "title": "integer",
                        "type": "string"
                    },
                    "maxPriorityFeePerGas": {
                        "pattern": "^0x[a-fA-F0-9]+$",
                        "title": "integer",
                        "type": "string"
                    },
                    "nonce": {
                        "pattern": "^0x([a-fA-F\\d])+$",
                        "title": "uint64",
                        "type": "string"
                    },
                    "to": {
                        "pattern": "^0x[a-fA-F\\d]{64}$",
                        "title": "keccak",
                        "type": "string"
                    },
                    "value": {
                        "pattern": "^0x[a-fA-F0-9]+$",
                        "title": "integer",
                        "type": "string"
                    }
                },
                "type": [
                    "object"
                ]
            }
        ],
        "type": [
            "array"
        ]
    }
	```




__2:__ 
blockNrOrHash <code>rpc.BlockNumberOrHash</code> 

  + Required: ✓ Yes





__3:__ 
config <code>*TraceCallConfig</code> 

  + Required: ✓ Yes


=== "Schema"

	``` Schema
	
	- additionalProperties: `false`
	- properties: 
		- BlockOverrides: 
			- additionalProperties: `false`
			- properties: 
				- BaseFee: 
					- pattern: `^0x[a-fA-F0-9]+$`
					- title: `integer`
					- type: `string`

				- Coinbase: 
					- pattern: `^0x[a-fA-F\d]{64}$`
					- title: `keccak`
					- type: `string`

				- Difficulty: 
					- pattern: `^0x[a-fA-F0-9]+$`
					- title: `integer`
					- type: `string`

				- GasLimit: 
					- pattern: `^0x([a-fA-F\d])+$`
					- title: `uint64`
					- type: `string`

				- Number: 
					- pattern: `^0x[a-fA-F0-9]+$`
					- title: `integer`
					- type: `string`

				- Random: 
					- pattern: `^0x[a-fA-F\d]{64}$`
					- title: `keccak`
					- type: `string`

				- Time: 
					- pattern: `^0x([a-fA-F\d])+$`
					- title: `uint64`
					- type: `string`


			- type: `object`

		- Debug: 
			- type: `boolean`

		- DisableStack: 
			- type: `boolean`

		- DisableStorage: 
			- type: `boolean`

		- EnableMemory: 
			- type: `boolean`

		- EnableReturnData: 
			- type: `boolean`

		- Limit: 
			- pattern: `^0x[a-fA-F0-9]+$`
			- title: `integer`
			- type: `string`

		- NestedTraceOutput: 
			- type: `boolean`

		- Reexec: 
			- pattern: `^0x[a-fA-F0-9]+$`
			- title: `integer`
			- type: `string`

		- StateOverrides: 
			- patternProperties: 
				- .*: 
					- additionalProperties: `false`
					- properties: 
						- balance: 
							- pattern: `^0x[a-fA-F0-9]+$`
							- title: `integer`
							- type: `string`

						- code: 
							- pattern: `^0x([a-fA-F\d])+$`
							- title: `dataWord`
							- type: `string`

						- nonce: 
							- pattern: `^0x([a-fA-F\d])+$`
							- title: `uint64`
							- type: `string`

						- state: 
							- patternProperties: 
								- .*: 
									- description: `Hex representation of a Keccak 256 hash`
									- pattern: `^0x[a-fA-F\d]{64}$`
									- title: `keccak`
									- type: `string`


							- type: `object`

						- stateDiff: 
							- patternProperties: 
								- .*: 
									- description: `Hex representation of a Keccak 256 hash`
									- pattern: `^0x[a-fA-F\d]{64}$`
									- title: `keccak`
									- type: `string`


							- type: `object`


					- type: `object`


			- type: `object`

		- Timeout: 
			- type: `string`

		- Tracer: 
			- type: `string`

		- TracerConfig: 
			- media: 
				- binaryEncoding: `base64`

			- type: `string`

		- overrides: 
			- additionalProperties: `true`


	- type: object


	```

=== "Raw"

	``` Raw
	{
        "additionalProperties": false,
        "properties": {
            "BlockOverrides": {
                "additionalProperties": false,
                "properties": {
                    "BaseFee": {
                        "pattern": "^0x[a-fA-F0-9]+$",
                        "title": "integer",
                        "type": "string"
                    },
                    "Coinbase": {
                        "pattern": "^0x[a-fA-F\\d]{64}$",
                        "title": "keccak",
                        "type": "string"
                    },
                    "Difficulty": {
                        "pattern": "^0x[a-fA-F0-9]+$",
                        "title": "integer",
                        "type": "string"
                    },
                    "GasLimit": {
                        "pattern": "^0x([a-fA-F\\d])+$",
                        "title": "uint64",
                        "type": "string"
                    },
                    "Number": {
                        "pattern": "^0x[a-fA-F0-9]+$",
                        "title": "integer",
                        "type": "string"
                    },
                    "Random": {
                        "pattern": "^0x[a-fA-F\\d]{64}$",
                        "title": "keccak",
                        "type": "string"
                    },
                    "Time": {
                        "pattern": "^0x([a-fA-F\\d])+$",
                        "title": "uint64",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "Debug": {
                "type": "boolean"
            },
            "DisableStack": {
                "type": "boolean"
            },
            "DisableStorage": {
                "type": "boolean"
            },
            "EnableMemory": {
                "type": "boolean"
            },
            "EnableReturnData": {
                "type": "boolean"
            },
            "Limit": {
                "pattern": "^0x[a-fA-F0-9]+$",
                "title": "integer",
                "type": "string"
            },
            "NestedTraceOutput": {
                "type": "boolean"
            },
            "Reexec": {
                "pattern": "^0x[a-fA-F0-9]+$",
                "title": "integer",
                "type": "string"
            },
            "StateOverrides": {
                "patternProperties": {
                    ".*": {
                        "additionalProperties": false,
                        "properties": {
                            "balance": {
                                "pattern": "^0x[a-fA-F0-9]+$",
                                "title": "integer",
                                "type": "string"
                            },
                            "code": {
                                "pattern": "^0x([a-fA-F\\d])+$",
                                "title": "dataWord",
                                "type": "string"
                            },
                            "nonce": {
                                "pattern": "^0x([a-fA-F\\d])+$",
                                "title": "uint64",
                                "type": "string"
                            },
                            "state": {
                                "patternProperties": {
                                    ".*": {
                                        "description": "Hex representation of a Keccak 256 hash",
                                        "pattern": "^0x[a-fA-F\\d]{64}$",
                                        "title": "keccak",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            },
                            "stateDiff": {
                                "patternProperties": {
                                    ".*": {
                                        "description": "Hex representation of a Keccak 256 hash",
                                        "pattern": "^0x[a-fA-F\\d]{64}$",
                                        "title": "keccak",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "Timeout": {
                "type": "string"
            },
            "Tracer": {
                "type": "string"
            },
            "TracerConfig": {
                "media": {
                    "binaryEncoding": "base64"
                },
                "type": "string"
            },
            "overrides": {
                "additionalProperties": true
            }
        },
        "type": [
            "object"
        ]
    }
	```





#### Result



interface <code>interface{}</code> 

  + Required: ✓ Yes




#### Client Method Invocation Examples


=== "Shell HTTP"

	``` shell
	curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_traceCallMany", "params": [<txs>, <blockNrOrHash>, <config>]}'
	```





=== "Shell WebSocket"

	``` shell
	wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_traceCallMany", "params": [<txs>, <blockNrOrHash>, <config>]}'
	```


=== "Javascript Console"

	``` js
	debug.traceCallMany(txs,blockNrOrHash,config);
	```



<details><summary>Source code</summary>
<p>
```go
func (api *API) TraceCallMany(ctx context.Context, txs [ // TraceCallMany lets you trace a given eth_call. It collects the structured logs created during the execution of EVM
// if the given transaction was added on top of the provided block and returns them as a JSON object.
// You can provide -2 as a block number to trace on top of the pending block.
]ethapi.TransactionArgs, blockNrOrHash rpc.BlockNumberOrHash, config *TraceCallConfig) (interface{}, error) {
	var (
		err	error
		block	*types.Block
	)
	if hash, ok := blockNrOrHash.Hash(); ok {
		block, err = api.blockByHash(ctx, hash)
	} else if number, ok := blockNrOrHash.Number(); ok {
		block, err = api.blockByNumber(ctx, number)
	} else {
		return nil, errors.New("invalid arguments; neither block nor hash specified")
	}
	if err != nil {
		return nil, err
	}
	reexec := defaultTraceReexec
	if config != nil && config.Reexec != nil {
		reexec = *config.Reexec
	}
	statedb, release, err := api.backend.StateAtBlock(ctx, block, reexec, nil, true, false)
	if err != nil {
		return nil, err
	}
	defer release()
	if config != nil {
		if err := config.StateOverrides.Apply(statedb); err != nil {
			return nil, err
		}
	}
	traceConfig := getTraceConfigFromTraceCallConfig(config)
	var results = make([ // Try to retrieve the specified block
	]interface{}, len(txs))
	for idx, args := range txs {
		msg, err := args.ToMessage(api.backend.RPCGasCap(), block.BaseFee())
		if err != nil {
			results[idx] = &txTraceResult{Error: err.Error()}
			continue
		}
		vmctx := core.NewEVMBlockContext(block.Header(), api.chainContext(ctx), nil)
		res, err := api.traceTx(ctx, msg, new(Context), vmctx, statedb, traceConfig)
		if err != nil {
			results[idx] = &txTraceResult{Error: err.Error()}
			continue
		}
		res, err = decorateResponse(res, traceConfig)
		if err != nil {
			return nil, fmt.Errorf("failed to decorate response for transaction at index %d with error %v", idx, err)
		}
		results[idx] = res
	}
	return results, nil
}

View on GitHub →


debug_traceChain

TraceChain returns the structured logs created during the execution of EVM
between two blocks (excluding start) and returns them as a JSON object.

Params (3)

Parameters must be given by position.

1:
start rpc.BlockNumber

  • Required: ✓ Yes

=== "Schema"

``` Schema

- oneOf: 

		- description: `The block height description`
		- enum: earliest, latest, pending
		- title: `blockNumberTag`
		- type: string


		- description: `Hex representation of a uint64`
		- pattern: `^0x([a-fA-F\d])+$`
		- title: `uint64`
		- type: string


- title: `blockNumberIdentifier`


```

=== "Raw"

``` Raw
{
    "oneOf": [
        {
            "description": "The block height description",
            "enum": [
                "earliest",
                "latest",
                "pending"
            ],
            "title": "blockNumberTag",
            "type": [
                "string"
            ]
        },
        {
            "description": "Hex representation of a uint64",
            "pattern": "^0x([a-fA-F\\d])+$",
            "title": "uint64",
            "type": [
                "string"
            ]
        }
    ],
    "title": "blockNumberIdentifier"
}
```

2:
end rpc.BlockNumber

  • Required: ✓ Yes

=== "Schema"

``` Schema

- oneOf: 

		- description: `The block height description`
		- enum: earliest, latest, pending
		- title: `blockNumberTag`
		- type: string


		- description: `Hex representation of a uint64`
		- pattern: `^0x([a-fA-F\d])+$`
		- title: `uint64`
		- type: string


- title: `blockNumberIdentifier`


```

=== "Raw"

``` Raw
{
    "oneOf": [
        {
            "description": "The block height description",
            "enum": [
                "earliest",
                "latest",
                "pending"
            ],
            "title": "blockNumberTag",
            "type": [
                "string"
            ]
        },
        {
            "description": "Hex representation of a uint64",
            "pattern": "^0x([a-fA-F\\d])+$",
            "title": "uint64",
            "type": [
                "string"
            ]
        }
    ],
    "title": "blockNumberIdentifier"
}
```

3:
config *TraceConfig

  • Required: ✓ Yes

=== "Schema"

``` Schema

- additionalProperties: `false`
- properties: 
	- Debug: 
		- type: `boolean`

	- DisableStack: 
		- type: `boolean`

	- DisableStorage: 
		- type: `boolean`

	- EnableMemory: 
		- type: `boolean`

	- EnableReturnData: 
		- type: `boolean`

	- Limit: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- NestedTraceOutput: 
		- type: `boolean`

	- Reexec: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- Timeout: 
		- type: `string`

	- Tracer: 
		- type: `string`

	- TracerConfig: 
		- media: 
			- binaryEncoding: `base64`

		- type: `string`

	- overrides: 
		- additionalProperties: `true`


- type: object


```

=== "Raw"

``` Raw
{
    "additionalProperties": false,
    "properties": {
        "Debug": {
            "type": "boolean"
        },
        "DisableStack": {
            "type": "boolean"
        },
        "DisableStorage": {
            "type": "boolean"
        },
        "EnableMemory": {
            "type": "boolean"
        },
        "EnableReturnData": {
            "type": "boolean"
        },
        "Limit": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "NestedTraceOutput": {
            "type": "boolean"
        },
        "Reexec": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "Timeout": {
            "type": "string"
        },
        "Tracer": {
            "type": "string"
        },
        "TracerConfig": {
            "media": {
                "binaryEncoding": "base64"
            },
            "type": "string"
        },
        "overrides": {
            "additionalProperties": true
        }
    },
    "type": [
        "object"
    ]
}
```

Result

*rpc.Subscription

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Subscription identifier`
- title: `subscriptionID`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Subscription identifier",
    "title": "subscriptionID",
    "type": [
        "string"
    ]
}
```

Client Method Invocation Examples

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_subscribe", "params": ["traceChain", <start>, <end>, <config>]}'
```
Source code

```go
func (api *API) TraceChain(ctx context.Context, start, end rpc.BlockNumber, config *TraceConfig) (*rpc.Subscription, error) {
from, err := api.blockByNumber(ctx, start)
if err != nil {
return nil, err
}
to, err := api.blockByNumber(ctx, end)
if err != nil {
return nil, err
}
if from.Number().Cmp(to.Number()) >= 0 {
return nil, fmt.Errorf("end block (#%d) needs to come after start block (#%d)", end, start)
}
notifier, supported := rpc.NotifierFromContext(ctx)
if !supported {
return &rpc.Subscription{}, rpc.ErrNotificationsUnsupported
}
sub := notifier.CreateSubscription()
resCh := api.traceChain(from, to, config, notifier.Closed())
go func() {
for result := // TraceChain returns the structured logs created during the execution of EVM
// between two blocks (excluding start) and returns them as a JSON object.
range resCh {
notifier.Notify(sub.ID, result)
}
}()
return sub, nil
}
```View on GitHub →


debug_traceTransaction

TraceTransaction returns the structured logs created during the execution of EVM
and returns them as a JSON object.

Params (2)

Parameters must be given by position.

1:
hash common.Hash

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of a Keccak 256 hash`
- pattern: `^0x[a-fA-F\d]{64}$`
- title: `keccak`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of a Keccak 256 hash",
    "pattern": "^0x[a-fA-F\\d]{64}$",
    "title": "keccak",
    "type": [
        "string"
    ]
}
```

2:
config *TraceConfig

  • Required: ✓ Yes

=== "Schema"

``` Schema

- additionalProperties: `false`
- properties: 
	- Debug: 
		- type: `boolean`

	- DisableStack: 
		- type: `boolean`

	- DisableStorage: 
		- type: `boolean`

	- EnableMemory: 
		- type: `boolean`

	- EnableReturnData: 
		- type: `boolean`

	- Limit: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- NestedTraceOutput: 
		- type: `boolean`

	- Reexec: 
		- pattern: `^0x[a-fA-F0-9]+$`
		- title: `integer`
		- type: `string`

	- Timeout: 
		- type: `string`

	- Tracer: 
		- type: `string`

	- TracerConfig: 
		- media: 
			- binaryEncoding: `base64`

		- type: `string`

	- overrides: 
		- additionalProperties: `true`


- type: object


```

=== "Raw"

``` Raw
{
    "additionalProperties": false,
    "properties": {
        "Debug": {
            "type": "boolean"
        },
        "DisableStack": {
            "type": "boolean"
        },
        "DisableStorage": {
            "type": "boolean"
        },
        "EnableMemory": {
            "type": "boolean"
        },
        "EnableReturnData": {
            "type": "boolean"
        },
        "Limit": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "NestedTraceOutput": {
            "type": "boolean"
        },
        "Reexec": {
            "pattern": "^0x[a-fA-F0-9]+$",
            "title": "integer",
            "type": "string"
        },
        "Timeout": {
            "type": "string"
        },
        "Tracer": {
            "type": "string"
        },
        "TracerConfig": {
            "media": {
                "binaryEncoding": "base64"
            },
            "type": "string"
        },
        "overrides": {
            "additionalProperties": true
        }
    },
    "type": [
        "object"
    ]
}
```

Result

interface interface{}

  • Required: ✓ Yes

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_traceTransaction", "params": [<hash>, <config>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_traceTransaction", "params": [<hash>, <config>]}'
```

=== "Javascript Console"

``` js
debug.traceTransaction(hash,config);
```
Source code

```go
func (api *API) TraceTransaction(ctx context.Context, hash common.Hash, config *TraceConfig) (interface{}, error) {
tx, blockHash, blockNumber, index, err := api.backend.GetTransaction(ctx, hash)
if err != nil {
return nil, err
}
if tx == nil {
return nil, errTxNotFound
}
if blockNumber == 0 {
return nil, errors.New("genesis is not traceable")
}
reexec := defaultTraceReexec
if config != nil && config.Reexec != nil {
reexec = *config.Reexec
}
block, err := api.blockByNumberAndHash(ctx, rpc.BlockNumber(blockNumber), blockHash)
if err != nil {
return nil, err
}
msg, vmctx, statedb, release, err := api.backend.StateAtTransaction(ctx, block, int(index), reexec)
if err != nil {
return nil, err
}
defer release()
txctx := &Context{BlockHash: blockHash, BlockNumber: block.Number(), TxIndex: int(index), TxHash: hash}
return api.traceTx(ctx, msg, txctx, vmctx, statedb, config)
}// TraceTransaction returns the structured logs created during the execution of EVM
// and returns them as a JSON object.

<a href="https://github.com/etclabscore/core-geth/blob/master/eth/tracers/api.go#L847" target="_">View on GitHub →</a>
</p>
</details>

---



### debug_unsubscribe

Unsubscribe terminates an existing subscription by ID.


#### Params (1)

Parameters must be given _by position_.


__1:__ 
id <code>rpc.ID</code> 

  + Required: ✓ Yes


=== "Schema"

	``` Schema
	
	- description: `Subscription identifier`
	- title: `subscriptionID`
	- type: string


	```

=== "Raw"

	``` Raw
	{
        "description": "Subscription identifier",
        "title": "subscriptionID",
        "type": [
            "string"
        ]
    }
	```





#### Result

_None_

#### Client Method Invocation Examples


=== "Shell HTTP"

	``` shell
	curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_unsubscribe", "params": [<id>]}'
	```





=== "Shell WebSocket"

	``` shell
	wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_unsubscribe", "params": [<id>]}'
	```


=== "Javascript Console"

	``` js
	debug.unsubscribe(id);
	```



<details><summary>Source code</summary>
<p>
```go
func (sub *RPCDebugSubscription) Unsubscribe(id rpc.ID) error {
	return nil
}// Unsubscribe terminates an existing subscription by ID.

View on GitHub →


debug_verbosity

Verbosity sets the log verbosity ceiling. The verbosity of individual packages
and source files can be raised using Vmodule.

Params (1)

Parameters must be given by position.

1:
level int

  • Required: ✓ Yes

=== "Schema"

``` Schema

- description: `Hex representation of the integer`
- pattern: `^0x[a-fA-F0-9]+$`
- title: `integer`
- type: string


```

=== "Raw"

``` Raw
{
    "description": "Hex representation of the integer",
    "pattern": "^0x[a-fA-F0-9]+$",
    "title": "integer",
    "type": [
        "string"
    ]
}
```

Result

None

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_verbosity", "params": [<level>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_verbosity", "params": [<level>]}'
```

=== "Javascript Console"

``` js
debug.verbosity(level);
```
Source code

```go
func (*HandlerT) Verbosity(level int) {
glogger.Verbosity(log.Lvl(level))
}// Verbosity sets the log verbosity ceiling. The verbosity of individual packages
// and source files can be raised using Vmodule.

<a href="https://github.com/etclabscore/core-geth/blob/master/internal/debug/api.go#L59" target="_">View on GitHub →</a>
</p>
</details>

---



### debug_vmodule

Vmodule sets the log verbosity pattern. See package log for details on the
pattern syntax.


#### Params (1)

Parameters must be given _by position_.


__1:__ 
pattern <code>string</code> 

  + Required: ✓ Yes






#### Result

_None_

#### Client Method Invocation Examples


=== "Shell HTTP"

	``` shell
	curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_vmodule", "params": [<pattern>]}'
	```





=== "Shell WebSocket"

	``` shell
	wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_vmodule", "params": [<pattern>]}'
	```


=== "Javascript Console"

	``` js
	debug.vmodule(pattern);
	```



<details><summary>Source code</summary>
<p>
```go
func (*HandlerT) Vmodule(pattern string) error {
	return glogger.Vmodule(pattern)
}// Vmodule sets the log verbosity pattern. See package log for details on the
// pattern syntax.

View on GitHub →


debug_writeBlockProfile

WriteBlockProfile writes a goroutine blocking profile to the given file.

Params (1)

Parameters must be given by position.

1:
file string

  • Required: ✓ Yes

Result

None

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_writeBlockProfile", "params": [<file>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_writeBlockProfile", "params": [<file>]}'
```

=== "Javascript Console"

``` js
debug.writeBlockProfile(file);
```
Source code

```go
func (*HandlerT) WriteBlockProfile(file string) error {
return writeProfile("block", file)
}// WriteBlockProfile writes a goroutine blocking profile to the given file.

<a href="https://github.com/etclabscore/core-geth/blob/master/internal/debug/api.go#L163" target="_">View on GitHub →</a>
</p>
</details>

---



### debug_writeMemProfile

WriteMemProfile writes an allocation profile to the given file.
Note that the profiling rate cannot be set through the API,
it must be set on the command line.


#### Params (1)

Parameters must be given _by position_.


__1:__ 
file <code>string</code> 

  + Required: ✓ Yes






#### Result

_None_

#### Client Method Invocation Examples


=== "Shell HTTP"

	``` shell
	curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_writeMemProfile", "params": [<file>]}'
	```





=== "Shell WebSocket"

	``` shell
	wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_writeMemProfile", "params": [<file>]}'
	```


=== "Javascript Console"

	``` js
	debug.writeMemProfile(file);
	```



<details><summary>Source code</summary>
<p>
```go
func (*HandlerT) WriteMemProfile(file string) error {
	return writeProfile("heap", file)
}// WriteMemProfile writes an allocation profile to the given file.
// Note that the profiling rate cannot be set through the API,
// it must be set on the command line.

View on GitHub →


debug_writeMutexProfile

WriteMutexProfile writes a goroutine blocking profile to the given file.

Params (1)

Parameters must be given by position.

1:
file string

  • Required: ✓ Yes

Result

None

Client Method Invocation Examples

=== "Shell HTTP"

``` shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "debug_writeMutexProfile", "params": [<file>]}'
```

=== "Shell WebSocket"

``` shell
wscat -c ws://localhost:8546 -x '{"jsonrpc": "2.0", "id": 1, "method": "debug_writeMutexProfile", "params": [<file>]}'
```

=== "Javascript Console"

``` js
debug.writeMutexProfile(file);
```