trace_callMany
Performs multiple call traces on top of the same block. Allows to trace dependent transactions.
Params
- a string array containing (required):Array
- List of trace calls with the type of trace, one or more of:"vmTrace"
,"trace"
,"stateDiff"
.QUANTITY|TAG(hex string|string, optional)
- Integer block number in hex string format, or the string"latest"
,"earliest"
or"pending"
, see the default block parameter
Array
- Array of the given transactions' traces. trace(array)
. Array of the given transactions’ traces.action(object)
.DATA
- Transaction details.callType(string)
. type of method, such ascall
orcreate
.from(hex string)
.DATA
, 20 Bytes - address of the sender.to(hex string)
.DATA
, 20 Bytes - address of the receiver.gas(hex string)
.QUANTITY
- the amount of gas used by transaction.input(hex string)
.DATA
- the data send along with the transaction.value(hex string)
.QUANTITY
- value transferred in Wei.
result(object)
.DATA
- Transaction result.gasUsed(hex string)
.QUANTITY
- the amount of gas used by transaction.output(hex string)
.DATA
- Return value of the contract call. Contains only the actual value sent by aRETURN
operation. If aRETURN
was not executed, the output is empty bytes.
subTraces(hex string)
. - Traces of contract calls made by the transaction.traceAddress(Array)
. - Tree list address of where the call occurred, address of the parents, and order of the current sub call.type(string)
. type of method, such ascall
orcreate
.
curl
TypeScript
curl https://api.blockvision.org/v1/<api key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "trace_callMany",
"params": [
[
[
{
"from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1",
"to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
"value": "0x186a0"
},
["trace"]
],
[
{
"from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1",
"to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
"value": "0x186a0"
},
["trace"]
]
],
"latest"
],
"id": 1
}'
import { BlockVisionProvider, BvNetwork } from 'blockvision.js'
// Optional parameters, but default to eth-mainnet and default api-key.
const bv = new BlockVisionProvider(BvNetwork.ETH_MAINNET)
// Access BlockVision Enhanced API requests
bv.traceCallMany(
[
[
{
from: '0x407d73d8a49eeb85d32cf465507dd71d507100c1',
to: '0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b',
value: '0x186a0'
},
['trace']
],
[
{
from: '0x407d73d8a49eeb85d32cf465507dd71d507100c1',
to: '0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b',
value: '0x186a0'
},
['trace']
]
],
'latest'
).then(console.log)
{
"jsonrpc":"2.0",
"id":1,
"result":[
{
"output":"0x",
"stateDiff":null,
"trace":[
{
"action":{
"from":"0x407d73d8a49eeb85d32cf465507dd71d507100c1",
"callType":"call",
"gas":"0x2fa9e78",
"input":"0x",
"to":"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
"value":"0x186a0"
},
"result":{
"gasUsed":"0x0",
"output":"0x"
},
"subTraces":0,
"traceAddress":[
],
"type":"call"
}
],
"vmTrace":null
},
{
"output":"0x",
"stateDiff":null,
"trace":[
{
"action":{
"from":"0x407d73d8a49eeb85d32cf465507dd71d507100c1",
"callType":"call",
"gas":"0x2fa9e78",
"input":"0x",
"to":"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
"value":"0x186a0"
},
"result":{
"gasUsed":"0x0",
"output":"0x"
},
"subTraces":0,
"traceAddress":[
],
"type":"call"
}
],
"vmTrace":null
}
]
}
Last modified 1mo ago