Web3js

使用 web3 呼叫任意 JSON-RPC 方法

  • November 3, 2021

我想使用 web3 來呼叫evm_snapshot(僅在 testrpc 上可用)。這不在 web3 的方法列表中,但我不想進行實際的 http 呼叫。

除了sendAsync,你可以像這樣擴展 web3:

   web3._extend({
       property: 'evm',
       methods: [new web3._extend.Method({
           name: 'snapshot',
           call: 'evm_snapshot',
           params: 0,
           outputFormatter: toIntVal
       })]
   });

   web3._extend({
       property: 'evm',
       methods: [new web3._extend.Method({
           name: 'revert',
           call: 'evm_revert',
           params: 1,
           inputFormatter: [toIntVal]
       })]
   });

這樣您就可以像使用任何其他方法一樣使用該命令,因此它更具可讀性。

另外,如果你不想自己實現這些方法,你可以使用我的擴展 web3

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