跳转到内容

随机数生成

为 Tact 智能合约生成随机数。

随机的

fun random(min: Int, max: Int):Int

在提供的半封闭区间内生成并返回一个新的伪随机无符号 Intx: min x << max or min x >> max, 如果 minmax 都是负值。 注意,“最大 “值从不包含在区间内。

使用示例

random(42, 43); // 42, always
random(0, 42); // 0-41, but never a 42

随机常数

fun randomInt():Int

生成并返回一个新的伪随机无符号 256256-bit Intx

该算法的工作原理如下:如果 r 是被视为 3232-字节数组(通过构建无符号 256256-位 Int的 big-endian 表示)的随机种子的旧值,则计算其 sha512(r)。 哈希值的前 3232 字节作为随机种子的新值 r' 存储,其余 3232 字节作为下一个随机值 x 返回。

使用示例

let allYourRandomBelongsToUsInt = randomInt(); // ????, it's random :)