Solidity
如何發回發送到備份的值?
有沒有辦法獲取並保留發送到備份/接收函式的值?假設,我想發回發送到我的合約的乙太幣。好的,備份功能的存在足以處理接收乙太幣,但我想保留發送給我的價值。我該怎麼做?
如果您想將金額退回給原始發件人,您可以執行以下操作:
fallback() external payable { address _to = msg.sender; (bool success, ) = _to.call{value: msg.value}(""); require(success, "send failed") }
如果要發送到特定地址,請替換 _to。如果您的合約餘額為零,您可能會因 gas 而面臨一些複雜性,然後發送將失敗。
msg.value
包含收到的 ETH 數量,因此您可以將該數量發送回msg.sender
.