#unc #rng #smart-contracts

unc-rng

这是基于 tiny-rng https://github.com/JohnBSmith/tiny-rng 的分支,用于与 UNC 协议的智能合约一起工作,以最小化 wasm 的二进制大小。

1 个不稳定版本

0.1.0 2024年3月6日

#6#随机数


用于 unc-sdk

MIT/Apache

7KB
116

UNC-RNG

这是基于 tiny-rng https://github.com/JohnBSmith/tiny-rng 的分支,用于与 UNC 协议的智能合约一起工作,以最小化 wasm 的二进制大小。

警告:不提供密码学安全性。

示例

use unc_sdk::borsh::{self, BorshDeserialize, BorshSerialize};
use unc_sdk::{env, near_bindgen};
use unc_rng::{Rng};

unc_sdk::setup_alloc!();

#[near_bindgen]
#[derive(Default, BorshDeserialize, BorshSerialize)]
pub struct Counter {
    val: i32,
}

#[near_bindgen]
impl Counter {
  pub fn increment(&mut self) {
    let mut rng = Rng::new(&env::random_seed());
    let value = rng.rand_range_i32(0, 20);
    self.val += value;
  }
}

无运行时依赖