gpt4 book ai didi

solidity - 当我有回退功能时,为什么 Solidity 建议我实现接收以太功能?

转载 作者:行者123 更新时间:2023-12-04 11:19:02 26 4
gpt4 key购买 nike

Solidity 最近的变化将回退函数格式从只是 function() 更改为 fallback(),这对于初学者来说非常好理解发生了什么,但是我有一个问题,关于编译器在我实现时给我的建议后备。

例如,我项目中的一段代码:

pragma solidity ^0.6.1;

contract payment{
mapping(address => uint) _balance;

fallback() payable external {
_balance[msg.sender] += msg.value;
}
}

一切正常,但编译器建议:
Warning: This contract has a payable fallback function, but no receive ether function.
Consider adding a receive ether function.

接收以太函数是什么意思?我试着查了一下,我能找到的很多例子只是另一个后备函数。

我使用的是 0.6.1+commit.e6f7d5a4 版本

最佳答案

作为对已接受答案的补充,以下是您应该如何定义未命名的 后备接收 解决此错误的函数:

contract MyContract {

fallback() external payable {
// custom function code
}

receive() external payable {
// custom function code
}
}

关于solidity - 当我有回退功能时,为什么 Solidity 建议我实现接收以太功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59651032/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com