随机数生成
为 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 42
randomInt
fun randomInt(): Int;
生成并返回一个新的伪随机无符号 -bit Int
值 x
。
算法如下:如果 r
是随机种子的旧值,认为它是一个 字节的数组(通过构建无符号 位 Int
的大端表示),那么计算其 sha512(r)
。 哈希值的前 字节作为随机种子的新值 r'
存储,其余 字节作为下一个随机值 x
返回。
用法示例:
let allYourRandomBelongsToUs: Int = randomInt(); // ???, it's random :)