我正在为创做一份新的智能合同。我需要计算每笔付款的总和。但是当我得到这个值时,我得到了一个还原错误:
pragma solidity ^0.8.0;
contract Test {
uint counter = 0;
function add() public payable {
counter += msg.value;
}
function getCounter() public view returns(uint){
return counter;
}
}"getCounter“返回还原错误。为什么?如何管理msg.value的总和?
发布于 2021-09-23 07:21:43
当您执行发送非零value的add()函数时,它会正确执行,因为该函数为payable。
但是,getCounter()不是payable,所以您需要使用零value来执行它(或者在函数中添加payable修饰符`)。
https://stackoverflow.com/questions/69284144
复制相似问题