Solidity

轉賬到乙太坊賬戶或智能合約的區別?

  • March 11, 2019

將乙太幣發送到使用者帳戶或智能合約之間有區別嗎?例如:

contract ThisIsAContract{
   function()
       public
       payable
   {}
}

現在我打電話(虛擬碼)

address(0x0).transfer(payout);

並且

address(ThisIsAContract.address).transfer(payout);

兩者都好嗎?他們的行為是否相同?

唯一的區別是與非合約的交易總是花費 21k(除非您包含 tx 數據),而與合約的交易將在該地址執行字節碼,這可能花費超過 21k。因此,當您轉移到合約時,您應該始終進行 gas 估算並手動設置 gas 數量。

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