Gas
可以將目前的氣體用作智能合約中的一項功能嗎?
我們已經看到了許多流行的智能合約實例,它們儲存了大量數據並通過單個函式呼叫“清理”它們的數據。有時,清理程式碼會使用大量 gas,並達到單個呼叫的最大 gas 限制。
是否有一個函式可以在執行期間告訴合約編寫者“剩餘氣體限制”,然後在該水平變得太低時編寫程式碼退出,因此可以通過多次呼叫執行清理而不會耗盡氣體?
或者,是否至少有一個“到目前為止在此通話期間使用的氣體”功能?
在 Solidity 中,這是可用的
msg.gas
,在此處記錄。沒有直接的方法來獲得初始氣體;最好的選擇是msg.gas
盡可能在契約執行中盡快儲存到變數中。
on: live.ether.camp Ethereum Studio 你有一個完整的乙太坊沙箱,你可以在其中模擬交易執行並對使用的氣體進行很好的估計。
更多資訊在這裡:
http://blog.ether.camp/post/142794388568/ethereum-studio-is-ready-for-you