Web3js
web3.js 使用哪個 RPC 命令呼叫任意智能合約函式?
我試圖在 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實現