Solidity

<address>.send vs <address>.transfer 最佳實踐用法?

  • May 14, 2021

我注意到地址提供了兩個成員函式,它們將乙太幣轉移到指定的地址。失敗時send返回並引發異常。在 Solidity 文件中,他們提供了一個使用這兩個呼叫Simple Open Auction的範例。false``transfer

我應該什麼時候使用send,什麼時候應該使用transfer

兩者sendtransfer被認為是轉移資金的安全方式,因為它們的汽油津貼為 2300。

如果您對添加轉移的原因感到好奇,您可以關注有關該功能的原始討論。


編輯 2021 年 5 月:call{value: amount}("")現在應該用於傳輸乙太幣(不要使用sendtransfer。)

這是一個例子:

(bool success, ) = recipient.call{value:amt}("");
require(success, "Transfer failed.");

請參見:

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