Crates.io | pallet-octopus-appchain |
lib.rs | pallet-octopus-appchain |
version | 3.0.0-pre.0 |
source | src |
created_at | 2021-03-24 06:30:21.12829 |
updated_at | 2021-03-24 06:30:21.12829 |
description | FRAME pallet for joining the octopus network as an appchain. |
homepage | https://oct.network |
repository | https://github.com/octopus-network/pallet-octopus-appchain.git |
max_upload_size | |
id | 372842 |
size | 66,920 |
This is a support component of Octopus Network.
With this pallet, a chain built from substrate can join octopus network as an appchain.
An appchain can rent security from motherchain on demand.
This pallet depend on CreateSignedTransaction
.
This pallet depend on pallet_session.
Cargo.toml
To add this pallet to your runtime, simply include the following to your runtime's Cargo.toml
file:
[dependencies]
pallet-session = { default-features = false, version = '3.0.0' }
pallet-octopus-appchain = { default-features = false, git = 'https://github.com/octopus-network/pallet-octopus-appchain.git' }
and update your runtime's std
feature to include this pallet:
std = [
# --snip--
'pallet-session/std',
'pallet-octopus-appchain/std',
]
lib.rs
You should implement it's trait like so:
parameter_types! {
pub const AppchainId: pallet_octopus_appchain::ChainId = 0;
pub const Motherchain: pallet_octopus_appchain::MotherchainType = pallet_octopus_appchain::MotherchainType::NEAR;
pub const GracePeriod: u32 = 5;
pub const UnsignedPriority: u64 = 1 << 20;
}
impl pallet_octopus_appchain::Config for Runtime {
type Event = Event;
type AuthorityId = pallet_octopus_appchain::crypto::OctopusAuthId;
type Call = Call;
type AppchainId = AppchainId;
type Motherchain = Motherchain;
const RELAY_CONTRACT_NAME: &'static [u8] = b"dev-1616239154529-4812993";
type GracePeriod = GracePeriod;
type UnsignedPriority = UnsignedPriority;
}
and include it in your construct_runtime!
macro:
OctopusAppchain: pallet_octopus_appchain::{Module, Call, Storage, Config<T>, Event<T>, ValidateUnsigned},
See this commit of Barnacle for genesis configuration and other settings.
We will explain these configurations in detail later.
You can view the reference docs for this pallet by running:
cargo doc --open