目前正在研究以太坊。我有一个如下的可靠性文件
pragma solidity ^0.4.11;
contract ArrayOfBytes32 {
address creator;
bytes32[10] bytesArray; // size must be fixed
function getArray() constant returns (bytes32[10])
{uint8 x = 0;
while(x < bytesArray.length)
{
bytesArray[x] = "myString";
x++;
}
return bytesArray;
}
function getValue(uint8 x) constant returns (bytes32)
{
return bytesArray[x];
}
}
在这个函数中getArray()正确返回。但是函数getValue()总是返回默认值,即0000000。 getArray()中所做的更改未反映!!任何解决方案
答案 0 :(得分:2)
从constant
删除getArray()
修饰符。 constant
函数不会将状态写入区块链。