aboutsummaryrefslogtreecommitdiffstats
path: root/consensus
Commit message (Collapse)AuthorAgeFilesLines
* consensus, core/*, params: metropolis preparation refactorJeffrey Wilcke2017-05-182-23/+30
| | | | | | | | | | | | | | | | | | | | | | | | This commit is a preparation for the upcoming metropolis hardfork. It prepares the state, core and vm packages such that integration with metropolis becomes less of a hassle. * Difficulty calculation requires header instead of individual parameters * statedb.StartRecord renamed to statedb.Prepare and added Finalise method required by metropolis, which removes unwanted accounts from the state (i.e. selfdestruct) * State keeps record of destructed objects (in addition to dirty objects) * core/vm pre-compiles may now return errors * core/vm pre-compiles gas check now take the full byte slice as argument instead of just the size * core/vm now keeps several hard-fork instruction tables instead of a single instruction table and removes the need for hard-fork checks in the instructions * core/vm contains a empty restruction function which is added in preparation of metropolis write-only mode operations * Adds the bn256 curve * Adds and sets the metropolis chain config block parameters (2^64-1)
* common/bitutil, consensus/ethash: reusable bitutil packagePéter Szilágyi2017-05-052-86/+2
|
* Hive-test fixes (#14419)Martin Holst Swende2017-05-041-0/+9
| | | | | | | | | | * core: Fix for consensus test gasLimit > 2^63-1 https://github.com/ethereum/tests/blob/develop/BlockchainTests/bcInvalidHeaderTest.json#L238 * core: fix testcase for uncle gasUsage > gasLimit : https://github.com/ethereum/tests/blob/develop/BlockchainTests/EIP150/bcUncleHeaderValiditiy.json#L986 * math/big: rename TTM63m1 -> MaxBig63, + go fmt * core: documentation
* consensus/clique: fix overflow on recent signer check around genesisPéter Szilágyi2017-05-031-1/+1
|
* consensus/ethash: fix a timestamp update racePéter Szilágyi2017-05-021-2/+4
|
* consensus/ethash: close mmap before rename, windows limitationPéter Szilágyi2017-04-141-5/+8
|
* consensus/ethash: simplify concurrency in VerifyHeadersFelix Lange2017-04-131-81/+48
| | | | | This change removes a convoluted use of sync/atomic from VerifyHeaders. It also fixes the annoying error about future blocks.
* consensus, core, ethstats: use engine specific block beneficiary (#14318)Péter Szilágyi2017-04-123-0/+17
| | | | | | * consensus, core, ethstats: use engine specific block beneficiary * core, eth, les, miner: use explicit beneficiary during mining
* consensus/clique, internal/web3ext: support hash based API queries (#14321)Péter Szilágyi2017-04-125-30/+56
| | | | | | * consensus/clique, internal/web3ext: support hash based API queries * consensus/clique: make RPC return types public
* consensus/clique: Proof of Authority (#3753)Péter Szilágyi2017-04-106-29/+1465
| | | | This PR is a prototype implementation of plugable consensus engines and the Clique PoA protocol ethereum/EIPs#225
* consensus, eth: don't CPU mine by default during remote miningPéter Szilágyi2017-04-072-1/+11
|
* consensus, core: drop all the legacy custom core error typesPéter Szilágyi2017-04-062-21/+57
|
* core, consensus: pluggable consensus engines (#3817)Péter Szilágyi2017-04-0514-0/+3671
This commit adds pluggable consensus engines to go-ethereum. In short, it introduces a generic consensus interface, and refactors the entire codebase to use this interface.