Web3js

指定從 JavaScript 呼叫合約的 gas 量

  • May 16, 2016

我正在從 JavaScript 呼叫合約函式。

contracts['CrowdFunder'].contract.contribute({value: web3.toWei(0.000000000000000005, 'ether')});

該函式被呼叫,但錯誤消息顯示,

合約執行過程中發生錯誤:‘Out of gas’

http://testnet.etherscan.io/vmtrace?txhash=0x58c3e7d41db0dd3ba4c2b600b374b2576f9508d84e7351058232027af4cc3abb

如何在 JavaScript 中為上述指定氣體量?

嘗試改變

contracts['CrowdFunder'].contract.contribute({
   value: web3.toWei(0.000000000000000005, 'ether')
});

contracts['CrowdFunder'].contract.contribute({
   value: web3.toWei(0.000000000000000005, 'ether'), 
   gas: 100000 
});

請參閱JavaScript API - web3.eth.contract中的契約方法下的範例。

並按照以下評論的建議修改呼叫eth

contracts['CrowdFunder'].contract.contribute({
   value: 5, 
   gas: 100000 
});

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