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 callframe 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();
Was this page helpful?