我在 remix ethereum 和 web3 中运行我的第一个 Solidity 合约时遇到问题,所以我猜我的合约代码有问题:
pragma solidity ^0.4.0;
contract cntrct
{
uint public aaa;
function() payable public
{
create(msg.value);
}
function create(uint _value) internal
{
require(_value>0);
aaa = _value;
}
function reader() view public returns(uint)
{
return aaa;
}
}
我成功地在 remix 和 web3 中部署了合约。但是,在向合约发送交易后,aaa
变量仍然是0
。我想要这段代码做的是将aaa
变量更新为最后存入的金额,以便我稍后可以通过调用该reader
函数来读取它。在混音中,它不显示aaa
变量的任何输入字段。此外,在 MetaMask 中,发送到合约的交易即使已经完成也保持待处理状态(余额在 remix 和 testRPC 中更新。)
在节点中,我使用以下行来尝试执行该reader
函数,但我不确定这是否可行。
contract.methods.reader().call(0, (error, result) => { if(!error){console.log(result);}});