Я выполняю умный контракт на лотерею, и для случайного выбора победителя я беру текущее время блока, а затем хэширую его, но почти каждый раз, когда я получаю сообщение об ошибке, которое говорит о том, что транзакция не удалась и что у нее кончился газ,
bytes32 hash = keccak256(abi.encode(block.timestamp));
Есть ли проблема в твердости для того, чтобы отвести время?