Web3js

web3.js 使用哪個 RPC 命令呼叫任意智能合約函式?

  • May 26, 2017

我試圖在 C++ 中複製 web3.js 的一些功能。我真的不太了解javaScript。我可以看到程式碼如何呼叫簡單的 RPC 呼叫,例如 eth_getBlockByNumber 或 eth_getTransactionByHash。這很容易。

我不知道 web3.js 是如何呼叫智能合約中的一個函式的。例如,它如何呼叫像 ERC20 代幣 getTotalSupply 這樣的函式?

我不是在尋找解釋如何使用該功能的 Javascript 程式碼,而是在尋找實現該功能的程式碼。

要呼叫合約 web3 上的函式,必須首先實例化合約,並且該功能在 https://github.com/ethereum/web3.js/blob/develop/lib/web3/contract.js#L262-L274實現

然後我們可以向合約發送請求,該功能在https://github.com/ethereum/web3.js/blob/develop/lib/web3/function.js實現

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