Mixnet integration (#1346)
See #1345, <https://github.com/paritytech/substrate/pull/14207>. This adds all the necessary mixnet components, and puts them together in the "kitchen-sink" node/runtime. The components added are: - A pallet (`frame/mixnet`). This is responsible for determining the current mixnet session and phase, and the mixnodes to use in each session. It provides a function that validators can call to register a mixnode for the next session. The logic of this pallet is very similar to that of the `im-online` pallet. - A service (`client/mixnet`). This implements the core mixnet logic, building on the `mixnet` crate. The service communicates with other nodes using notifications sent over the "mixnet" protocol. - An RPC interface. This currently only supports sending transactions over the mixnet. --------- Co-authored-by:David Emett <dave@sp4m.net> Co-authored-by:
Javier Viola <javier@parity.io>
Showing
- Cargo.lock 241 additions, 70 deletionsCargo.lock
- Cargo.toml 3 additions, 0 deletionsCargo.toml
- substrate/bin/node/cli/Cargo.toml 2 additions, 0 deletionssubstrate/bin/node/cli/Cargo.toml
- substrate/bin/node/cli/benches/block_production.rs 1 addition, 1 deletionsubstrate/bin/node/cli/benches/block_production.rs
- substrate/bin/node/cli/benches/transaction_pool.rs 1 addition, 1 deletionsubstrate/bin/node/cli/benches/transaction_pool.rs
- substrate/bin/node/cli/src/chain_spec.rs 28 additions, 4 deletionssubstrate/bin/node/cli/src/chain_spec.rs
- substrate/bin/node/cli/src/cli.rs 4 additions, 0 deletionssubstrate/bin/node/cli/src/cli.rs
- substrate/bin/node/cli/src/command.rs 10 additions, 9 deletionssubstrate/bin/node/cli/src/command.rs
- substrate/bin/node/cli/src/service.rs 50 additions, 16 deletionssubstrate/bin/node/cli/src/service.rs
- substrate/bin/node/rpc/Cargo.toml 1 addition, 0 deletionssubstrate/bin/node/rpc/Cargo.toml
- substrate/bin/node/rpc/src/lib.rs 9 additions, 0 deletionssubstrate/bin/node/rpc/src/lib.rs
- substrate/bin/node/runtime/Cargo.toml 6 additions, 0 deletionssubstrate/bin/node/runtime/Cargo.toml
- substrate/bin/node/runtime/src/lib.rs 44 additions, 1 deletionsubstrate/bin/node/runtime/src/lib.rs
- substrate/bin/node/testing/src/genesis.rs 1 addition, 0 deletionssubstrate/bin/node/testing/src/genesis.rs
- substrate/bin/node/testing/src/keyring.rs 1 addition, 0 deletionssubstrate/bin/node/testing/src/keyring.rs
- substrate/bin/utils/chain-spec-builder/src/lib.rs 3 additions, 1 deletionsubstrate/bin/utils/chain-spec-builder/src/lib.rs
- substrate/client/cli/Cargo.toml 1 addition, 0 deletionssubstrate/client/cli/Cargo.toml
- substrate/client/cli/src/params/mixnet_params.rs 67 additions, 0 deletionssubstrate/client/cli/src/params/mixnet_params.rs
- substrate/client/cli/src/params/mod.rs 5 additions, 3 deletionssubstrate/client/cli/src/params/mod.rs
- substrate/client/mixnet/Cargo.toml 36 additions, 0 deletionssubstrate/client/mixnet/Cargo.toml
Please register or sign in to comment