Web3js

如何用estimategas證明函式的存在

  • March 28, 2022

如何使用 EstimateGas 證明智能合約中函式的存在?謝謝。

不,不可能estimateGas在所有情況下都使用它來確定函式的存在。

如果一個函式不存在,它將呼叫回退函式。如果它沒有失敗,它將顯示該功能正在執行,但根本沒有任何功能。

其他功能需要特定參數才能工作,如果您不發送正確的參數,它們將失敗。

在某些情況下,例如,如果您懷疑合約是 ERC20,您可以檢查特定功能balanceOf,例如decimals等。

我在函式中放置了estimateGas 而不是.send 或.call,它可以工作。來源:https ://web3js.readthedocs.io/en/v1.2.1/web3-eth-contract.html#methods-mymethod-call

對象:交易對象:

Array - arguments:之前傳遞給方法的參數。它們可以更改。函式 - 呼叫:將呼叫“常量”方法並在 EVM 中執行其智能合約方法,而不發送交易(無法更改智能合約狀態)。功能 - 發送:將交易發送到智能合約並執行其方法(可以更改智能合約狀態)。函式 -estimateGas:將估計方法在鏈上執行時使用的氣體。

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