#tetcoin #framework #blockchain #crypto

no-std noble-randomness-collective-flip

FABRIC randomness collective flip noble

Show the crate…

1 stable release

2.0.0 Apr 4, 2021

#33 in #tetcore

Download history 54/week @ 2024-03-11 31/week @ 2024-03-18 49/week @ 2024-03-25 70/week @ 2024-04-01 23/week @ 2024-04-08 36/week @ 2024-04-15 36/week @ 2024-04-22 31/week @ 2024-04-29 38/week @ 2024-05-06 33/week @ 2024-05-13 27/week @ 2024-05-20 22/week @ 2024-05-27 27/week @ 2024-06-03 24/week @ 2024-06-10 26/week @ 2024-06-17 36/week @ 2024-06-24

114 downloads per month
Used in 12 crates (3 directly)

Apache-2.0

1MB
23K SLoC

Randomness Module

The Randomness Collective Flip module provides a 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 noble as a randomness source is advisable primarily in low-security situations like testing.

Public Functions

See the Module 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

use fabric_support::{decl_module, dispatch, traits::Randomness};

pub trait Config: fabric_system::Config {}

decl_module! {
	pub struct Module<T: Config> for enum Call where origin: T::Origin {
		#[weight = 0]
		pub fn random_module_example(origin) -> dispatch::DispatchResult {
			let _random_value = <noble_randomness_collective_flip::Module<T>>::random(&b"my context"[..]);
			Ok(())
		}
	}
}

License: Apache-2.0

Dependencies

~3–12MB
~135K SLoC