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"

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

"Raw"

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

3: maxResults int

  • Required: ✓ Yes

"Schema"

"Raw"

4: nocode bool

  • Required: ✓ Yes

5: nostorage bool

  • Required: ✓ Yes

6: incompletes bool

  • Required: ✓ Yes

Result

state.IteratorDump

  • Required: ✓ Yes

"Schema"

"Raw"

Client Method Invocation Examples

"Shell HTTP"

"Shell WebSocket"

"Javascript Console"


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"

"Raw"

Result

None

Client Method Invocation Examples

"Shell HTTP"

"Shell WebSocket"

"Javascript Console"


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"

"Shell WebSocket"

"Javascript Console"


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"

=== "Raw"

Result

hexutil.Bytes

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"


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"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"


debug_freeOSMemory

FreeOSMemory forces a garbage collection.

Params (0)

None

Result

None

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"


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"

=== "Raw"

2: to rpc.BlockNumber

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Result

uint64

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"


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"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"


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"

=== "Raw"

2: endHash *common.Hash

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Result

commonAddress []common.Address

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"


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"

=== "Raw"

2: endNum *uint64

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Result

commonAddress []common.Address

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"


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"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"

chevron-rightSource codehashtag

```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.

View on GitHub →arrow-up-right


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"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"


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"

=== "Raw"

Result

hexutil.Bytes

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"

chevron-rightSource codehashtag

```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.

View on GitHub →arrow-up-right


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"

=== "Raw"

2: config *TraceConfig

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Result

commonHash []common.Hash

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"


debug_memStats

MemStats returns detailed runtime memory statistics.

Params (0)

None

Result

*runtime.MemStats

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"


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"

=== "Raw"

Result

hexutil.Bytes

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"


debug_seedHash

SeedHash retrieves the seed hash of a block.

Params (1)

Parameters must be given by position.

1: number uint64

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Result

string

  • Required: ✓ Yes

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"

chevron-rightSource codehashtag

```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.

View on GitHub →arrow-up-right


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"

=== "Raw"

Result

int

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"

chevron-rightSource codehashtag

```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.

View on GitHub →arrow-up-right


debug_setMutexProfileFraction

SetMutexProfileFraction sets the rate of mutex profiling.

Params (1)

Parameters must be given by position.

1: rate int

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Result

None

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"


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"

=== "Raw"

2: config *StdTraceConfig

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Result

string []string

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"


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"

=== "Raw"

2: config *StdTraceConfig

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Result

string []string

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"

chevron-rightSource codehashtag

```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 →arrow-up-right


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 WebSocket"

=== "Javascript Console"


debug_stopCPUProfile

StopCPUProfile stops an ongoing CPU profile.

Params (0)

None

Result

None

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"


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"

=== "Raw"

3: contractAddress common.Address

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

4: keyStart hexutil.Bytes

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

5: maxResult int

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Result

StorageRangeResult

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"

chevron-rightSource codehashtag

```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.

View on GitHub →arrow-up-right


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"

=== "Raw"

2: config *TraceConfig

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Result

txTraceResult []*txTraceResult

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"

chevron-rightSource codehashtag

```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 →arrow-up-right


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"

=== "Raw"

2: config *TraceConfig

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Result

txTraceResult []*txTraceResult

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"

chevron-rightSource codehashtag

```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 →arrow-up-right


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"

=== "Raw"

2: config *TraceConfig

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Result

txTraceResult []*txTraceResult

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"

chevron-rightSource codehashtag

```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 →arrow-up-right


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"

=== "Raw"

2: config *TraceConfig

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Result

txTraceResult []*txTraceResult

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"

chevron-rightSource codehashtag

```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 →arrow-up-right


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"

=== "Raw"

Result

txTraceResult []*txTraceResult

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"

chevron-rightSource codehashtag

```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 →arrow-up-right


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"

=== "Raw"

2: blockNrOrHash rpc.BlockNumberOrHash

  • Required: ✓ Yes

3: config *TraceCallConfig

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Result

interface interface{}

  • Required: ✓ Yes

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"

chevron-rightSource codehashtag

```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

View on GitHub →arrow-up-right


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"

=== "Raw"

2: end rpc.BlockNumber

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

3: config *TraceConfig

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Result

*rpc.Subscription

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Client Method Invocation Examples

=== "Shell WebSocket"

chevron-rightSource codehashtag

```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 →arrow-up-right


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"

=== "Raw"

2: config *TraceConfig

  • Required: ✓ Yes

=== "Schema"

=== "Raw"

Result

interface interface{}

  • Required: ✓ Yes

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"

chevron-rightSource codehashtag

```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.

View on GitHub →arrow-up-right


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"

=== "Raw"

Result

None

Client Method Invocation Examples

=== "Shell HTTP"

=== "Shell WebSocket"

=== "Javascript Console"

chevron-rightSource codehashtag

```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.

View on GitHub →arrow-up-right


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 WebSocket"

=== "Javascript Console"

chevron-rightSource codehashtag

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

View on GitHub →arrow-up-right


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 WebSocket"

=== "Javascript Console"

Last updated