mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 12:17:58 +00:00
a30092ab42
* Add markdown linting - add linter default rules - adapt rules to current code - fix the code for linting to pass - add CI check fix #1243 * Fix markdown for Substrate * Fix tooling install * Fix workflow * Add documentation * Remove trailing spaces * Update .github/.markdownlint.yaml Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Fix mangled markdown/lists * Fix captalization issues on known words
55 lines
1.8 KiB
Markdown
55 lines
1.8 KiB
Markdown
# DO NOT USE IN PRODUCTION
|
|
|
|
The produced values do not fulfill the cryptographic requirements for random numbers. Should not be used for high-stake
|
|
production use-cases.
|
|
|
|
# Randomness Module
|
|
|
|
The Randomness Collective Flip module provides a
|
|
[`random`](https://docs.rs/pallet-insecure-randomness-collective-flip/latest/pallet_insecure_randomness_collective_flip/struct.Module.html#method.random)
|
|
function that generates low-influence random values based on the block hashes from the previous `81` blocks.
|
|
Low-influence randomness can be useful when defending against relatively weak adversaries. Using this pallet as a
|
|
randomness source is advisable primarily in low-security situations like testing.
|
|
|
|
## Public Functions
|
|
|
|
See the
|
|
[`Module`](https://docs.rs/pallet-insecure-randomness-collective-flip/latest/pallet_insecure_randomness_collective_flip/struct.Module.html)
|
|
struct for details of publicly available functions.
|
|
|
|
## Usage
|
|
|
|
### Prerequisites
|
|
|
|
Import the Randomness Collective Flip module and derive your module's configuration trait from the system trait.
|
|
|
|
### Example - Get random seed for the current block
|
|
|
|
```rust
|
|
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(())
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
License: Apache-2.0
|