← Web3 / web3 / ethereum-gateway / reference
Podporované metody API
Úplný seznam metod API podporovaných Ethereum Gateway
naleznete níže. Gateway vrací 403 pokud je zadána metoda, která není
podporována.
Úplný seznam metod JSON-RPC API najdete v specifikace JSON-RPC ↗.
Metody trace
Trasy EVM slouží ke sledování provádění chytrých kontraktů na blockchainu Ethereum. Zaznamenávají všechny kroky, které Ethereum Virtual Machine (EVM) provede při spuštění chytrého kontraktu, včetně konkrétní provedené operace, spotřebovaného gasu a případných změn v blockchainu. Modul trace umožňuje vývojářům tyto trasy získávat a analyzovat, což se hodí při ladění, testování a sledování chytrých kontraktů. Díky němu lze odhalovat a opravovat chyby, optimalizovat výkon a lépe porozumět tomu, jak chytrý kontrakt komunikuje s blockchainem.
trace_filter
trace_filter metoda získává trasování více transakcí v jediném požadavku. Tato metoda je obzvláště užitečná pro ladění a sledování konkrétních adres na blockchainu Ethereum.
Parametry požadavku
fromBlock:QuantityneboTag- (volitelné) Číslo bloku, od kterého se mají začít přijímat trasování.toBlock:QuantityneboTag- (volitelné) Číslo bloku, u kterého se má příjem trasování zastavit.fromAddress:Array- (volitelné) Pole adres, od kterých se mají začít přijímat trasování.toAddress:Address- (volitelné) Pole adres, u kterých se má příjem trasování zastavit.after:Quantity- (volitelné) Číslo posunu trasovánícount:Quantity- (volitelné) Počet trasování, která se mají vrátit.
Vrací
Tato metoda vrací Array trasování odpovídajících danému filtru.
Příklad
curl https://web3-trial.cloudflare-eth.com/v1/mainnet \
-X POST \
-H 'Content-Type: application/json' \
--data '{
"jsonrpc":"2.0",
"method":"trace_filter",
"params":[
{
"count": 200,
"fromBlock": "0xccb943",
"toBlock": "0xccbc62",
"fromAddress": [
"0xEdC763b3e418cD14767b3Be02b667619a6374076"
]
}
],
"id":1
}'Odpověď
{
"jsonrpc": "2.0",
"result": [
{
"action": {
"from": "0xedc763b3e418cd14767b3be02b667619a6374076",
"callType": "call",
"gas": "0x8462",
"input": "0x095ea7b30000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"to": "0x7ff4169a6b5122b664c51c95727d87750ec07c84",
"value": "0x0"
},
"blockHash": "0x351e7c06ec010c8f7e7358eb580238dd23e1e129be96822aa93ebb6da08558e6",
"blockNumber": 13416771,
"result": {
"gasUsed": "0x6009",
"output": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
"subtraces": 0,
"traceAddress": [],
"transactionHash": "0x054bbb9fbb855bf23f755e548c7409f45fc5eff8a824b2ad06380bc038d7b049",
"transactionPosition": 54,
"type": "call"
}
],
"id": 1
}Omezení
trace_filter metoda má určitá omezení, která zajišťují, že naše uzly nejsou přetíženy.
- Rozsah bloků pro
trace_filtermetoda je omezena na 800 bloků. - Trasování
countje omezen na 200