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