aboutsummaryrefslogtreecommitdiffstats
path: root/consensus/ethash/ethash.go
Commit message (Collapse)AuthorAgeFilesLines
* consensus/ethash: use DAGs for remote mining, generate asyncPéter Szilágyi2018-08-151-9/+37
|
* cmd, consensus/ethash, eth: miner push notificationsPéter Szilágyi2018-08-101-8/+10
|
* consensus/ethash: move remote agent logic to ethash internal (#15853)gary rong2018-08-031-13/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | * consensus/ethash: start remote ggoroutine to handle remote mining * consensus/ethash: expose remote miner api * consensus/ethash: expose submitHashrate api * miner, ethash: push empty block to sealer without waiting execution * consensus, internal: add getHashrate API for ethash * consensus: add three method for consensus interface * miner: expose consensus engine running status to miner * eth, miner: specify etherbase when miner created * miner: commit new work when consensus engine is started * consensus, miner: fix some logics * all: delete useless interfaces * consensus: polish a bit
* consensus/ethash: fixed documentation typo (#17121)Zak Cole2018-07-041-1/+1
| | | "proot-of-work" to "proof-of-work"
* consensus/ethash: fixed typo (#16665)YH-Zhou2018-05-031-1/+1
|
* metrics: pull library and introduce ResettingTimer and InfluxDB reporter ↵Anton Evangelatov2018-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | (#15910) * go-metrics: fork library and introduce ResettingTimer and InfluxDB reporter. * vendor: change nonsense/go-metrics to ethersphere/go-metrics * go-metrics: add tests. move ResettingTimer logic from reporter to type. * all, metrics: pull in metrics package in go-ethereum * metrics/test: make sure metrics are enabled for tests * metrics: apply gosimple rules * metrics/exp, internal/debug: init expvar endpoint when starting pprof server * internal/debug: tiny comment formatting fix
* consensus/ethash: improve cache/dataset handling (#15864)Felix Lange2018-01-231-169/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * consensus/ethash: add maxEpoch constant * consensus/ethash: improve cache/dataset handling There are two fixes in this commit: Unmap the memory through a finalizer like the libethash wrapper did. The release logic was incorrect and freed the memory while it was being used, leading to crashes like in #14495 or #14943. Track caches and datasets using simplelru instead of reinventing LRU logic. This should make it easier to see whether it's correct. * consensus/ethash: restore 'future item' logic in lru * consensus/ethash: use mmap even in test mode This makes it possible to shorten the time taken for TestCacheFileEvict. * consensus/ethash: shuffle func calc*Size comments around * consensus/ethash: ensure future cache/dataset is in the lru cache * consensus/ethash: add issue link to the new test * consensus/ethash: fix vet * consensus/ethash: fix test * consensus: tiny issue + nitpick fixes
* cmd, consensus, eth: split ethash related config to it own (#15520)gary rong2017-11-241-44/+73
| | | | | | | | | | * cmd, consensus, eth: split ethash related config to it own * eth, consensus: minor polish * eth, consenus, console: compress pow testing config field to single one * consensus, eth: document pow mode
* rlp, trie, contracts, compression, consensus: improve comments (#14580)S. Matthew English2017-06-121-2/+2
|
* consensus: Fix `makedag` epochKonrad Feldmeier2017-06-121-2/+2
| | | | | | | | | `geth makedag <blocknumber> <path>` was creating DAGs for `<blocknumber>/<epoch_length> + 1`, hence it was impossible to create an epoch 0 DAG. This fixes the calculations in `consensus/ethash/ethash.go` for `MakeDataset` and `MakeCache`, and applies `gofmt`.
* 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, eth: don't CPU mine by default during remote miningPéter Szilágyi2017-04-071-1/+8
|
* core, consensus: pluggable consensus engines (#3817)Péter Szilágyi2017-04-051-0/+587
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.