INTEGRITY Документация

Поддерживаемые методы API

Полный список методов API, поддерживаемых шлюзом Ethereum Gateway, приведён ниже. Шлюз возвращает 403 если указан метод, который не поддерживается.

Полный список методов JSON-RPC API приведен в спецификация JSON-RPC ↗.

метод JSON-RPC Поддержка Cloudflare Ethereum Gateway
web3_clientVersion ↗ ✅
web3_sha3 ↗ ✅
net_version ↗ ✅
net_listening ↗ ✅
eth_syncing ↗ ✅
eth_mining ↗ ✅
eth_gasPrice ↗ ✅
eth_feeHistory ↗1 ✅
eth_blockNumber ↗ ✅
eth_chainId ↗ ✅
eth_getBalance ↗ ✅
eth_getStorageAt ↗ ✅
eth_getTransactionCount ↗ ✅
eth_getBlockTransactionCountByHash ↗ ✅
eth_getBlockTransactionCountByNumber ↗ ✅
eth_getUncleCountByBlockHash ↗ ✅
eth_getUncleCountByBlockNumber ↗ ✅
eth_getCode ↗ ✅
eth_sendRawTransaction ↗ ✅
eth_call ↗ ✅
eth_estimateGas ↗ ✅
eth_getBlockByHash ↗ ✅
eth_getBlockByNumber ↗ ✅
eth_getTransactionByHash ↗ ✅
eth_getTransactionByBlockHashAndIndex ↗ ✅
eth_getTransactionByBlockNumberAndIndex ↗ ✅
eth_getTransactionReceipt ↗ ✅
eth_getUncleByBlockHashAndIndex ↗ ✅
eth_getUncleByBlockNumberAndIndex ↗ ✅
eth_getLogs ↗2 ✅
eth_getWork ↗ ✅
eth_getProof ↗ ✅
net_peerCount ↗ ❌
eth_protocolVersion ↗ ❌
eth_coinbase ↗ ❌
eth_hashrate ↗ ❌
eth_accounts ↗ ❌
eth_sign ↗ ❌
eth_sendTransaction ↗ ❌
eth_getCompilers ↗ ❌
eth_compileLLL ↗ ❌
eth_compileSolidity ↗ ❌
eth_compileSerpent ↗ ❌
eth_newFilter ↗ ❌
eth_newBlockFilter ↗ ❌
eth_newPendingTransactionFilter ↗ ❌
eth_uninstallFilter ↗ ❌
eth_getFilterChanges ↗ ❌
eth_getFilterLogs ↗ ❌
eth_submitWork ↗ ❌
eth_submitHashrate ↗ ❌

Методы трассировки

Трассировки EVM позволяют отслеживать выполнение смарт-контрактов в блокчейне Ethereum. Они фиксируют каждый шаг, который виртуальная машина Ethereum (EVM) выполняет при запуске смарт-контракта, включая конкретную операцию, потраченный газ и изменения, внесенные в блокчейн в результате. Модуль trace дает разработчикам доступ к этим трассировкам и позволяет их анализировать, что полезно для отладки, тестирования и мониторинга смарт-контрактов. С его помощью можно находить и устранять ошибки, повышать производительность и лучше понимать, как смарт-контракт взаимодействует с блокчейном.

trace_filter

trace_filter метод получает трассировки нескольких транзакций одним запросом, что особенно полезно для отладки и мониторинга конкретных адресов в блокчейне Ethereum.

Параметры запроса

Возвращает

Этот метод возвращает Array трассировок, соответствующих заданному фильтру.

Пример

Запрос trace_filter
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
    }'

Ответ

{
	"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
}

Ограничения

trace_filter метод имеет ряд ограничений, чтобы наши узлы не перегружались.

Сноски

  1. Ограничения: максимальное количество блоков 10. ↩

  2. Ограничения: максимальный диапазон блоков 800. ↩