27个版本 (13个主要变更)
15.0.0 | 2023年2月5日 |
---|---|
14.0.0 | 2023年2月1日 |
13.0.0 | 2023年1月22日 |
12.0.0 | 2023年1月16日 |
2.0.0-alpha.5 | 2020年3月24日 |
#14 in #flip
3,833 每月下载量
在 8 个crate中(6个直接使用)
14KB
183 行
随机模块
随机集体翻转模块提供了一个基于前81个区块的哈希值的 random
函数,生成低影响力的随机值。低影响力随机性在防御相对较弱对手时可能很有用。建议在测试等低安全性情况下使用此托盘作为随机数源。
公共函数
有关公开可用函数的详细信息,请参阅 Module
结构。
使用方法
先决条件
导入随机集体翻转模块,并从系统特质派生您模块的配置特质。
示例 - 获取当前块的随机种子
use frame_support::traits::Randomness;
#[frame_support::pallet]
pub mod pallet {
use super::*;
use frame_support::pallet_prelude::*;
use frame_system::pallet_prelude::*;
#[pallet::pallet]
pub struct Pallet<T>(_);
#[pallet::config]
pub trait Config: frame_system::Config + pallet_randomness_collective_flip::Config {}
#[pallet::call]
impl<T: Config> Pallet<T> {
#[pallet::weight(0)]
pub fn random_module_example(origin: OriginFor<T>) -> DispatchResult {
let _random_value = <pallet_randomness_collective_flip::Pallet<T>>::random(&b"my context"[..]);
Ok(())
}
}
}
许可证:Apache-2.0
依赖关系
~11–31MB
~437K SLoC