У меня проблема с функцией blockhash на сайте remix.ethereum.org. Несмотря на несколько попыток с разными кодами, функция blockhash всегда вызывает проблемы, и в результате все переменные возвращаются с нулевым значением.
В приведенном ниже случае переменная _previousBlockNumber всегда возвращает нулевое значение. Если строка хэш-функции закомментирована, то ошибка не возникает и, по крайней мере, переменная _previousBlockNumber возвращается корректно.
Я пробовал несколько разных версий компиляторов.
pragma solidity ^0.5.5;
contract Test {
constructor() public {
}
function rand() public view returns(uint,bytes32) {
uint _previousBlockNumber;
bytes32 _previousBlockHash;
_previousBlockNumber = uint(block.number - 1);
bytes32 _previousBlockHash = bytes32(blockhash(_previousBlockNumber));
return (_previousBlockNumber,_previousBlockHash);
}
}
Это проблема с ошибкой?
Спасибо за любую помощь.