我正在使用remix在testrpc上运行一个简单的智能契约:
Contract Testing{
address [] public adds;
uint [] public amounts;
function bet() public payable{
adds.push(msg.sender);
amounts.push(msg.value);
}
function give() public {
adds[0].transfer(amounts[0]);
}
}我第一次调用bet()时的值为1以太来自混合。我通过检查this.balance确保合同的资金得到了更新。然后,我从混合中调用get (),得到以下错误:在处理事务时对Betting.distributePrizes进行事务处理时出现错误: VM异常: out of gas。这只是混音中的窃听器吗?这是我的合同吗?
编辑:即使在复制粘贴nyusternie的代码之后,我仍然会收到相同的错误。下面是在运行give():图片之后的一张图片。
发布于 2018-07-26 08:57:11
在里米克斯对我来说很好。以下是确切的代码:
pragma solidity ^0.4.18;
contract Testing{
address [] public adds;
uint [] public amounts;
function bet() public payable {
adds.push(msg.sender);
amounts.push(msg.value);
}
function give() public {
adds[0].transfer(amounts[0]);
}
}如果您想在测试环境中播放,这里有一个指向EthFiddle的链接。https://ethfiddle.com/uFVTK81R37
https://ethereum.stackexchange.com/questions/55137
复制相似问题