28 个版本 (主要破坏性)
25.0.0 | 2024 年 7 月 18 日 |
---|---|
24.0.0 | 2024 年 7 月 12 日 |
23.0.0 | 2024 年 6 月 21 日 |
22.0.0 | 2024 年 5 月 23 日 |
0.0.0 | 2023 年 2 月 2 日 |
#1131 在 神奇豆子
每月下载量 3,205
在 11 个 货架中使用(8 个直接使用)
2MB
35K SLoC
请勿在生产环境中使用
生成的值不满足随机数的密码学要求。不应用于高风险的生产用途。
随机性模块
随机性集体翻转模块提供了一个 random
函数,该函数根据前 81
个区块的区块哈希值生成低影响的随机值。当防御相对较弱的对手时,低影响随机性可能很有用。建议主要在低安全性的情况下(如测试)使用此货架作为随机数源。
公共函数
请参阅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_insecure_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_insecure_randomness_collective_flip::Pallet::<T>::random(&b"my context"[..]);
Ok(())
}
}
}
许可证:Apache-2.0
依赖关系
~17–32MB
~531K SLoC