Solidity
如何計算合約部署的gas @_@
請參閱以下內容:
rinkeby: { host: "localhost", port: 8545, from: "my address", network_id: 4, gas: 4800000, gaslimit: 2100000000000 }
當我將 gas 設置為 4700000 時,部署合約時收到以下錯誤。
Error: insufficient funds for gas * price + value
當我將氣體設置為 4800000 時,我收到了以下錯誤:
Error: exceeds block gas limit
相信我,兩者之間的任何值都會導致上述任一錯誤。
我可以知道我能做什麼嗎?這是否意味著我的契約對林克比來說太複雜了?
- 補充筆記: - - -
這就是我啟動 Rinkeby 節點的方式。
geth --datadir rinkeby console --rinkeby --rpc --rpcapi db,eth,net,web3,personal --rpcaddr "0.0.0.0" --rpccorsdomain "*"
請問是否有錯誤,因為啟動後,我使用以下命令檢查帳戶(Metamask中有大量ETH)。它總是返回 0。
eth.getBalance("<public key>");
首先使用 Javascript VM在http://remix.ethereum.org上部署它。然後,您可以查看實際的 gas 使用情況以進行部署。
我認為你應該嘗試使用 Remix + Metamask 部署你的合約。看看是否有效。如果它有效,則問題出在您的設置上。您似乎正在使用 Truffle 和 geth/parity 來部署您的合約,對吧?確保您的帳戶已解鎖(您必須支付汽油費)。
如果你想查看你的合約花費了多少 gas,這個工具非常有用:https ://github.com/cgewecke/eth-gas-reporter