mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-16 03:51:07 +00:00
[BridgeHub] Setup Wococo parachain backbone (reused from Rococo)
[Bridge-Backport] Rebase-fix BridgeHub] Added zombienet startup tomls for Rococo/Wococo Fix typo
This commit is contained in:
@@ -19,7 +19,7 @@ Every _BridgeHub_ is meant to be **_common good parachain_** with main responsib
|
||||
### Deploy
|
||||
```
|
||||
cd <cumulus-git-repo-dir>
|
||||
cargo build --release --locked -p polkadot-parachain@0.9.220
|
||||
cargo build --release --locked -p polkadot-parachain@0.9.230
|
||||
|
||||
mkdir -p ~/local_bridge_testing/bin
|
||||
|
||||
@@ -28,41 +28,78 @@ cp target/release/polkadot-parachain ~/local_bridge_testing/bin/polkadot-paracha
|
||||
ls -lrt ~/local_bridge_testing/bin/polkadot-parachain
|
||||
```
|
||||
|
||||
### Run relay chain (Rococo)
|
||||
### Run with Zombienet
|
||||
|
||||
```
|
||||
# Rococo
|
||||
POLKADOT_BINARY_PATH=~/local_bridge_testing/bin/polkadot \
|
||||
POLKADOT_PARACHAIN_BINARY_PATH=~/local_bridge_testing/bin/polkadot-parachain \
|
||||
~/local_bridge_testing/bin/zombienet-linux --provider native spawn ./zombienet_tests/0004-run_bridge_hubs_rococo.toml
|
||||
|
||||
# Wococo
|
||||
POLKADOT_BINARY_PATH=~/local_bridge_testing/bin/polkadot \
|
||||
POLKADOT_PARACHAIN_BINARY_PATH=~/local_bridge_testing/bin/polkadot-parachain \
|
||||
~/local_bridge_testing/bin/zombienet-linux --provider native spawn ./zombienet_tests/0004-run_bridge_hubs_wococo.toml
|
||||
```
|
||||
|
||||
### Run from cmd
|
||||
|
||||
#### Run relay chains (Rococo, Wococo)
|
||||
```
|
||||
<build polkadot repo at first and copy binary to ~/local_bridge_testing/bin/ >
|
||||
|
||||
# Rococo
|
||||
~/local_bridge_testing/bin/polkadot build-spec --chain rococo-local --disable-default-bootnode --raw > ~/local_bridge_testing/rococo-local-cfde.json
|
||||
~/local_bridge_testing/bin/polkadot --chain ~/local_bridge_testing/rococo-local-cfde.json --alice --tmp
|
||||
~/local_bridge_testing/bin/polkadot --chain ~/local_bridge_testing/rococo-local-cfde.json --bob --tmp --port 30334
|
||||
```
|
||||
~/local_bridge_testing/bin/polkadot --chain ~/local_bridge_testing/rococo-local-cfde.json --alice --tmp --port 30332 --rpc-port 9932 --ws-port 9942
|
||||
~/local_bridge_testing/bin/polkadot --chain ~/local_bridge_testing/rococo-local-cfde.json --bob --tmp --port 30333 --rpc-port 9933 --ws-port 9943
|
||||
~/local_bridge_testing/bin/polkadot --chain ~/local_bridge_testing/rococo-local-cfde.json --charlie --tmp --port 30334 --rpc-port 9934 --ws-port 9944
|
||||
|
||||
### Run Rococo BridgeHub parachain
|
||||
#### Generate spec + genesis + wasm (paraId=1013)
|
||||
# Wococo
|
||||
~/local_bridge_testing/bin/polkadot build-spec --chain wococo-local --disable-default-bootnode --raw > ~/local_bridge_testing/wococo-local-cfde.json
|
||||
~/local_bridge_testing/bin/polkadot --chain ~/local_bridge_testing/wococo-local-cfde.json --alice --tmp --port 30335 --rpc-port 9935 --ws-port 9945
|
||||
~/local_bridge_testing/bin/polkadot --chain ~/local_bridge_testing/wococo-local-cfde.json --bob --tmp --port 30336 --rpc-port 9936 --ws-port 9946
|
||||
~/local_bridge_testing/bin/polkadot --chain ~/local_bridge_testing/wococo-local-cfde.json --charlie --tmp --port 30337 --rpc-port 9937 --ws-port 9947
|
||||
~/local_bridge_testing/bin/polkadot --chain ~/local_bridge_testing/wococo-local-cfde.json --dave --tmp --port 30338 --rpc-port 9938 --ws-port 9948
|
||||
```
|
||||
We need at least 5 nodes together (validator + collator) to finalize blocks.
|
||||
|
||||
#### Run BridgeHub parachains (Rococo, Wococo)
|
||||
##### Generate spec + genesis + wasm (paraId=1013)
|
||||
```
|
||||
# Rococo
|
||||
rm ~/local_bridge_testing/bridge-hub-rococo-local-raw.json
|
||||
~/local_bridge_testing/bin/polkadot-parachain build-spec --chain bridge-hub-rococo-local --raw --disable-default-bootnode > ~/local_bridge_testing/bridge-hub-rococo-local-raw.json
|
||||
~/local_bridge_testing/bin/polkadot-parachain export-genesis-state --chain ~/local_bridge_testing/bridge-hub-rococo-local-raw.json > ~/local_bridge_testing/bridge-hub-rococo-local-genesis
|
||||
~/local_bridge_testing/bin/polkadot-parachain export-genesis-wasm --chain ~/local_bridge_testing/bridge-hub-rococo-local-raw.json > ~/local_bridge_testing/bridge-hub-rococo-local-genesis-wasm
|
||||
|
||||
# Wococo
|
||||
rm ~/local_bridge_testing/bridge-hub-wococo-local-raw.json
|
||||
~/local_bridge_testing/bin/polkadot-parachain build-spec --chain bridge-hub-wococo-local --raw --disable-default-bootnode > ~/local_bridge_testing/bridge-hub-wococo-local-raw.json
|
||||
~/local_bridge_testing/bin/polkadot-parachain export-genesis-state --chain ~/local_bridge_testing/bridge-hub-wococo-local-raw.json > ~/local_bridge_testing/bridge-hub-wococo-local-genesis
|
||||
~/local_bridge_testing/bin/polkadot-parachain export-genesis-wasm --chain ~/local_bridge_testing/bridge-hub-wococo-local-raw.json > ~/local_bridge_testing/bridge-hub-wococo-local-genesis-wasm
|
||||
```
|
||||
|
||||
#### Run collators
|
||||
##### Run collators (Rococo, Wococo)
|
||||
```
|
||||
~/local_bridge_testing/bin/polkadot-parachain --collator --alice --force-authoring --tmp --port 40335 --ws-port 9946 --chain ~/local_bridge_testing/bridge-hub-rococo-local-raw.json -- --execution wasm --chain ~/local_bridge_testing/rococo-local-cfde.json --port 30335
|
||||
~/local_bridge_testing/bin/polkadot-parachain --collator --bob --force-authoring --tmp --port 40336 --ws-port 9947 --chain ~/local_bridge_testing/bridge-hub-rococo-local-raw.json -- --execution wasm --chain ~/local_bridge_testing/rococo-local-cfde.json --port 30336
|
||||
# Rococo
|
||||
~/local_bridge_testing/bin/polkadot-parachain --collator --alice --force-authoring --tmp --port 40333 --rpc-port 8933 --ws-port 8943 --chain ~/local_bridge_testing/bridge-hub-rococo-local-raw.json -- --execution wasm --chain ~/local_bridge_testing/rococo-local-cfde.json --port 41333 --rpc-port 48933 --ws-port 48943
|
||||
~/local_bridge_testing/bin/polkadot-parachain --collator --bob --force-authoring --tmp --port 40334 --rpc-port 8934 --ws-port 8944 --chain ~/local_bridge_testing/bridge-hub-rococo-local-raw.json -- --execution wasm --chain ~/local_bridge_testing/rococo-local-cfde.json --port 41334 -rpc-port 48934 --ws-port 48944
|
||||
|
||||
# Wococo
|
||||
~/local_bridge_testing/bin/polkadot-parachain --collator --alice --force-authoring --tmp --port 40335 --rpc-port 8935 --ws-port 8945 --chain ~/local_bridge_testing/bridge-hub-wococo-local-raw.json -- --execution wasm --chain ~/local_bridge_testing/wococo-local-cfde.json --port 41335 --rpc-port 48935 --ws-port 48945
|
||||
~/local_bridge_testing/bin/polkadot-parachain --collator --bob --force-authoring --tmp --port 40336 --rpc-port 8936 --ws-port 8946 --chain ~/local_bridge_testing/bridge-hub-wococo-local-raw.json -- --execution wasm --chain ~/local_bridge_testing/wococo-local-cfde.json --port 41336 --rpc-port 48936 --ws-port 48946
|
||||
```
|
||||
|
||||
#### Run parachain node
|
||||
##### Activate parachains (Rococo, Wococo) (paraId=1013)
|
||||
```
|
||||
~/local_bridge_testing/bin/polkadot-parachain --tmp --port 40337 --ws-port 9948 --chain ~/local_bridge_testing/bridge-hub-rococo-local-raw.json -- --execution wasm --chain ~/local_bridge_testing/rococo-local-cfde.json --port 30337
|
||||
# Rococo
|
||||
https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9942#/explorer
|
||||
|
||||
# Wococo
|
||||
https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9945#/explorer
|
||||
```
|
||||
|
||||
#### Activate parachain (paraId=1013)
|
||||
```
|
||||
https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9944#/explorer
|
||||
```
|
||||
|
||||
#### After parachain activation, we should see new blocks in collator's node
|
||||
##### After parachain activation, we should see new blocks in collator's node
|
||||
```
|
||||
https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9944#/parachains
|
||||
```
|
||||
|
||||
@@ -65,6 +65,7 @@ cumulus-primitives-timestamp = { path = "../../../../primitives/timestamp", defa
|
||||
cumulus-primitives-utility = { path = "../../../../primitives/utility", default-features = false }
|
||||
pallet-collator-selection = { path = "../../../../pallets/collator-selection", default-features = false }
|
||||
parachain-info = { path = "../../../../parachains/pallets/parachain-info", default-features = false }
|
||||
parachains-common = { path = "../../../../parachains/common", default-features = false }
|
||||
|
||||
# Bridges
|
||||
bp-polkadot-core = { path = "../../../../bridges/primitives/polkadot-core", default-features = false }
|
||||
|
||||
@@ -31,9 +31,9 @@ use sp_api::impl_runtime_apis;
|
||||
use sp_core::{crypto::KeyTypeId, OpaqueMetadata};
|
||||
use sp_runtime::{
|
||||
create_runtime_str, generic, impl_opaque_keys,
|
||||
traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, IdentifyAccount, Verify},
|
||||
traits::{AccountIdLookup, BlakeTwo256, Block as BlockT},
|
||||
transaction_validity::{TransactionSource, TransactionValidity},
|
||||
ApplyExtrinsicResult, MultiSignature,
|
||||
ApplyExtrinsicResult,
|
||||
};
|
||||
|
||||
use sp_std::prelude::*;
|
||||
@@ -43,14 +43,13 @@ use sp_version::RuntimeVersion;
|
||||
|
||||
use frame_support::{
|
||||
construct_runtime, parameter_types,
|
||||
traits::Everything,
|
||||
traits::{Everything, IsInVec},
|
||||
weights::{
|
||||
constants::WEIGHT_PER_SECOND, ConstantMultiplier, DispatchClass, Weight,
|
||||
WeightToFeeCoefficient, WeightToFeeCoefficients, WeightToFeePolynomial,
|
||||
},
|
||||
PalletId,
|
||||
};
|
||||
use frame_support::traits::IsInVec;
|
||||
use frame_system::{
|
||||
limits::{BlockLength, BlockWeights},
|
||||
EnsureRoot,
|
||||
@@ -70,16 +69,10 @@ use polkadot_runtime_common::{BlockHashCount, SlowAdjustingFeeUpdate};
|
||||
use weights::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight};
|
||||
|
||||
// XCM Imports
|
||||
use parachains_common::{AccountId, Signature};
|
||||
use xcm::latest::prelude::BodyId;
|
||||
use xcm_executor::XcmExecutor;
|
||||
|
||||
/// Alias to 512-bit hash when used in the context of a transaction signature on the chain.
|
||||
pub type Signature = MultiSignature;
|
||||
|
||||
/// Some way of identifying an account on the chain. We intentionally make it equivalent
|
||||
/// to the public key of our transaction signing scheme.
|
||||
pub type AccountId = <<Signature as Verify>::Signer as IdentifyAccount>::AccountId;
|
||||
|
||||
/// Balance of an account.
|
||||
pub type Balance = u128;
|
||||
|
||||
@@ -489,7 +482,7 @@ impl pallet_bridge_grandpa::Config<BridgeGrandpaWococoInstance> for Runtime {
|
||||
type WeightInfo = ();
|
||||
}
|
||||
|
||||
/// Add granda bridge pallet to track Wococo relay chain
|
||||
/// Add granda bridge pallet to track Rococo relay chain
|
||||
pub type BridgeGrandpaRococoInstance = pallet_bridge_grandpa::Instance2;
|
||||
impl pallet_bridge_grandpa::Config<BridgeGrandpaRococoInstance> for Runtime {
|
||||
type BridgedChain = bp_rococo::Rococo;
|
||||
@@ -512,7 +505,7 @@ pub type BridgeParachainWococoInstance = pallet_bridge_parachains::Instance1;
|
||||
impl pallet_bridge_parachains::Config<BridgeParachainWococoInstance> for Runtime {
|
||||
type WeightInfo = ();
|
||||
type BridgesGrandpaPalletInstance = BridgeGrandpaWococoInstance;
|
||||
type ParasPalletName = RococoBridgeParachainPalletName;
|
||||
type ParasPalletName = WococoBridgeParachainPalletName;
|
||||
type TrackedParachains = IsInVec<GetTenFirstParachains>;
|
||||
type HeadsToKeep = ParachainHeadsToKeep;
|
||||
}
|
||||
@@ -522,7 +515,7 @@ pub type BridgeParachainRococoInstance = pallet_bridge_parachains::Instance2;
|
||||
impl pallet_bridge_parachains::Config<BridgeParachainRococoInstance> for Runtime {
|
||||
type WeightInfo = ();
|
||||
type BridgesGrandpaPalletInstance = BridgeGrandpaRococoInstance;
|
||||
type ParasPalletName = WococoBridgeParachainPalletName;
|
||||
type ParasPalletName = RococoBridgeParachainPalletName;
|
||||
type TrackedParachains = IsInVec<GetTenFirstParachains>;
|
||||
type HeadsToKeep = ParachainHeadsToKeep;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user