Ether

乙太幣從 EOA 轉移到智能合約的 Gas 成本

  • April 7, 2020

很明顯,賬戶之間的 Ether 轉賬是 21,000 gas。這同樣適用於將乙太幣轉移到智能合約地址,還是從 EOA 轉移到智能合約需要更多的 gas? 我試圖用 21,000 gas 將乙太幣從 EOA 轉移到智能合約,但它失敗了out of gas

當將乙太幣從外部擁有的賬戶轉移到智能合約賬戶時,會執行智能合約的回退功能(如果沒有實現,則交易恢復)。

因此,這種交易的成本是 21000 加上回退功能本身的成本。

如果這個函式除了(隱式)接收資金之外什麼都不做,例如:

function () external payable {}

那麼成本將僅略高於21000。

獎金事實:

當將乙太幣從智能合約賬戶轉移到智能合約賬戶時,(目的地)智能合約的備份功能僅以 2300 瓦斯的津貼執行,使其僅限於非常少量的操作。該功能於 2016 年 9 月左右加入,目的是防止目的地合約惡意行為

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