mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-17 06:41:02 +00:00
Consensus: Proof of Work (#3473)
* consensus-pow: init primtives and verifier * consensus-pow: add total difficulty auxiliary * consensus-pow: implement total difficulty chain selection * consensus-pow: implement pow import queue * consensus-pow-primitives: add mine into PowApi * consensus-pow: implement mining * Update lock file * Style fixes No run-on expressions allowed. * consensus-pow: refactor register_pow_inherent_data_provider * consensus-pow: make PowApi::mine yieldable * consensus-pow: better mining loop * Add missing license header * consensus-pow-primitives: clarify the meaning of None for PowApi::verify * consensus-pow: changing total difficulty addition to use saturating add * consensus-pow: change mine-loop error to log on error! level * consensus-pow: allow inserting arbitrary preruntime digest for pow The preruntime digest can be intepreted by the runtime as the block author/coinbase. * Fix line width * More line width fixes * consensus-pow: separate difficulty, verify API This makes it more apparent that currently in PoW engine, `difficulty` should be input, not output. * srml-pow: implementation of average_span difficulty adjustment * srml-pow: basic blake2 algo example * srml-pow-average-span: make it not require genesis config * srml-pow: add support for authorship * Missing license headers * consensus-pow: PowAlgorithm trait generalization * Missing docs for consensus-pow * More docs * node-runtime: bump impl_version * Add rationale for difficulty type * consensus-pow: refactor aux_key * Update lock file * Update core/consensus/pow/src/lib.rs Co-Authored-By: Sergei Pepyakin <sergei@parity.io> * Update core/consensus/pow/src/lib.rs Co-Authored-By: Sergei Pepyakin <sergei@parity.io> * Update core/consensus/pow/src/lib.rs Co-Authored-By: Sergei Pepyakin <sergei@parity.io> * Update core/consensus/pow/src/lib.rs Co-Authored-By: Sergei Pepyakin <sergei@parity.io> * Update core/consensus/pow/src/lib.rs Co-Authored-By: Sergei Pepyakin <sergei@parity.io> * Update core/consensus/pow/src/lib.rs Co-Authored-By: Sergei Pepyakin <sergei@parity.io> * Update core/consensus/pow/src/lib.rs Co-Authored-By: Sergei Pepyakin <sergei@parity.io> * Update core/consensus/pow/primitives/src/lib.rs Co-Authored-By: Sergei Pepyakin <sergei@parity.io> * Update core/consensus/pow/primitives/src/lib.rs Co-Authored-By: Sergei Pepyakin <sergei@parity.io> * Remove PowRuntimeAlgorithm * block_id -> parent_block_id * Auxiliary data -> auxiliary storage data * Fix error message * Fix compile * Update core/consensus/pow/primitives/src/lib.rs Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com> * Update core/consensus/pow/src/lib.rs Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com> * Update core/consensus/pow/primitives/src/lib.rs Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com> * Update core/consensus/pow/src/lib.rs Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com> * Fix crate description * More docs * Address grumbles 1. Make preruntime Optional. 2. Add more docs on what is `preruntie` and `round`. 3. Replace `Default::default` with the approriate type.
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
[package]
|
||||
name = "substrate-consensus-pow"
|
||||
version = "2.0.0"
|
||||
authors = ["Parity Technologies <admin@parity.io>"]
|
||||
description = "PoW consensus algorithm for substrate"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
codec = { package = "parity-scale-codec", version = "1.0.0", features = ["derive"] }
|
||||
primitives = { package = "substrate-primitives", path = "../../primitives" }
|
||||
sr-primitives = { path = "../../sr-primitives" }
|
||||
client = { package = "substrate-client", path = "../../client" }
|
||||
srml-timestamp = { path = "../../../srml/timestamp" }
|
||||
inherents = { package = "substrate-inherents", path = "../../inherents" }
|
||||
pow-primitives = { package = "substrate-consensus-pow-primitives", path = "primitives" }
|
||||
consensus-common = { package = "substrate-consensus-common", path = "../common" }
|
||||
log = "0.4"
|
||||
futures-preview = { version = "=0.3.0-alpha.17", features = ["compat"] }
|
||||
Reference in New Issue
Block a user