Skip to content

Instantly share code, notes, and snippets.

@pepyakin
Created January 15, 2021 14:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pepyakin/ce6e5825a82e39d02578122126d103ea to your computer and use it in GitHub Desktop.
Save pepyakin/ce6e5825a82e39d02578122126d103ea to your computer and use it in GitHub Desktop.
Run polkadot and cumulus localnet
  1. Build master of polkadot with cargo build --release --features real-overseer
  2. Build master of cumulus with cargo build --release -p rococo-collator
  3. Update the config above so that paths point to proper locations
  4. Take polkadot-launch of d9b6708e5175244aa5c83685aa5d0633b837a1fe (or master should be fine really)
  5. Run with RUST_LOG=parachains_runtime_inclusion=trace,candidate_backing=trace,collation_generation=trace,candidate_selection=trace,runtime=debug npm run start launch-hrmp.json
{
"relaychain": {
"bin": "/home/lilpep/dev/polkadot/target/release/polkadot",
"chain": "rococo-local",
"flags": ["-lruntime=debug"],
"nodes": [
{
"name": "alice",
"wsPort": 9944,
"port": 30444
},
{
"name": "bob",
"wsPort": 9955,
"port": 30555
},
{
"name": "charlie",
"wsPort": 9966,
"port": 30666
}
]
},
"parachains": [
{
"bin": "/home/lilpep/dev/cumulus/target/release/rococo-collator",
"id": "200",
"wsPort": 9988,
"port": 30888,
"balance": "1000000000000000000000",
"flags": ["--", "--execution=wasm"]
},
{
"bin": "/home/lilpep/dev/cumulus/target/release/rococo-collator",
"id": "300",
"wsPort": 9989,
"port": 30999,
"balance": "1000000000000000000000",
"flags": ["--", "--execution=wasm"]
}
],
"simpleParachains": [
],
"hrmpChannels": [
{
"sender": "200",
"recipient": "300",
"maxCapacity": "8",
"maxMessageSize": "1024"
}
],
"types": {
"OriginKind": {
"_enum": {
"Native": null,
"SovereignAccount": null,
"Superuser": null
}
},
"NetworkId": {
"_enum": {
"Any": null,
"Named": "Vec<u8>",
"Polkadot": null,
"Kusama": null
}
},
"MultiLocation": {
"_enum": {
"Null": null,
"X1": "Junction",
"X2": "(Junction, Junction)",
"X3": "(Junction, Junction, Junction)",
"X4": "(Junction, Junction, Junction, Junction)"
}
},
"AccountId32Junction": {
"network": "NetworkId",
"id": "AccountId"
},
"AccountIndex64Junction": {
"network": "NetworkId",
"index": "Compact<u64>"
},
"AccountKey20Junction": {
"network": "NetworkId",
"index": "[u8; 20]"
},
"Junction": {
"_enum": {
"Parent": null,
"Parachain": "Compact<u32>",
"AccountId32": "AccountId32Junction",
"AccountIndex64": "AccountIndex64Junction",
"AccountKey20": "AccountKey20Junction",
"PalletInstance": "u8",
"GeneralIndex": "Compact<u128>",
"GeneralKey": "Vec<u8>",
"OnlyChild": null
}
},
"VersionedMultiLocation": {
"_enum": {
"V0": "MultiLocation"
}
},
"AssetInstance": {
"_enum": {
"Undefined": null,
"Index8": "u8",
"Index16": "Compact<u16>",
"Index32": "Compact<u32>",
"Index64": "Compact<u64>",
"Index128": "Compact<u128>",
"Array4": "[u8; 4]",
"Array8": "[u8; 8]",
"Array16": "[u8; 16]",
"Array32": "[u8; 32]",
"Blob": "Vec<u8>"
}
},
"AbstractFungible": {
"id": "Vec<u8>",
"instance": "Compact<u128>"
},
"AbstractNonFungible": {
"class": "Vec<u8>",
"instance": "AssetInstance"
},
"ConcreteFungible": {
"id": "MultiLocation",
"amount": "Compact<u128>"
},
"ConcreteNonFungible": {
"class": "MultiLocation",
"instance": "AssetInstance"
},
"MultiAsset": {
"_enum": {
"None": null,
"All": null,
"AllFungible": null,
"AllNonFungible": null,
"AllAbstractFungible": "Vec<u8>",
"AllAbstractNonFungible": "Vec<u8>",
"AllConcreteFungible": "MultiLocation",
"AllConcreteNonFungible": "MultiLocation",
"AbstractFungible": "AbstractFungible",
"AbstractNonFungible": "AbstractNonFungible",
"ConcreteFungible": "ConcreteFungible",
"ConcreteNonFungible": "ConcreteNonFungible"
}
},
"VersionedMultiAsset": {
"_enum": {
"V0": "MultiAsset"
}
},
"DepositAsset": {
"assets": "Vec<MultiAsset>",
"dest": "MultiLocation"
},
"DepositReserveAsset": {
"assets": "Vec<MultiAsset>",
"dest": "MultiLocation",
"effects": "Vec<Order>"
},
"ExchangeAsset": {
"give": "Vec<MultiAsset>",
"receive": "Vec<MultiAsset>"
},
"InitiateReserveWithdraw": {
"assets": "Vec<MultiAsset>",
"reserve": "MultiLocation",
"effects": "Vec<Order>"
},
"InitiateTeleport": {
"assets": "Vec<MultiAsset>",
"dest": "MultiLocation",
"effects": "Vec<Order>"
},
"QueryHolding": {
"query_id": "Compact<u64>",
"dest": "MultiLocation",
"assets": "Vec<MultiAsset>"
},
"Order": {
"_enum": {
"Null": null,
"DepositAsset": "DepositAsset",
"DepositReserveAsset": "DepositReserveAsset",
"ExchangeAsset": "ExchangeAsset",
"InitiateReserveWithdraw": "InitiateReserveWithdraw",
"InitiateTeleport": "InitiateTeleport",
"QueryHolding": "QueryHolding"
}
},
"WithdrawAsset": {
"assets": "Vec<MultiAsset>",
"effects": "Vec<Order>"
},
"ReserveAssetDeposit": {
"assets": "Vec<MultiAsset>",
"effects": "Vec<Order>"
},
"TeleportAsset": {
"assets": "Vec<MultiAsset>",
"effects": "Vec<Order>"
},
"Balances": {
"query_id": "Compact<u64>",
"assets": "Vec<MultiAsset>"
},
"Transact": {
"origin_type": "OriginKind",
"call": "Vec<u8>"
},
"RelayTo": {
"dest": "MultiLocation",
"inner": "VersionedXcm"
},
"RelayedFrom": {
"superorigin": "MultiLocation",
"inner": "VersionedXcm"
},
"Xcm": {
"_enum": {
"WithdrawAsset": "WithdrawAsset",
"ReserveAssetDeposit": "ReserveAssetDeposit",
"TeleportAsset": "TeleportAsset",
"Balances": "Balances",
"Transact": "Transact",
"RelayTo": "RelayTo",
"RelayedFrom": "RelayedFrom"
}
},
"VersionedXcm": {
"_enum": {
"V0": "Xcm"
}
},
"XcmError": {
"_enum": [
"Undefined",
"Unimplemented",
"UnhandledXcmVersion",
"UnhandledXcmMessage",
"UnhandledEffect",
"EscalationOfPrivilege",
"UntrustedReserveLocation",
"UntrustedTeleportLocation",
"DestinationBufferOverflow",
"CannotReachDestination",
"MultiLocationFull",
"FailedToDecode",
"BadOrigin"
]
},
"XcmResult": {
"_enum": {
"Ok": "()",
"Err": "XcmError"
}
},
"InboundDownwardMessage": {
"sent_at": "BlockNumber",
"msg": "Vec<u8>"
},
"InboundHrmpMessage": {
"sent_at": "BlockNumber",
"data": "Vec<u8>"
},
"MessageIngestionType": {
"dmp": "Vec<InboundDownwardMessage>",
"hrmp": "BTreeMap<u32,Vec<InboundHrmpMessage>>"
},
"ValidationData": {
"persisted": "PersistedValidationData",
"transient": "TransientValidationData"
},
"PersistedValidationData": {
"parent_head": "HeadData",
"block_number": "BlockNumber",
"hrmp_mqc_heads": "Vec<(u32,Hash)>",
"dmq_mqc_head": "Hash",
"max_pov_size": "u32"
},
"TransientValidationData": {
"max_code_size": "u32",
"max_head_data_size": "u32",
"balance": "Balance",
"code_upgrade_allowed": "Option<BlockNumber>",
"dmq_length": "u32"
},
"HrmpChannel": {
"sender_deposit": "Balance",
"recipient_deposit": "Balance",
"max_capacity": "u32",
"max_total_size": "u32",
"max_message_size": "u32",
"msg_count": "u32",
"total_size": "u32",
"mqc_head": "Option<Hash>"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment