нет, что нужно еще добавить?
func random (i: Invocation, min: Int, max: Int) = {
let ofset = parseIntValue(takeRight(toString(toInt(i.transactionId)), 1))
let randomSeedBlock = value(blockInfoByHeight((height - ofset)))
let randomHash = sha256_16Kb((value(randomSeedBlock.vrf)))
let lastChar = takeRight(toString(toInt(randomHash)), 5)
parseIntValue(lastChar) % (max - min + 1) + min
}
на блокчейне волн нельзя получить честный рандом в текущей транзакции. Можно только из будущего, по схеме commit-reveal
Обсуждают сегодня