随机数生成
为 Tact 智能合约生成随机数。
random
fun random(min: Int, max: Int): Int;生成并返回一个新的伪随机无符号 Int 值 x,该值位于提供的半闭区间内:min x max,或者当 min 和 max 都是负数时,min x max。 请注意,max值从未包含在区间内。
示例用法:
random(42, 43); // 42, alwaysrandom(0, 42); // 0-41, but never a 42randomInt
fun randomInt(): Int;生成并返回一个新的伪随机无符号 -bit Int值 x。
算法如下:如果 r 是随机种子的旧值,认为它是一个 字节的数组(通过构建无符号 位 Int 的大端表示),那么计算其 sha512(r)。 哈希值的前 字节作为随机种子的新值 r' 存储,其余 字节作为下一个随机值 x 返回。
用法示例:
let allYourRandomBelongsToUs: Int = randomInt(); // ???, it's random :)