difftreelog
Update runtime types
in: master
2 files changed
README.mddiffbeforeafterboth133133134Additional CLI usage options are available and may be shown by running `cargo run -- --help`.134Additional CLI usage options are available and may be shown by running `cargo run -- --help`.135135136## Building and Running as Parachain locally137138Rust toolchain: nightly-2021-04-23139Note: checkout this project and polkadot project (see below) in the sibling folders (both under the same folder)140141### Parachain Code and Other Configurations142143Some changes need to be made in the parachain code depending on the relay chain it connects to1441451. Chain Spec (incl. chain_spec.rs)146```147Extensions {148 relay_chain: "rococo".into(),149 para_id: PARA_ID,150}151```1521532. All collators need to have at least existential balance154155156157158### Build relay159160```161git clone https://github.com/paritytech/polkadot.git162cd polkadot163git checkout aa386760164cargo build --release165```166167### Build parachain168169Run in the root of this project:170```171cargo --build172```173174### Run 4-node Relay1751761. Download `rococo-custom-4.json` chain spec here: https://substrate.dev/cumulus-workshop/shared/chainspecs/rococo-custom-4.json1772. Use these instructions to launch 4 nodes: https://substrate.dev/cumulus-workshop/#/en/2-relay-chain/1-launch178179Example (Run in polkadot folder. Replace `12D3KooWNLAmKcyee3oqSgTMthaQVXaAcXeo8RrGCzMfMVA3B5on` with output from Alice node):180```181./target/release/polkadot --alice --validator --base-path ./cumulus_relay0 --chain rococo-custom-4.json --port 50555 --ws-port 9944182./target/release/polkadot --bob --validator --base-path ./cumulus_relay1 --chain rococo-custom-4.json --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWNLAmKcyee3oqSgTMthaQVXaAcXeo8RrGCzMfMVA3B5on --port 50556 --ws-port 9945183./target/release/polkadot --charlie --validator --base-path ./cumulus_relay1 --chain rococo-custom-4.json --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWNLAmKcyee3oqSgTMthaQVXaAcXeo8RrGCzMfMVA3B5on --port 50557 --ws-port 9946184./target/release/polkadot --dave --validator --base-path ./cumulus_relay1 --chain rococo-custom-4.json --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWNLAmKcyee3oqSgTMthaQVXaAcXeo8RrGCzMfMVA3B5on --port 50558 --ws-port 9947185186```1871883. Export genesis state and runtime wasm from NFT parachain:189190Run from this project root:191```192./target/release/nft export-genesis-state --parachain-id 2000 > ./resources/para-2000-genesis193./target/release/nft export-genesis-wasm > ./resources/para-2000-wasm194```1951964. Run two parachain nodes:197198Replace `12D3KooWN1ah2bFQSysEFnwZqcmcVpDDR8UedXyo6xfzV1zDNMNg` with Alice or Bob relay ID199200Run from this project root:201```202./target/release/nft --alice --collator --force-authoring --base-path ./tmp/parachain-alice --parachain-id 2000 --port 40333 --ws-port 9844 -- --execution wasm --chain ../polkadot/rococo-custom-4.json --port 30343 --ws-port 9977203./target/release/nft --bob --collator --force-authoring --parachain-id 2000 --base-path ./tmp/parachain/bob --port 40334 --ws-port 9845 -- --execution wasm --chain ../polkadot/rococo-custom-4.json --port 30344 --ws-port 9978 --bootnodes /ip4/127.0.0.1/tcp/50556/p2p/12D3KooWN1ah2bFQSysEFnwZqcmcVpDDR8UedXyo6xfzV1zDNMNg204```2052064. Reserve parachain ID as described here: https://substrate.dev/cumulus-workshop/#/en/2-relay-chain/2-reserve2072085. Register parachain in relay as described here: https://substrate.dev/cumulus-workshop/#/en/3-parachains/2-register209210136## Run Integration Tests211## Run Integration Testsruntime_types.jsondiffbeforeafterboth--- a/runtime_types.json
+++ b/runtime_types.json
@@ -1,109 +1,103 @@
{
- "AccessMode": {
- "_enum": [
- "Normal",
- "WhiteList"
- ]
- },
- "DecimalPoints": "u8",
- "CollectionMode": {
- "_enum": {
- "Invalid": null,
- "NFT": null,
- "Fungible": "DecimalPoints",
- "ReFungible": null
- }
- },
- "Ownership": {
- "Owner": "AccountId",
- "Fraction": "u128"
- },
- "FungibleItemType": {
- "Value": "u128"
- },
- "NftItemType": {
- "Owner": "AccountId",
- "ConstData": "Vec<u8>",
- "VariableData": "Vec<u8>"
- },
- "ReFungibleItemType": {
- "Owner": "Vec<Ownership<AccountId>>",
- "ConstData": "Vec<u8>",
- "VariableData": "Vec<u8>"
- },
- "SponsorshipState": {
- "_enum": {
- "Disabled": null,
- "Unconfirmed": "AccountId",
- "Confirmed": "AccountId"
- }
- },
- "Collection": {
- "Owner": "AccountId",
- "Mode": "CollectionMode",
- "Access": "AccessMode",
- "DecimalPoints": "DecimalPoints",
- "Name": "Vec<u16>",
- "Description": "Vec<u16>",
- "TokenPrefix": "Vec<u8>",
- "MintMode": "bool",
- "OffchainSchema": "Vec<u8>",
- "SchemaVersion": "SchemaVersion",
- "Sponsorship": "SponsorshipState",
- "Limits": "CollectionLimits",
- "VariableOnChainSchema": "Vec<u8>",
- "ConstOnChainSchema": "Vec<u8>"
- },
- "RawData": "Vec<u8>",
- "Address": "AccountId",
- "LookupSource": "AccountId",
- "Weight": "u64",
- "CreateNftData": {
- "const_data": "Vec<u8>",
- "variable_data": "Vec<u8>"
- },
- "CreateFungibleData": {
- "value": "u128"
- },
- "CreateReFungibleData": {
- "const_data": "Vec<u8>",
- "variable_data": "Vec<u8>",
- "pieces": "u128"
- },
- "CreateItemData": {
- "_enum": {
- "NFT": "CreateNftData",
- "Fungible": "CreateFungibleData",
- "ReFungible": "CreateReFungibleData"
- }
- },
- "SchemaVersion": {
- "_enum": [
- "ImageURL",
- "Unique"
- ]
- },
- "CollectionId": "u32",
- "TokenId": "u32",
- "ChainLimits": {
- "CollectionNumbersLimit": "u32",
- "AccountTokenOwnershipLimit": "u32",
- "CollectionAdminsLimit": "u64",
- "CustomDataLimit": "u32",
- "NftSponsorTimeout": "u32",
- "FungibleSponsorTimeout": "u32",
- "RefungibleSponsorTimeout": "u32",
- "OffchainSchemaLimit": "u32",
- "VariableOnChainSchemaLimit": "u32",
- "ConstOnChainSchemaLimit": "u32"
- },
- "CollectionLimits": {
- "AccountTokenOwnershipLimit": "u32",
- "SponsoredDataSize": "u32",
- "SponsoredDataRateLimit": "Option<BlockNumber>",
- "TokenLimit": "u32",
- "SponsorTimeout": "u32",
- "OwnerCanTransfer": "bool",
- "OwnerCanDestroy": "bool"
+ "AccessMode": {
+ "_enum": [
+ "Normal",
+ "WhiteList"
+ ]
+ },
+ "DecimalPoints": "u8",
+ "CollectionMode": {
+ "_enum": {
+ "Invalid": null,
+ "NFT": null,
+ "Fungible": "DecimalPoints",
+ "ReFungible": null
+ }
+ },
+ "Ownership": {
+ "Owner": "AccountId",
+ "Fraction": "u128"
+ },
+ "FungibleItemType": {
+ "Value": "u128"
+ },
+ "NftItemType": {
+ "Owner": "AccountId",
+ "ConstData": "Vec<u8>",
+ "VariableData": "Vec<u8>"
+ },
+ "ReFungibleItemType": {
+ "Owner": "Vec<Ownership<AccountId>>",
+ "ConstData": "Vec<u8>",
+ "VariableData": "Vec<u8>"
+ },
+ "Collection": {
+ "Owner": "AccountId",
+ "Mode": "CollectionMode",
+ "Access": "AccessMode",
+ "DecimalPoints": "DecimalPoints",
+ "Name": "Vec<u16>",
+ "Description": "Vec<u16>",
+ "TokenPrefix": "Vec<u8>",
+ "MintMode": "bool",
+ "OffchainSchema": "Vec<u8>",
+ "SchemaVersion": "SchemaVersion",
+ "Sponsor": "AccountId",
+ "SponsorConfirmed": "bool",
+ "Limits": "CollectionLimits",
+ "VariableOnChainSchema": "Vec<u8>",
+ "ConstOnChainSchema": "Vec<u8>"
+ },
+ "RawData": "Vec<u8>",
+ "Address": "AccountId",
+ "LookupSource": "AccountId",
+ "Weight": "u64",
+ "CreateNftData": {
+ "const_data": "Vec<u8>",
+ "variable_data": "Vec<u8>"
+ },
+ "CreateFungibleData": {
+ "value": "u128"
+ },
+ "CreateReFungibleData": {
+ "const_data": "Vec<u8>",
+ "variable_data": "Vec<u8>",
+ "pieces": "u128"
+ },
+ "CreateItemData": {
+ "_enum": {
+ "NFT": "CreateNftData",
+ "Fungible": "CreateFungibleData",
+ "ReFungible": "CreateReFungibleData"
}
-}
\ No newline at end of file
+ },
+ "SchemaVersion": {
+ "_enum": [
+ "ImageURL",
+ "Unique"
+ ]
+ },
+ "CollectionId": "u32",
+ "TokenId": "u32",
+ "ChainLimits": {
+ "CollectionNumbersLimit": "u32",
+ "AccountTokenOwnershipLimit": "u32",
+ "CollectionAdminsLimit": "u64",
+ "CustomDataLimit": "u32",
+ "NftSponsorTimeout": "u32",
+ "FungibleSponsorTimeout": "u32",
+ "RefungibleSponsorTimeout": "u32",
+ "OffchainSchemaLimit": "u32",
+ "VariableOnChainSchemaLimit": "u32",
+ "ConstOnChainSchemaLimit": "u32"
+ },
+ "CollectionLimits": {
+ "AccountTokenOwnershipLimit": "u32",
+ "SponsoredMintSize": "u32",
+ "TokenLimit": "u32",
+ "SponsorTimeout": "u32",
+ "OwnerCanTransfer": "bool",
+ "OwnerCanDestroy": "bool"
+ },
+ "AccountInfo": "AccountInfoWithDualRefCount"
+}