Coder Social home page Coder Social logo

astarnetwork / astar Goto Github PK

View Code? Open in Web Editor NEW
728.0 49.0 192.0 164.56 MB

The dApp hub for blockchains of the future

Home Page: https://astar.network/

License: GNU General Public License v3.0

Rust 97.65% Shell 0.31% JavaScript 0.68% Handlebars 0.20% Makefile 0.01% TypeScript 0.09% Solidity 1.06%
plasm-network polkadot substrate evm blockchain kusama wasm web3 dapp astar-network

astar's Introduction

astar-cover

Integration Action GitHub tag (latest by date) Substrate version License
Twitter URL Twitter URL YouTube Docker Discord Telegram Medium

Astar Network is an interoperable blockchain based the Substrate framework and the hub for dApps within the Polkadot Ecosystem. With Astar Network and Shiden Network, people can stake their tokens to a Smart Contract for rewarding projects that provide value to the network.

For contributing to this project, please read our Contribution Guideline.

Building From Source

This section assumes that the developer is running on either macOS or Debian-variant operating system. For Windows, although there are ways to run it, we recommend using WSL or from a virtual machine for stability.

Execute the following command from your terminal to set up the development environment and build the node runtime.

# install Substrate development environment via the automatic script
$ curl https://getsubstrate.io -sSf | bash -s -- --fast

# clone the Git repository
$ git clone --recurse-submodules https://github.com/AstarNetwork/Astar.git

# change current working directory
$ cd Astar

# compile the node
# note: you may encounter some errors if `wasm32-unknown-unknown` is not installed, or if the toolchain channel is outdated
$ cargo build --release

# show list of available commands
$ ./target/release/astar-collator --help

Building with Nix

# install Nix package manager:
$ curl https://nixos.org/nix/install | sh

# run from root of the project folder (`Astar/` folder)
$ nix-shell -I nixpkgs=channel:nixos-21.05 third-party/nix/shell.nix --run "cargo build --release"

Running a Collator Node

To set up a collator node, you must have a fully synced node with the proper arguments, which can be done with the following command.

# start the Shiden collator node with
$ ./target/release/astar-collator \
  --base-path <path to save blocks> \
  --name <node display name> \
  --port 30333 \
  --rpc-port 9944 \
  --telemetry-url 'wss://telemetry.polkadot.io/submit/ 0' \
  --rpc-cors all \
  --collator

Now, you can obtain the node's session key by sending the following RPC payload.

# send `rotate_keys` request
$ curl -H 'Content-Type: application/json' --data '{ "jsonrpc":"2.0", "method":"author_rotateKeys", "id":1 }' localhost:9933

# should return a long string of hex, which is your session key
{"jsonrpc":"2.0","result":"<session key in hex>","id":1}

After this step, you should have a validator node online with a session key for your node. For key management and validator rewards, consult our validator guide online.

Run RPC Tests

RPC tests suite can be run for any release. To run tests go to https://github.com/AstarNetwork/Astar/actions/workflows/rpcTest.yml. Click Run workflow, in the dropdown input the release version tag you want to run the test suite. Then click the green Run workflow button to start the test suite.

Screenshot from 2022-07-07 15-28-46

Workspace Dependency Handling

All dependencies should be listed inside the workspace's root Cargo.toml file. This allows us to easily change version of a crate used by the entire repo by modifying the version in a single place.

Right now, if non_std is required, default-features = false must be set in the root Cargo.toml file (related to this issue). Otherwise, it will have no effect, causing your compilation to fail. Also package imports aren't properly propagated from root to sub-crates, so defining those should be avoided.

Defining features in the root Cargo.toml is additive with the features defined in concrete crate's Cargo.toml.

Adding Dependency

  1. Check if the dependency is already defined in the root Cargo.toml
    1. if yes, nothing to do, just take note of the enabled features
    2. if no, add it (make sure to use default-features = false if dependency is used in no_std context)
  2. Add new_dependecy = { workspace = true } to the required crate
  3. In case dependency is defined with default-features = false but you need it in std context, add features = ["std"] to the required crate.

Further Reading

astar's People

Contributors

0x7cfe avatar akru avatar andabak avatar ashutoshvarma avatar bld75 avatar codespool avatar dependabot[bot] avatar dinonard avatar ehsanhajian avatar ermalkaleci avatar fiexer avatar gitofdeepanshu avatar gluneau avatar hoonsubin avatar jakehemmerle avatar josip-simunovic88 avatar koute avatar maar-io avatar mc2eqe avatar niklabh avatar pierreossun avatar satellitex avatar shaunxw avatar shunsukew avatar shuoer86 avatar sotawatanabe avatar szegoo avatar t8m8 avatar taskooh avatar y-shijo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

astar's Issues

Error running node.

I have such a problem when running version 0.8.0. Version 0.7.1 worked without problems.

~/plasm/0.8.0# ./plasm-node --validator --name test --rpc-cors 'all' --no-prometheus
2020-04-21 07:28:13 Plasm Node
2020-04-21 07:28:13 _ version 0.8.0-4ea4e9d-x86_64-linux-gnu
2020-04-21 07:28:13 _ by Takumi Yamashita [email protected]:Aleksandr Krupenkin [email protected], 2019-2020
2020-04-21 07:28:13 __ Chain specification: Dusty
2020-04-21 07:28:13 _ Node name: test
2020-04-21 07:28:13 __ Role: AUTHORITY
2020-04-21 07:28:13 _ Native runtime: dusty-40:4(staketechnologies-plasm-40)
2020-04-21 07:28:16 __ Creating empty BABE epoch changes on what appears to be first startup.
2020-04-21 07:28:17 __ Highest known block at #0
2020-04-21 07:28:17 _ Local node identity is: Qmba5QDKJHKT8W85Qsq2Dw65hKHN9Ro15X3da9WYaN4pce

====================

Version: 0.8.0-4ea4e9d-x86_64-linux-gnu

0: sp_panic_handler::set::{{closure}}
1: std::panicking::rust_panic_with_hook
at src/libstd/panicking.rs:515
2: rust_begin_unwind
at src/libstd/panicking.rs:419
3: core::panicking::panic_fmt
at src/libcore/panicking.rs:111
4: core::slice::slice_index_len_fail
at src/libcore/slice/mod.rs:2727
5: <sysinfo::linux::system::System as sysinfo::traits::SystemExt>::new_with_specifics
6: sc_service::metrics::MetricsService::inner_new
7: sc_service::metrics::MetricsService::new
8: sc_service::builder::ServiceBuilder<TBl,TRtApi,sc_client::client::Client<TBackend,TExec,TBl,TRtApi>,alloc::sync::Arc<sc_network::on_demand_layer::OnDemand>,TSc,TImpQu,alloc::boxed::Box<dyn sc_network::config::FinalityProofRequestBuilder+core::marker::Send+core::marker::Sync>,alloc::sync::Arc<dyn sc_network::chain::FinalityProofProvider>,TExPool,TRpc,TBackend>::build
9: plasm_cli::service::new_full
10: sc_cli::runner::Runner::run_node
11: plasm_cli::command::run
12: plasm_node::main
13: std::rt::lang_start::{{closure}}
14: std::rt::lang_start_internal::{{closure}}
at src/libstd/rt.rs:52
std::panicking::try::do_call
at src/libstd/panicking.rs:331
std::panicking::try
at src/libstd/panicking.rs:274
std::panic::catch_unwind
at src/libstd/panic.rs:394
std::rt::lang_start_internal
at src/libstd/rt.rs:51
15: main
16: __libc_start_main
17: _start

Thread 'main' panicked at 'index 5 out of range for slice of length 0', /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/sysinfo-0.12.0/src/linux/system.rs:103

This is a bug. Please report it at:

    https://github.com/staketechnologies/plasm/issues/new

My system
System: Ubuntu 18.04.3 LTS x86_64
Kernel: 4.15.0
Processor: Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz
Memory (Gb): 12
Virtualization OpenVZ

Err happend `Storage root must match that calculated`.

Describe the bug

stack backtrace:
   0: substrate_panic_handler::panic_hook::h1815cf3aeade4e49 (0x10884cecb)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/panic-handler/src/lib.rs:82
   1: substrate_panic_handler::set::{{closure}}::h00bf81da214a316c (0x10884cad6)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/panic-handler/src/lib.rs:31
   2: std::panicking::rust_panic_with_hook::h547ea459e27be908 (0x108d0d360)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/panicking.rs:482
   3: std::panicking::begin_panic::ha8bf8dd05d8159d7 (0x108c5bc37)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/panicking.rs:412
   4: <srml_executive::Executive<System, Block, Context, Payment, AllModules>>::final_checks::h3b633981d66be64d (0x107e83e19)
             at /Users/sate/stakedtechnologies/plasm/<::std::macros::panic macros>:3
   5: <srml_executive::Executive<System, Block, Context, Payment, AllModules>>::execute_block::h4884fb29a8d972cd (0x107e83fa8)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/srml/executive/src/lib.rs:175
   6: <plasm_runtime::Runtime as substrate_client::runtime_api::runtime_decl_for_Core::Core<sr_primitives::generic::block::Block<sr_primitives::generic::header::Header<u64, sr_primitives::traits::BlakeTwo256, plasm_runtime::Log>, sr_primitives::generic::unchecked_mortal_compact_extrinsic::UncheckedMortalCompactExtrinsic<<srml_indices::Module<plasm_runtime::Runtime> as sr_primitives::traits::StaticLookup>::Source, u64, plasm_runtime::Call, substrate_primitives::sr25519::Signature>>>>::execute_block::h24cc18f3d9d1064b (0x107ecdb92)
             at /Users/sate/stakedtechnologies/plasm/runtime/src/lib.rs:277
   7: plasm_runtime::api::dispatch::h6ea15c26aae51b58 (0x107e87e91)
             at /Users/sate/stakedtechnologies/plasm/runtime/src/lib.rs:270
   8: <plasm_node::service::Executor as substrate_executor::native_executor::NativeExecutionDispatch>::dispatch::{{closure}}::h9a2cba8a8172bd30 (0x1069c9110)
             at /Users/sate/stakedtechnologies/plasm/<::substrate_executor::native_executor::native_executor_instance macros>:14
   9: std::panicking::try::do_call::h0b88b8eb18d97774 (0x106c2fee3)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/panicking.rs:297
  10: ___rust_maybe_catch_panic (0x108d16a7e)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libpanic_unwind/lib.rs:87
  11: std::panicking::try::he0275d6b6a4a617f (0x106c2f534)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/panicking.rs:276
  12: std::panic::catch_unwind::h406496ec0be53e30 (0x1068e8486)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/panic.rs:388
  13: substrate_executor::native_executor::safe_call::h6de4242da58b9190 (0x1061659a6)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/executor/src/native_executor.rs:104
  14: substrate_executor::native_executor::with_native_environment::{{closure}}::hc2fa21c5c2a48cce (0x10615dd36)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/executor/src/native_executor.rs:113
  15: environmental::using::{{closure}}::h648af967c97b2031 (0x1065c816a)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/environmental-1.0.1/src/lib.rs:88
  16: <std::thread::local::LocalKey<T>>::try_with::h21fb258ad9986a53 (0x10666d4e4)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/thread/local.rs:300
  17: <std::thread::local::LocalKey<T>>::with::hb001ff31f1ee7542 (0x10666996c)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/thread/local.rs:246
  18: environmental::using::h93a39d98f468b9ae (0x1065c5efe)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/environmental-1.0.1/src/lib.rs:65
  19: sr_io::imp::ext::using::h2bc5ddcd1c9d5d83 (0x106c379e5)
             at /Users/sate/stakedtechnologies/plasm/<::environmental::environmental macros>:21
  20: sr_io::imp::with_externalities::hf500f4dbd165598f (0x106c37456)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/sr-io/src/../with_std.rs:269
  21: substrate_executor::native_executor::with_native_environment::hbe213df58a205526 (0x10615d266)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/executor/src/native_executor.rs:113
  22: <plasm_node::service::Executor as substrate_executor::native_executor::NativeExecutionDispatch>::dispatch::h31601ae6b1f50c4c (0x1063d88ad)
             at /Users/sate/stakedtechnologies/plasm/<::substrate_executor::native_executor::native_executor_instance macros>:13
  23: <substrate_executor::native_executor::NativeExecutor<D> as substrate_state_machine::CodeExecutor<substrate_primitives::hasher::blake2::Blake2Hasher>>::call::{{closure}}::h4cab629fada86bac (0x106132ba1)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/executor/src/native_executor.rs:262
  24: <std::thread::local::LocalKey<T>>::try_with::h93c4477d0fd62167 (0x1066774c1)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/thread/local.rs:300
  25: <std::thread::local::LocalKey<T>>::with::h7274ba71b1d07ab7 (0x106668655)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/thread/local.rs:246
  26: <substrate_executor::native_executor::NativeExecutor<D> as substrate_state_machine::CodeExecutor<substrate_primitives::hasher::blake2::Blake2Hasher>>::call::h6b8bf62f2f1ac642 (0x1061297ca)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/executor/src/native_executor.rs:202
  27: <substrate_state_machine::StateMachine<'a, H, B, T, O, Exec>>::execute_aux::h7e1897a940259ae3 (0x1061833c0)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/state-machine/src/lib.rs:425
  28: <substrate_state_machine::StateMachine<'a, H, B, T, O, Exec>>::execute_call_with_native_else_wasm_strategy::h90762be85b888502 (0x1061e89b4)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/state-machine/src/lib.rs:482
  29: <substrate_state_machine::StateMachine<'a, H, B, T, O, Exec>>::execute_using_consensus_failure_handler::h36cb23be9e0a887d (0x1061af868)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/state-machine/src/lib.rs:538
  30: <substrate_client::call_executor::LocalCallExecutor<B, E> as substrate_client::call_executor::CallExecutor<Block, substrate_primitives::hasher::blake2::Blake2Hasher>>::call_at_state::h65ec9cf241dd4b7a (0x1065ea2cd)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/client/src/call_executor.rs:320
  31: <substrate_client::client::Client<B, E, Block, RA>>::block_execution::h724c0c3a06dbcd0a (0x1068b7375)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/client/src/client.rs:889
  32: <substrate_client::client::Client<B, E, Block, RA>>::execute_and_import_block::h523921e90892b4a0 (0x1068c6fa2)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/client/src/client.rs:804
  33: <substrate_client::client::Client<B, E, Block, RA>>::apply_block::h52a08042a21207b7 (0x1068b3638)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/client/src/client.rs:739
  34: <substrate_client::client::Client<B, E, Block, RA> as substrate_consensus_common::block_import::BlockImport<Block>>::import_block::{{closure}}::h05d2abc28a81f348 (0x1068b02a3)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/client/src/client.rs:1440
  35: <substrate_client::client::Client<B, E, Block, RA>>::lock_import_and_run::{{closure}}::h1c1ef5a000938c5d (0x1068befb4)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/client/src/client.rs:656
  36: <substrate_client::client::Client<B, E, Block, RA>>::lock_import_and_run::h2d02dc3888ee378f (0x1068be0d0)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/client/src/client.rs:669
  37: <substrate_client::client::Client<B, E, Block, RA> as substrate_consensus_common::block_import::BlockImport<Block>>::import_block::h10c6fdcda35bfcbd (0x1068b00e8)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/client/src/client.rs:1439
  38: <substrate_consensus_aura::AuraWorker<C, E, I, P, SO> as substrate_consensus_slots::SlotWorker<B>>::on_slot::{{closure}}::h28588326e3ecb970 (0x1063edc1e)
             at /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/core/consensus/aura/src/lib.rs:437
  39: <core::result::Result<T, E>>::map::h476329b66e2cd884 (0x106a01b96)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libcore/result.rs:458
  40: <futures::future::map::Map<A, F> as futures::future::Future>::poll::h409e08b2be73b281 (0x1067b27be)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/future/map.rs:35
  41: <futures::future::map_err::MapErr<A, F> as futures::future::Future>::poll::h691380d74ee9c2c3 (0x106daf49c)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/future/map_err.rs:30
  42: <alloc::boxed::Box<F> as futures::future::Future>::poll::h8358bca39f8721f1 (0x10644fe9b)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/future/mod.rs:113
  43: <futures::future::map_err::MapErr<A, F> as futures::future::Future>::poll::h1099d7bdd93ab9bb (0x106dad0e9)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/future/map_err.rs:30
  44: <futures::future::either::Either<A, B> as futures::future::Future>::poll::h99fa5b5d132825a0 (0x106572f69)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/future/either.rs:35
  45: <futures::stream::for_each::ForEach<S, F, U> as futures::future::Future>::poll::h7f64e9203176b74d (0x106dd582a)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/stream/for_each.rs:39
  46: futures::future::catch_unwind::<impl futures::future::Future for std::panic::AssertUnwindSafe<F>>::poll::hfb14348cadb09c1b (0x1068e8c84)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/future/catch_unwind.rs:49
  47: <futures::future::catch_unwind::CatchUnwind<F> as futures::future::Future>::poll::{{closure}}::hd3f5150b12aea630 (0x106565f11)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/future/catch_unwind.rs:32
  48: std::panicking::try::do_call::h30ca1afd6289136c (0x106c303e6)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/panicking.rs:297
  49: ___rust_maybe_catch_panic (0x108d16a7e)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libpanic_unwind/lib.rs:87
  50: std::panicking::try::h841c6535b73352a4 (0x106c2ddd4)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/panicking.rs:276
  51: std::panic::catch_unwind::h12bba8304327a192 (0x1068e80e7)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/panic.rs:388
  52: <futures::future::catch_unwind::CatchUnwind<F> as futures::future::Future>::poll::hc819b93032204cb2 (0x106565a8e)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/future/catch_unwind.rs:32
  53: <futures::future::chain::Chain<A, B, C>>::poll::h8c810fb01c3dd904 (0x1064f95dd)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/future/chain.rs:26
  54: <futures::future::then::Then<A, B, F> as futures::future::Future>::poll::hd531ae0c4e6626eb (0x1068425e4)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/future/then.rs:32
  55: <futures::future::loop_fn::LoopFn<A, F> as futures::future::Future>::poll::h853fea5ce3400060 (0x1064d49f0)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/future/loop_fn.rs:93
  56: <futures::future::select::Select<A, B> as futures::future::Future>::poll::hb87c8ee3a9794e0c (0x1065b6c96)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/future/select.rs:48
  57: <futures::future::chain::Chain<A, B, C>>::poll::h79ffa848f3335d34 (0x1064f79cd)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/future/chain.rs:26
  58: <futures::future::then::Then<A, B, F> as futures::future::Future>::poll::h5e7c9441d309e0b2 (0x106842494)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/future/then.rs:32
  59: <alloc::boxed::Box<F> as futures::future::Future>::poll::h80a667d0803654a4 (0x10877e484)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/future/mod.rs:113
  60: <futures::task_impl::Spawn<T>>::poll_future_notify::{{closure}}::h9ec8a761f844cc25 (0x1086e49c4)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/task_impl/mod.rs:329
  61: <futures::task_impl::Spawn<T>>::enter::{{closure}}::hdc3f7074bc8b1328 (0x1086e4c9f)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/task_impl/mod.rs:399
  62: futures::task_impl::std::set::h82e0b83483e4b4e5 (0x10870b486)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/task_impl/std/mod.rs:78
  63: <futures::task_impl::Spawn<T>>::enter::hb9e535012dacc5d4 (0x1086e4c17)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/task_impl/mod.rs:399
  64: <futures::task_impl::Spawn<T>>::poll_fn_notify::h3d8f97d16fb55802 (0x1086e4887)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/task_impl/mod.rs:291
  65: <futures::task_impl::Spawn<T>>::poll_future_notify::hda55b2337d6cd53b (0x1086e4994)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.26/src/task_impl/mod.rs:329
  66: tokio_threadpool::task::Task::run::{{closure}}::h02bea735b66fbed2 (0x1086e3fec)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.14/src/task/mod.rs:145
  67: core::ops::function::FnOnce::call_once::hf6ab934e17c369ea (0x1086f586c)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libcore/ops/function.rs:231
  68: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3714d1b2a9609d7a (0x1086de297)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/panic.rs:309
  69: std::panicking::try::do_call::h8a8e0fe1d5ad57d8 (0x1086deeb4)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/panicking.rs:297
  70: ___rust_maybe_catch_panic (0x108d16a7e)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libpanic_unwind/lib.rs:87
  71: std::panicking::try::h385eabd6d4e54218 (0x1086ded62)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/panicking.rs:276
  72: std::panic::catch_unwind::h737b6d1fa130dcad (0x1086debce)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/panic.rs:388
  73: tokio_threadpool::task::Task::run::h428093ea192759d7 (0x1086e38fa)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.14/src/task/mod.rs:130
  74: tokio_threadpool::worker::Worker::run_task2::ha9bc9475b8b55e25 (0x108702260)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.14/src/worker/mod.rs:567
  75: tokio_threadpool::worker::Worker::run_task::hb581e42e2ca50602 (0x108701c16)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.14/src/worker/mod.rs:459
  76: tokio_threadpool::worker::Worker::try_steal_task::hdb444e294a3556b6 (0x1087017e1)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.14/src/worker/mod.rs:416
  77: tokio_threadpool::worker::Worker::try_run_task::hd643b537b3af01cb (0x108700e6b)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.14/src/worker/mod.rs:301
  78: tokio_threadpool::worker::Worker::run::h8c4b48f23f613048 (0x108700cda)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.14/src/worker/mod.rs:241
  79: tokio::runtime::threadpool::builder::Builder::build::{{closure}}::{{closure}}::{{closure}}::{{closure}}::{{closure}}::h357c43637cb329a5 (0x108688267)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.1.19/src/runtime/threadpool/builder.rs:349
  80: tokio_trace_core::dispatcher::with_default::hea382798383a7c46 (0x108683eec)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-trace-core-0.1.0/src/dispatcher.rs:54
  81: tokio::runtime::threadpool::builder::Builder::build::{{closure}}::{{closure}}::{{closure}}::{{closure}}::hd82da7abacfea314 (0x108688298)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.1.19/src/runtime/threadpool/builder.rs:348
  82: tokio_timer::timer::handle::with_default::{{closure}}::hdbc5c88f0f49fb2e (0x10868c4fd)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-timer-0.2.10/src/timer/handle.rs:94
  83: <std::thread::local::LocalKey<T>>::try_with::h5510b1d6b5403f82 (0x10868aa7d)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/thread/local.rs:300
  84: <std::thread::local::LocalKey<T>>::with::hda1d006b33275aaf (0x10868a677)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/thread/local.rs:246
  85: tokio_timer::timer::handle::with_default::hbf7b465897167fa6 (0x10868c387)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-timer-0.2.10/src/timer/handle.rs:81
  86: tokio::runtime::threadpool::builder::Builder::build::{{closure}}::{{closure}}::{{closure}}::h52a1df618ad311bc (0x1086882f1)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.1.19/src/runtime/threadpool/builder.rs:347
  87: tokio_timer::clock::clock::with_default::{{closure}}::h335f06f4d47406e1 (0x108693a23)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-timer-0.2.10/src/clock/clock.rs:141
  88: <std::thread::local::LocalKey<T>>::try_with::hc8d1a28c4e39cde4 (0x10868b34b)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/thread/local.rs:300
  89: <std::thread::local::LocalKey<T>>::with::h480a4a485461d7f1 (0x10868a568)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/thread/local.rs:246
  90: tokio_timer::clock::clock::with_default::h57400638f73b51a5 (0x108693921)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-timer-0.2.10/src/clock/clock.rs:124
  91: tokio::runtime::threadpool::builder::Builder::build::{{closure}}::{{closure}}::haff169e62f50e515 (0x108688341)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.1.19/src/runtime/threadpool/builder.rs:346
  92: tokio_reactor::with_default::{{closure}}::hc5e4790f68307b02 (0x10868b609)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-reactor-0.1.9/src/lib.rs:237
  93: <std::thread::local::LocalKey<T>>::try_with::h89dc290a36d3694a (0x10868acb7)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/thread/local.rs:300
  94: <std::thread::local::LocalKey<T>>::with::hb83e3190317d4e1a (0x10868a618)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/thread/local.rs:246
  95: tokio_reactor::with_default::h0401fc40c96707ab (0x10868b3f6)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-reactor-0.1.9/src/lib.rs:217
  96: tokio::runtime::threadpool::builder::Builder::build::{{closure}}::h3b4c25810e979456 (0x1086883d6)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.1.19/src/runtime/threadpool/builder.rs:345
  97: tokio_threadpool::callback::Callback::call::habe1afd2194bc423 (0x1086ef715)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.14/src/callback.rs:22
  98: tokio_threadpool::worker::Worker::do_run::{{closure}}::{{closure}}::h5f5e2aecd0ee63b1 (0x1087009d7)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.14/src/worker/mod.rs:127
  99: tokio_executor::global::with_default::{{closure}}::h76b43ea122a8ade7 (0x1086fbed2)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-executor-0.1.7/src/global.rs:209
 100: <std::thread::local::LocalKey<T>>::try_with::h637c12976cb7ea89 (0x1086fce6b)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/thread/local.rs:300
 101: <std::thread::local::LocalKey<T>>::with::hb458413ff26986f1 (0x1086fc84f)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/thread/local.rs:246
 102: tokio_executor::global::with_default::hb407a20e2c183845 (0x1086fbdce)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-executor-0.1.7/src/global.rs:178
 103: tokio_threadpool::worker::Worker::do_run::{{closure}}::h5b180a7c2943145e (0x108700a76)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.14/src/worker/mod.rs:125
 104: <std::thread::local::LocalKey<T>>::try_with::h292b4102467425e0 (0x1086fcc60)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/thread/local.rs:300
 105: <std::thread::local::LocalKey<T>>::with::h9efd1901a98ae4aa (0x1086fc7ec)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/thread/local.rs:246
 106: tokio_threadpool::worker::Worker::do_run::he44600b6cfc1b5e0 (0x1087008d6)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.14/src/worker/mod.rs:116
 107: tokio_threadpool::pool::Pool::spawn_thread::{{closure}}::h1745c5cb0c85777b (0x108706199)
             at /Users/sate/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.14/src/pool/mod.rs:344
 108: std::sys_common::backtrace::__rust_begin_short_backtrace::h19e447d6863d7137 (0x1086fc2df)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/sys_common/backtrace.rs:135
 109: std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hc5fc11dcd178037a (0x1086ecf8f)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/thread/mod.rs:469
 110: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h7a3b5fbca9e90d78 (0x1086de2df)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/panic.rs:309
 111: std::panicking::try::do_call::h612662bac9da0748 (0x1086dee4c)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/panicking.rs:297
 112: ___rust_maybe_catch_panic (0x108d16a7e)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libpanic_unwind/lib.rs:87
 113: std::panicking::try::h26b23b0472e4e39c (0x1086dec54)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/panicking.rs:276
 114: std::panic::catch_unwind::h3d75a7a3d1a3c03c (0x1086deb7f)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/panic.rs:388
 115: std::thread::Builder::spawn_unchecked::{{closure}}::hd26ad9ff5f96f07f (0x1086ecddd)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/thread/mod.rs:468
 116: <F as alloc::boxed::FnBox<A>>::call_box::hfc2932894c721219 (0x1086ef4c7)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/liballoc/boxed.rs:749
 117: std::sys::unix::thread::Thread::new::thread_start::h17f7f24205e9998f (0x108d15efb)
             at /rustc/fc50f328b0353b285421b8ff5d4100966387a997/src/libstd/sys_common/thread.rs:14
 118: __pthread_body (0x7fff641b42ea)
 119: __pthread_start (0x7fff641b7248)

Thread 'tokio-runtime-worker-1' panicked at 'Storage root must match that calculated.', /Users/sate/.cargo/git/checkouts/substrate-7e08433d4c370a21/3669cf7/srml/executive/src/lib.rs:290

This is a bug. Please report it at:

	support.anonymous.an

To Reproduce
Steps to reproduce the behavior:

  1. cargo build
  2. ./target/debug/plasm-node

Implementing ERC20 contracts(wPLM).

Description

Implementing ERC20 contracts as wrapped PLM.

Required Tasks

  • Added ink! contract.
  • ...

Estimated done.

{When finished this task?}

Dependencies

{Dependencies issue or PR.}

plasm-rewards: recursive call

Describe the bug

warning: function cannot return without recursing
   --> frame/plasm-rewards/src/lib.rs:438:5
    |
438 |     fn bonded_eras() -> Vec<(EraIndex, SessionIndex)> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
439 |         Self::bonded_eras()
    |         ------------------- recursive call site
    |
    = note: `#[warn(unconditional_recursion)]` on by default
    = help: a `loop` may express intention better if this is on purpose

This call looks like recursive, probably wanned to use storage reader by foggot.
As I can see this patter (same name for storage and trait methods) looks a bit dangerous and could produce infinite recursion. Unfortunately this place not covered by tests.

To Reproduce

cargo build on bdfe9011 commit.

Execution Compiled Predicate.

Description

{write description of what the feature should be}
Execution compiled predicate on ovmi.

Required Tasks

  • {task 1}
  • {task 2}
  • ...

Estimated done.

{When finished this task?}

Dependencies

{Dependencies issue or PR.}

Plasm Network testnet "doubts"

Since we launched our Plasm Network testnet, we are looking for around 50 validators all over the world. This is a testnet like Ethereum Rinkeby, Kovan, and Ropsten. So, PLM (Plasm Network native token called PLUM) doesn’t have any values. Therefore, there is no incentive to be a validator on the testnet. To solve this problem, We will provide you with a right to be the first validator during the PoA term (between Lockdrop1 and Lockdrop2 described below) on the mainnet if you are a validator on the Plasm testnet.

When we are looking for around 50 validators = 50 Validators nodes or X Validators X nodes each one?

when We will provide you with a right to be the first validator during the PoA term = How many validators nodes MAX for each node operator? = 1 node operator = 1 Validator node
We will provide you with a right = how? A package of nominations from the team for all participants alike, is this enough to continue validating after the POA ends, also, how long will that right last?

when on the mainnet if you are a validator on the Plasm testnet. = if you are a validator on the Plasm testnet , ok but before some XXX block or time deadline?

the last
Is planing some KYC and exclude countries for crypto restrictions? how is planing the team to prevent Sybil attack on the testnet.

thanks for this testnet and the open genesis file for testnet participants. awesome.

Add Authority Discovery

It's not tested yet, I guess better to test it first time on Dusty. However, this module much more important for permission-less chains, in PoA it's just additional reporting.

This is an important task during NPoS migration.

Fix Readme link.

fix [here] that is not linked.

Introduction
Plasm is Staked Technologies' product that enables to import Plasma functions to your Substrate chain. Since Plasm is SRML, we can also make both Plasma parent chains and child chains. You can see the demo from [here].(https://drive.google.com/file/d/1qg6SyEDM0D_hJPsun4ykkNyH-B5W8Yi6/view?usp=sharing)

Multi language docs

Motivation

It’s good to support as many local languages as it possible. One of steps of it is creating easy method to support multiple languages in docs. Currently documentation located in staketechnologies/plasmdocs repo.

Results

Result for closing this is PR into staketechnologies/plasmdocs repo with implementation multi language feature for gitbook generator and moving current docs into English locale.

Update: using Jekyll instead of gitbook is preferred.

[testnet]: Bootnodes connection failure

Describe the bug
Node can't sync with bootnodes during launch process.

To Reproduce
Steps to reproduce the behavior:

  1. Build plasm-node from sources in master branch.
  2. Launch plasm-node with testnet/local.json configuration.

Expected behavior
Node synchronization.

Screenshots

$ ./target/release/plasm-node --chain testnet/local.json 
2019-10-16 07:20:59 Plasm Node
2019-10-16 07:20:59   version 0.4.9-eba8f25-x86_64-linux-gnu
2019-10-16 07:20:59   by Stake Technologies, 2018-2019
2019-10-16 07:20:59 Chain specification: Miniplasm
2019-10-16 07:20:59 Node name: innocent-belief-7325
2019-10-16 07:20:59 Roles: FULL
2019-10-16 07:21:00 Initializing Genesis block/state (state: 0x967c…35d8, header-hash: 0x0aa2…3415)
2019-10-16 07:21:00 Loading GRANDPA authority set from genesis on what appears to be first startup.
2019-10-16 07:21:00 Loaded block-time = BabeConfiguration { slot_duration: 10000, c: (1, 4), median_required_blocks: 1000 } seconds from genesis on first-launch
2019-10-16 07:21:00 Creating empty BABE epoch changes on what appears to be first startup.
2019-10-16 07:21:00 Highest known block at #0
2019-10-16 07:21:00 Local node identity is: QmTDGna5e8hSuowLSbJY2jPEjrZXqfHsYmSAG3Tg7WJb5W
2019-10-16 07:21:01 Discovered new external address for our node: /ip4/126.127.153.144/tcp/30333/p2p/QmTDGna5e8hSuowLSbJY2jPEjrZXqfHsYmSAG3Tg7WJb5W
2019-10-16 07:21:01 Verification failed from peer: Header 0x7b085473e575abcf2e236fe2c8dd1895b2471e3b9ac08040b37107ca3c151e5f rejected: too far in the future
2019-10-16 07:21:02 Verification failed from peer: Header 0x7b085473e575abcf2e236fe2c8dd1895b2471e3b9ac08040b37107ca3c151e5f rejected: too far in the future
2019-10-16 07:21:02 Verification failed from peer: Header 0x7b085473e575abcf2e236fe2c8dd1895b2471e3b9ac08040b37107ca3c151e5f rejected: too far in the future
2019-10-16 07:21:04 Verification failed from peer: Header 0x7b085473e575abcf2e236fe2c8dd1895b2471e3b9ac08040b37107ca3c151e5f rejected: too far in the future
2019-10-16 07:21:04 Verification failed from peer: Header 0x7b085473e575abcf2e236fe2c8dd1895b2471e3b9ac08040b37107ca3c151e5f rejected: too far in the future

Desktop (please complete the following information):

  • OS: Linux NixOS
  • Rust: 1.39.0-nightly

The Dusty Plasm binary files are not recognized as an "xz" file.

Describe the bug
Both plasm-node-macOS-0.8-x86_64.tar.xz and plasm-node-ubuntu-0.8-x86_64.tar.xz are not recoginized as an xz file, and I could not extract them correctly.

To Reproduce
Steps to reproduce the behavior:

$ wget https://github.com/staketechnologies/Plasm/releases/download/v0.8.0/plasm-node-ubuntu-0.8-x86_64.tar.xz 
$ tar Jxfv  plasm-node-ubuntu-0.8-x86_64.tar.xz
xz: (stdin): File format not recognized
tar: Child returned status 1
tar: Error is not recoverable: exiting now

$file  plasm-node-ubuntu-0.8-x86_64.tar.xz
plasm-node-ubuntu-0.8-x86_64.tar.xz: Zip archive data, at least v2.0 to extract

Expected behavior

Extracting correctly by tar Jxfv ....

Additional context

The plasm-0.7.0-linux-x86_64.tar.xz , which is its previous version, is recognized as XZ file.

$ file plasm-0.7.0-linux-x86_64.tar.xz
plasm-0.7.0-linux-x86_64.tar.xz: XZ compressed data

Implementing Payout contracts.

Description

Implementing a payout contract in ink!.

Required Tasks

  • {task 1}
  • {task 2}
  • ...

Estimated done.

{When finished this task?}

Dependencies

{Dependencies issue or PR.}

Avoid modules not ready for.

The following original modules do not have the UI/features to be freely invoked by the user.

  • Dapps Staking module.
  • Lockdrop module.
  • ovm module.

Therefore, in Mainnet v1.0.0, these features should not be implemented in the Runtime.

Implementing Plasma module

Description

{write description of what the feature should be}

Required Tasks

  • Commitment contract func
  • Deposit contract func

Estimated done.

May 19

Dependencies

Community Rewards.

Description

Implementing dApps Rewards for Community Rewards algorithm.

Required Tasks

  • Changes ComputeTotalPayout algorithm on Plasm Rewards module.
  • Changes ComputeRewardsForDapps algorithm on Dapps rewards module.
  • Added invalid check for community rewards.
  • Added tests.

Estimated done.

7/6.

Dependencies

runtime/wasm in [workspace] members

what do you think about adding "runtime/wasm" to root directory’s Cargo.toml [workspace] members?
there is another Cargo.toml in directory:"runtime/wasm".

Implementing OVM interpreter

Description

OVM interpreter.

  • From Internal Compiled Predicate JSON to Codec Compiled Predicate.
  • Executor from Codec Compiled Predicate
  • Atomic Predicates.

Required Tasks

  • OVMi interface
  • OVMi details implementing

Estimated done.

2020/05/22

Dependencies

#134
Parent: #152

The improve order of Dapps Staking.

Description

Currently, dapps staking module is heavy order of each era ending/starting.
So, Lighten the cost of each query by putting it in the form of a user-crime reward.

I just noticed that you might need to update the reward payout (similar to kusama). The current era based payout system could be potentially attacked by someone creating millions of small accounts and therefore creating a lot of workload/transaction on chain at the end of an era.

By David

Required Tasks

  • Improve order of on_finalize.
  • Imporve order of compute with each era.
  • Add claim methods.

Estimated done.

5/12.

Dependencies

Add Cumulus

Refactor: Plasm-staking

Plasm staking module include the validators setting algorithm and dapps nominating algorithm.
They are individual components. So They should be divide modules.

  • (Plasm)session modules.(super substrate_session module)
    • NPoS module.(Setting validators) or PoA module.
    • DappsRewards module.(Currently, plasm-staking module)

Refactor Lockdrop module.

Description

{write description of what the feature should be}

Required Tasks

  • {task 1}
  • {task 2}
  • ...

Estimated done.

{When finished this task?}

Dependencies

{Dependencies issue or PR.}

Dusty reborn

Description

Dusty reborn: create new genesis from the current state.

Required Tasks

  • Release 1.0.1-dusty
  • publish an article.

Estimated done.

May 13.

Dependencies

{Dependencies issue or PR.}

checkpoint predicate and exit predicate migrate to plasma module.

Description

Checkpoint predicate function and Exit predicate function should be included by the plasma module.

Required Tasks

  • Checkpoint predicate on ovm module.
  • Exit predicate on ovm module.
  • ...

Estimated done.

{When finished this task?}

Dependencies

{Dependencies issue or PR.}

Migrate to NPoS

Is your feature request related to a problem? Please describe.
Plasm Network will migrate to NPoS from PoA.

Describe the solution you'd like
We use the self NPoS module referred to the substrate default staking-module.

Describe alternatives you've considered
Depends on #106
Because we manage both Testnet and Mainnet on a repository.
We will use runtime relational types, switching consensus.

Cargo Install, missing package

realgar:~$ rustup update nightly
info: syncing channel updates for 'nightly-x86_64-unknown-linux-gnu'
info: latest update on 2019-11-19, rust version 1.41.0-nightly (3e525e3f6 2019-11-18)
info: downloading component 'rustc'
info: downloading component 'rust-std'
info: downloading component 'cargo'
info: downloading component 'rust-docs'
info: downloading component 'rustc-dev'
161.8 MiB / 161.8 MiB (100 %) 96.2 MiB/s in 2s ETA: 0s
info: installing component 'rustc'
58.2 MiB / 58.2 MiB (100 %) 15.9 MiB/s in 3s ETA: 0s
info: installing component 'rust-std'
info: installing component 'cargo'
info: installing component 'rust-docs'
11.9 MiB / 11.9 MiB (100 %) 10.6 MiB/s in 1s ETA: 0s
info: installing component 'rustc-dev'
161.8 MiB / 161.8 MiB (100 %) 37.3 MiB/s in 4s ETA: 0s

nightly-x86_64-unknown-linux-gnu installed - rustc 1.41.0-nightly (3e525e3f6 2019-11-18)

info: default toolchain set to 'nightly-x86_64-unknown-linux-gnu'
realgar:$ rustup target add wasm32-unknown-unknown --toolchain nightly
info: downloading component 'rust-std' for 'wasm32-unknown-unknown'
info: installing component 'rust-std' for 'wasm32-unknown-unknown'
realgar:
$ cargo +nightly install --git https://github.com/alexcrichton/wasm-gc
error: no such subcommand: +nightly
realgar:$ cargo install --git https://github.com/alexcrichton/wasm-gc
Updating git repository https://github.com/alexcrichton/wasm-gc
Installing wasm-gc v0.1.6 (https://github.com/alexcrichton/wasm-gc#deb1c6dc)
Updating crates.io index
Downloaded env_logger v0.5.13
Downloaded getopts v0.2.21
Downloaded rustc-demangle v0.1.16
Downloaded log v0.4.8
Downloaded atty v0.2.13
Downloaded humantime v1.3.0
Downloaded termcolor v1.0.5
Downloaded cfg-if v0.1.10
Downloaded unicode-width v0.1.6
Downloaded libc v0.2.65
Downloaded quick-error v1.2.2
Downloaded parity-wasm v0.32.0
Downloaded byteorder v1.3.2
Compiling libc v0.2.65
Compiling byteorder v1.3.2
Compiling log v0.4.8
Compiling quick-error v1.2.2
Compiling cfg-if v0.1.10
Compiling termcolor v1.0.5
Compiling rustc-demangle v0.1.16
Compiling unicode-width v0.1.6
Compiling humantime v1.3.0
Compiling getopts v0.2.21
Compiling parity-wasm v0.32.0
Compiling atty v0.2.13
Compiling env_logger v0.5.13
Compiling wasm-gc-api v0.1.11 (https://github.com/alexcrichton/wasm-gc#deb1c6dc)
Compiling wasm-gc v0.1.6 (https://github.com/alexcrichton/wasm-gc#deb1c6dc)
Finished release [optimized] target(s) in 36.10s
Installing /home/realgar1/.cargo/bin/wasm-gc
Installed package wasm-gc v0.1.6 (https://github.com/alexcrichton/wasm-gc#deb1c6dc) (executable wasm-gc)
realgar:
$ sudo apt install cmake git clang libclang-dev
[sudo] password for realgar1:
Reading package lists... Done
Building dependency tree
Reading state information... Done
cmake is already the newest version (3.10.2-1ubuntu2.18.04.1).
git is already the newest version (1:2.17.1-1ubuntu0.4).
clang is already the newest version (1:6.0-41exp5ubuntu1).
libclang-dev is already the newest version (1:6.0-41exp5ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 192 not upgraded.
realgar1:~$ cargo install --force --git https://github.com/stakedtechnologies/Plasm --tag v0.5.0
Updating git repository https://github.com/stakedtechnologies/Plasm
error: no packages found with binaries or examples

Can't install the Plasm Node.

I am using MacOS.

Build command
cargo install --force —locked --git https://github.com/staketechnologies/Plasm --tag v1.0.0 plasm-cli

Rust version: rustc 1.44.1 (c7087fe00 2020-06-17), rustup 1.21.1 (7832b2ebe 2019-12-20), cargo 1.44.1 (88ba85757 2020-06-11)

here is an error I got.

thread 'rustc' panicked at 'if we got here, it must be const', src/librustc_mir/transform/const_prop.rs:970:34
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: rustc 1.46.0-nightly (7750c3d46 2020-06-26) running on x86_64-apple-darwin

note: compiler flags: -C opt-level=3 -C panic=abort -C linker-plugin-lto -C link-arg=--export-table -C link-arg=--export=__heap_base -C link-arg=--import-memory --crate-type lib

note: some of the compiler flags provided by cargo are hidden

error: could not compile sp-arithmetic.

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed

warning: build failed, waiting for other jobs to finish...
error: failed to compile plasm-cli v1.0.0 (https://github.com/staketechnologies/Plasm?tag=v1.0.0#f52ab04a), intermediate artifacts can be found at /var/folders/w5/t676tkpn5_x7_lmccsw08nh00000gp/T/cargo-install8Qv4rL

Caused by:
build failed
Summary Failed to install —locked, plasm-cli (see error(s) above).
error: some crates failed to install

Make branch for Plasm childchain connection.

Description

Create a branch to test the connection with the Plasma child chain.

Required Tasks

  • {task 1}
  • {task 2}
  • ...

Estimated done.

6/1

Dependencies

{Dependencies issue or PR.}

Enable ImOnline module

Is your feature request related to a problem? Please describe.

Currently we have no way to precise monitor PoA validators work, we can’t decide bad validators that don’t produce blocks and good validators with high uptime.

Describe the solution you'd like

On-chain monitoring tool like “ImOnline” module helps to log all produced/missed blocks for all validators in chain. It helps to make decision around good/bad PoA validator set.

Describe alternatives you've considered

Currently ImOnline is only one on-chain alternative that used in Kusama PoS network for validator slashing.

Currently used manual monitoring makes inconvenience and human driven mistakes.

Dusty v1.1.0 - Local Node - Bug with WebSocket connection

Describe the bug
The WebSocket connection using Local Node (Own, 127.0.0.1:9944) option in "Settings" page of Plasm Portal (apps.plasmnet.io) doesn't work properly. The connection establishes, but no blocks number updates and other functions work.

To Reproduce
Steps to reproduce the behavior:

  1. Launch node Dusty v1.1.0
  2. Connect to node with ssh and port forwarding: ssh -L 9944:127.0.0.1:9944 root@IP_SERVER
  3. Open Plasm Portal (apps.plasmnet.io)
  4. Open "Setting" and select local node

Expected behavior
A correct WebSocket connection with blocks number updating and other functions working.

Screenshots
Local Node Error 1
Local Node Error 2

Desktop (please complete the following information):

  • OS: Ubuntu 20.04 LTS
  • Browser: Brave browser
  • Version: Dusty v1.1.0

First Validator rewards.

Is your feature request related to a problem? Please describe.
Add a simple validator rewards algorithm .

Describe the solution you'd like

Describe alternatives you've considered

Additional context

Implementing OVM modules.

Description

The Ovm module treats the Predicate like a contract of the contracts module, executes the Predicate by the Ovm interpreter implemented, returns the result, and performs the dispute logic.

The predicate can be executed without the concept of gas because it does not contain loops and storage and warm, etc, unlike contracts. So fast and light cost.

Required Tasks

  • OVMi
  • OVM module

Estimated done.

2020/5/22

Dependencies

#129
#153

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.