Web3js
從 web3 呼叫合約視圖方法
我正在嘗試使用 web3 和 web3-eth-contract 呼叫智能合約上的函式,但出現錯誤
Provider does not have a request or send method to use.
這是我正在嘗試的一般程式碼:
const provider = new Web3.providers.HttpProvider(infuraEndpoint); const web3 = new Web3(provider); const contract = new Contract(tokenAbi.abi, tokenContractAddress); contract.methods.someFun().call() .on('receipt', (res) => {.....
我顯然遺漏了一些關於它是如何工作的東西,但我不知道它是什麼。有沒有人有從節點呼叫乙太坊合約上的函式的例子?
我將粘貼web3 文件中的範例供您查看
myContract.methods.myMethod(123) .call({from:'0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}) .then(function(result){ console.log(result) });
我也認為如果您使用的是目前版本的 web3 ,則需要更改
new Contract
為。new web3.eth.Contract