Json-Rpc

如何通過單個 JSON RPC 呼叫獲取多個塊時間戳?

  • October 28, 2018

有沒有辦法獲得類似於提供的數據web3.eth.getBlock(blockNumber)但同時具有多個塊的數據?

目標是在不執行 100 次對 Infura 的 http 呼叫的情況下連續獲取 100 個塊的時間戳。謝謝你。

查看所有可能呼叫的 wiki https://github.com/ethereum/wiki/wiki/JSON-RPC

有兩種方式獲取阻塞:

  • eth_getBlockByHash
  • eth_getBlockByNumber

但是沒有辦法獲得多個塊。您需要自己實現它。

如果您使用的客戶端支持批處理請求,則您有批處理請求

var batch = web3.createBatch();
batch.add(web3.eth.getBalance.request('0x0000000000000000000000000000000000000000', 'latest', callback));
batch.add(web3.eth.contract(abi).at(address).balance.request(address, callback2));
batch.execute();

從文件中:

批量請求並不快!事實上,在某些情況下一次發出許多請求會更快,因為請求是非同步處理的。批量請求主要用於保證請求的串列處理。

引用自:https://ethereum.stackexchange.com/questions/61284