Solidity getter func在首次调用时起作用,但在后续调用中不返回更新后的值

时间:2018-08-08 11:25:50

标签: ethereum solidity smartcontracts

我拥有这样的智能合约

//userList in storage
address[] public userList;

// AddUser pushes the sender's address into list
function AddUser() public returns(bool){
    userList.push(msg.sender);
}
function CountUser() view public returns(uint){
    return userList.length;
}

场景1:
我从一个唯一的地址添加一个用户,并检查用户列表的数量。 用户列表返回计数1。

但是,如果我添加另一个唯一用户,则计数仍为1。

场景2:
我添加了5个唯一身份用户并检查了计数。
它将返回5。

如果我添加第6个用户,计数仍将停留在5。

array.push()正在工作。
我怀疑是问题所在。

我如何获得它以返回最新数据?
edit1:在remix javascript vm中可以正常使用,但在ganache-cli上则不能。第一次通话后无法拨打电话,并且没有响应返回。

0 个答案:

没有答案