diff --git a/Cargo.lock b/Cargo.lock index d3a39134..50644609 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2177,7 +2177,7 @@ dependencies = [ [[package]] name = "encointer-node-notee-runtime" -version = "1.14.360" +version = "1.14.361" dependencies = [ "encointer-balances-tx-payment", "encointer-balances-tx-payment-rpc-runtime-api", @@ -5836,9 +5836,9 @@ dependencies = [ [[package]] name = "pallet-encointer-democracy" -version = "13.3.0" +version = "13.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9727ac7dc16c57b6e8de5b21f60d3f7554b93817d41f25c11e0c809cba174ef" +checksum = "c965285fcc2af6c45c8c542df717cc0d45cd4186a4f78ec894819c14b22e92a2" dependencies = [ "encointer-primitives", "frame-benchmarking", diff --git a/Cargo.toml b/Cargo.toml index c683d3f6..87fddece 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -42,7 +42,7 @@ pallet-encointer-ceremonies-rpc-runtime-api = { default-features = false, versio pallet-encointer-communities = { default-features = false, version = "~13.1.0" } pallet-encointer-communities-rpc = { version = "~13.1.0" } pallet-encointer-communities-rpc-runtime-api = { default-features = false, version = "~13.1.0" } -pallet-encointer-democracy = { default-features = false, version = "~13.3.0" } +pallet-encointer-democracy = { default-features = false, version = "~13.3.1" } pallet-encointer-faucet = { default-features = false, version = "~13.2.0" } pallet-encointer-reputation-commitments = { default-features = false, version = "~13.1.0" } pallet-encointer-scheduler = { default-features = false, version = "~13.1.0" } diff --git a/README.md b/README.md index 2af99925..8c956e07 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,13 @@ # encointer-node Encointer-node is the implementation of the [encointer.org](https://encointer.org) blockchain. -Use this together with the mobile phone app [encointer mobile app](https://github.com/encointer/encointer-wallet-flutter) +Use this together with the mobile phone +app [encointer mobile app](https://github.com/encointer/encointer-wallet-flutter) The cli client is based on [substrate-api-client](https://github.com/scs/substrate-api-client) -The Trusted Execution version for Testnet Cantillon is on branch [sgx-master](https://github.com/encointer/encointer-node/tree/sgx-master) based on [substraTEE project](https://github.com/scs/substraTEE). +The Trusted Execution version for Testnet Cantillon is on +branch [sgx-master](https://github.com/encointer/encointer-node/tree/sgx-master) based +on [substraTEE project](https://github.com/scs/substraTEE). ## Building @@ -52,10 +55,7 @@ cargo build --release --features try-runtime Then test state migrations with against live data on the Gesell network with: ```bash -./target/release/encointer-node-notee try-runtime \ - --runtime ./target/release/wbuild/encointer-node-notee-runtime/encointer_node_notee_runtime.wasm \ - on-runtime-upgrade --checks=all \ - live --uri wss://gesell.encointer.org:443 +try-runtime --runtime target/release/wbuild/encointer-node-notee-runtime/encointer_node_notee_runtime.compact.compressed.wasm on-runtime-upgrade --checks=pre-and-post --disable-spec-version-check live --uri wss://gesell.encointer.org:443 ``` ### Run with docker @@ -73,6 +73,7 @@ docker run -p 30333:30333 -p 9944:9944 -p 9933:9933 -p 9615:9615 \ ``` ## Run Testnet Gesell Node + Join our testnet as a full node with ```bash @@ -81,7 +82,9 @@ RUST_LOG=INFO,parity_ws=WARN,sc_basic_authorship=warn,aura=warn,encointer=debug ``` ## CLI client -We currently have limited support for the [polkadot-js apps](https://polkadot.js.org/apps) UI. Encointer comes with a cli application instead that supports all interactions with the chain + +We currently have limited support for the [polkadot-js apps](https://polkadot.js.org/apps) UI. Encointer comes with a +cli application instead that supports all interactions with the chain ### Run Client @@ -93,17 +96,21 @@ encointer-node/client> ../target/release/encointer-client-notee list_meetup_regi encointer-node/client> ../target/release/encointer-client-notee list_witnesses_registry encointer-node/client> ../target/release/encointer-client-notee --help ``` + The master of ceremony can play fast-forward for demo purposes (ceremonies only happen ~monthly. not good for demos) + ```bash encointer-node/client> ./encointer-client-notee next_phase ``` To run a full demo (you may need to fix ports in the scripts if you change them): + ``` encointer-node/client> ./bootstrap_demo_community.sh ``` ### Run with docker + ```bash docker run -it encointer/encointer-client-notee: [encointer-client-notee|bootstrap_demo_community.py|cli.py] @@ -117,6 +124,7 @@ docker run -it encointer-client-notee:dev bootstrap_demo_community.py -u ws://ho ### Grow Bot Community Assuming a local node is running with default ports: + ```bash pip3 install pip install geojson pyproj RandomWords substrate-interface # in first terminal, do this to accelerate phase progress @@ -131,15 +139,18 @@ pip3 install pip install geojson pyproj RandomWords substrate-interface ## Web UI There is no fully featured UI yet, but you can use [polkadot-js apps](https://github.com/polkadot-js/apps). -This allows you to explore chain state but it doesn't support all types of extrinsic parameters needed. Use our CLI client instead. +This allows you to explore chain state but it doesn't support all types of extrinsic parameters needed. Use our CLI +client instead. ## Mobile App -The PoC1 Android App doesn't work with this release anymore, but you can watch progress at [encointer-app](https://github.com/encointer/encointer-app) +The PoC1 Android App doesn't work with this release anymore, but you can watch progress +at [encointer-app](https://github.com/encointer/encointer-app) ## Dev-Remarks ### Benchmarking + For benchmarking a new pallet you need to do the following: 1. Add the new pallet to be benchmarked to the `define_benchmarks!` macro in the runtime. diff --git a/client/src/commands/encointer_democracy.rs b/client/src/commands/encointer_democracy.rs index 8efbd4b2..5fabd02d 100644 --- a/client/src/commands/encointer_democracy.rs +++ b/client/src/commands/encointer_democracy.rs @@ -18,7 +18,7 @@ use encointer_primitives::{ ReputationVec, Vote, }, }; -use log::error; +use log::{debug, error}; use parity_scale_codec::{Decode, Encode}; use sp_core::{sr25519 as sr25519_core, ConstU32}; use substrate_api_client::{ @@ -143,10 +143,12 @@ pub fn list_proposals(_args: &str, matches: &ArgMatches<'_>) -> Result<(), clap: println!("📜 Number of proposals: {}, global config: proposal lifetime: {:?}, confirmation period: {:?}, min turnout: {:.3}%", storage_keys.len(), proposal_lifetime, confirmation_period, min_turnout_permill as f64 / 10f64); let mut proposals: Vec<(ProposalIdType, Proposal)> = Vec::new(); for storage_key in storage_keys.iter() { + debug!("storage_key: 0x{}", hex::encode(storage_key)); let key_postfix = storage_key.as_ref(); let proposal_id = ProposalIdType::decode(&mut key_postfix[key_postfix.len() - 16..].as_ref()) .unwrap(); + debug!("proposalid: {:?}", proposal_id); let proposal: Proposal = api.get_storage_by_key(storage_key.clone(), maybe_at).await.unwrap().unwrap(); if !matches.all_flag() && proposal.state.has_failed() { diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index c2a96376..596c555b 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -7,7 +7,7 @@ name = "encointer-node-notee-runtime" repository = "https://github.com/encointer/encointer-node/" # minor revision must match node/client # patch revision must match runtime spec_version -version = "1.14.360" +version = "1.14.361" [dependencies] log = { workspace = true } diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index bcfb14be..9e7ef22a 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -137,7 +137,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("encointer-node-notee"), impl_name: create_runtime_str!("encointer-node-notee"), authoring_version: 0, - spec_version: 360, + spec_version: 361, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 5, @@ -608,10 +608,7 @@ pub type UncheckedExtrinsic = pub type SignedPayload = generic::SignedPayload; /// storage migrations to be applied upon runtime upgrade -pub type Migrations = ( - pallet_grandpa::migrations::MigrateV4ToV5, - pallet_encointer_ceremonies::migrations::v2::MigrateToV2, -); +pub type Migrations = (pallet_encointer_democracy::migrations::v1::MigrateV0toV1purging,); /// Executive: handles dispatch to the various modules. pub type Executive = frame_executive::Executive<