curl --request POST \
--url https://nd-954-882-037.p2pify.com/66f812de2a6724a75a51f60dd6f2a154 \
--header 'Content-Type: application/json' \
--data '{
"id": 1,
"jsonrpc": "2.0",
"method": "arbtrace_call",
"params": [
{
"from": "0xeff678bf68ca0da9dfdac0c88f431e8d0e2f7116",
"to": "0x1b02da8cb0d097eb8d57a175b88c7d8b47997506",
"gas": "0xfa4d9",
"gasPrice": "0x9c1e25d",
"data": "0x18cbafe5000000000000000000000000000000000000000000000000000000003038624200000000000000000000000000000000000000000000000006ff882fdeb13bd100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000eff678bf68ca0da9dfdac0c88f431e8d0e2f711600000000000000000000000000000000000000000000000000000000630f76620000000000000000000000000000000000000000000000000000000000000002000000000000000000000000ff970a61a04b1ca14834a43f5de4533ebddb5cc800000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab1"
},
[
"trace"
],
"0x152dd44"
]
}'
{
"jsonrpc": "<string>",
"id": 123,
"result": {}
}
curl --request POST \
--url https://nd-954-882-037.p2pify.com/66f812de2a6724a75a51f60dd6f2a154 \
--header 'Content-Type: application/json' \
--data '{
"id": 1,
"jsonrpc": "2.0",
"method": "arbtrace_call",
"params": [
{
"from": "0xeff678bf68ca0da9dfdac0c88f431e8d0e2f7116",
"to": "0x1b02da8cb0d097eb8d57a175b88c7d8b47997506",
"gas": "0xfa4d9",
"gasPrice": "0x9c1e25d",
"data": "0x18cbafe5000000000000000000000000000000000000000000000000000000003038624200000000000000000000000000000000000000000000000006ff882fdeb13bd100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000eff678bf68ca0da9dfdac0c88f431e8d0e2f711600000000000000000000000000000000000000000000000000000000630f76620000000000000000000000000000000000000000000000000000000000000002000000000000000000000000ff970a61a04b1ca14834a43f5de4533ebddb5cc800000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab1"
},
[
"trace"
],
"0x152dd44"
]
}'
{
"jsonrpc": "<string>",
"id": 123,
"result": {}
}
debug_*
methods available for newer blocks.Use the arbtrace_call
method for calling blocks prior to 22,207,815.object
— the transaction call object:
from
— (optional) the string of the address used to send the transaction.to
— the string of the address to which the transaction is directed, a wallet, or a smart contract.gas
— (optional) the maximum amount of gas that can be used by the transaction.gasprice
— (optional) the amount of gas price the sender is willing to pay for each gas unit in wei.value
— (optional) the value sent with this transaction, encoded as hexadecimal.data
— (optional) additional data to be sent with the call, usually used to invoke functions from smart contracts as a string of the hash of the method signature and encoded parameters; see the Ethereum Contract ABI.quantity
— the integer of a block, encoded as hexadecimal.
array
— an array identifying the type of tracer and its configuration:
trace
— tracer that captures information on all call frames executed during a transaction. The resulting nested list of call frames is organized into a tree structure that reflects the way the Ethereum Virtual Machine works and can be used for debugging and analysis purposes.output
— the data returned as a result of the transaction, encoded in hexadecimal format.stateDiff
— reveals changes to the state resulting from the execution of the given transaction.trace
— the basic trace of specific information.
action
— the operation to be performed on the recipient.
from
— the address initiating the transaction.callType
— the type of method, such as call
or delegatecall
.gas
— the units of gas supplied by the sender, encoded in hexadecimal format.input
— the data transmitted along with the transaction, typically used for interaction with smart contracts.to
— the recipient’s address. If it’s a contract creation transaction, this field is null
.value
— the amount sent with the transaction, encoded as a hexadecimal.result
— the value of the gas price used, encoded as hexadecimal.
gasUsed
— the total amount of gas used by all the transactions in the block, encoded as hexadecimal.output
— the return value from the contract call, encoded in hexadecimal. If the RETURN
method isn’t executed, the output will be empty bytes.subtraces
— a list of contract calls made by the transaction, each represented as a nested call
frame object.traceAddress
— a list of addresses where the call was executed, the addresses of the parent calls, and the order of the current sub-call.type
— the value of the method, such as call
or create
.vmTrace
— a comprehensive trace of the virtual machine’s state during the execution of a given transaction, including any sub-calls.arbtrace_call
code examplesconst Web3 = require("web3");
const NODE_URL = "YOUR_CHAINSTACK_ENDPOINT";
const web3 = new Web3(NODE_URL);
// Define the arbtrace_call custom method
web3.extend({
property: 'arbtrace',
methods: [{
name: 'call',
call: 'arbtrace_call',
params: 3,
}],
});
async function arbtraceCall() {
const call = {
"from": '0xeff678bf68ca0da9dfdac0c88f431e8d0e2f7116',
"to": '0x1b02da8cb0d097eb8d57a175b88c7d8b47997506',
"gas": '0xfa4d9',
"gasPrice": '0x9c1e25d',
"data": '0x18cbafe5000000000000000000000000000000000000000000000000000000003038624200000000000000000000000000000000000000000000000006ff882fdeb13bd100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000eff678bf68ca0da9dfdac0c88f431e8d0e2f711600000000000000000000000000000000000000000000000000000000630f76620000000000000000000000000000000000000000000000000000000000000002000000000000000000000000ff970a61a04b1ca14834a43f5de4533ebddb5cc800000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab1'
}
const block = '0x152dd44'
const tracer = 'trace';
try {
const result = await web3.arbtrace.call(call, [tracer], block);
console.log(result);
} catch (error) {
console.error("Error:", error);
}
}
arbtraceCall();
The call's trace.
The response is of type object
.
Was this page helpful?