receive函数
- 原型:receive() external payable;
- 作用:接受外部转账时需要实现此函数;
fallback函数
- 原型:fallback() external [payable];
- 作用:合约函数调用不匹配且合约未实现receive函数,则触发fallback函数执行;
示例代码如下:
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.7;
contract receive_demo{
uint256 totalAmount;
address[] public addrs;
receive() external payable{
totalAmount+=msg.value;
addrs.push(msg.sender);
}
function getBalance()public view returns(uint256,uint256)
{
return(totalAmount,address(this).balance);
}
fallback() external{}
}
通过这两个特殊函数,我们就可以实现外部转账的功能,比如从metamask账户转账到该合约中。
1万+



被折叠的 条评论
为什么被折叠?



