#pallet #randomness #frame #flip #collective #random #block

无需std pallet-randomness-collective-flip

FRAME 随机集体翻转托盘

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.52020年3月24日

#14 in #flip

Download history 754/week @ 2024-03-13 1157/week @ 2024-03-20 1175/week @ 2024-03-27 1104/week @ 2024-04-03 941/week @ 2024-04-10 1123/week @ 2024-04-17 1168/week @ 2024-04-24 963/week @ 2024-05-01 967/week @ 2024-05-08 1079/week @ 2024-05-15 1131/week @ 2024-05-22 1232/week @ 2024-05-29 953/week @ 2024-06-05 851/week @ 2024-06-12 996/week @ 2024-06-19 841/week @ 2024-06-26

3,833 每月下载量
8 个crate中(6个直接使用)

Apache-2.0

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