Slava Karpenko
d990df909d
consensus/ethash: use 64bit indexes for the DAG generation ( #21793 )
...
* Bit boundary fix for the DAG generation routine
* Fix unnecessary conversion warnings
Co-authored-by: Sergey Pavlov <spavlov@gmail.com>
2020-11-11 21:13:12 +01:00
Martin Holst Swende
81ff700077
consensus/ethash: fix the percentage progress report
2020-11-09 11:56:29 +01:00
gary rong
87c0ba9213
core, eth, les, trie: add a prefix to contract code ( #21080 )
2020-08-21 15:10:40 +03:00
gary rong
28c5a8a54b
les: implement new les fetcher ( #20692 )
...
* cmd, consensus, eth, les: implement light fetcher
* les: address comment
* les: address comment
* les: address comments
* les: check td after delivery
* les: add linearExpiredValue for error counter
* les: fix import
* les: fix dead lock
* les: order announces by td
* les: encapsulate invalid counter
* les: address comment
* les: add more checks during the delivery
* les: fix log
* eth, les: fix lint
* eth/fetcher: address comment
2020-07-28 18:02:35 +03:00
meowsbits
befecc9fdf
consensus/ethash: fix flaky test by reading seal results ( #21085 )
2020-05-25 18:01:03 +02:00
Hanjiang Yu
8f05cfa122
cmd, consensus: add option to disable mmap for DAG caches/datasets ( #20484 )
...
* cmd, consensus: add option to disable mmap for DAG caches/datasets
* consensus: add benchmarks for mmap with/with lock
2020-03-31 11:44:04 +03:00
Guillaume Ballet
c49a4165d0
consensus/ethash: fix a typo and error message ( #20503 )
2020-01-07 18:19:21 +01:00
Martin Holst Swende
bc01593afb
consensus/ethash, params: eip-2384: bump difficulty bomb ( #20347 )
...
* consensus/ethash, params: implement eip-2384: bump difficulty bomb
* params: EIP 2384 compat checks
* consensus, params: add Muir Glacier block number (mainnet,ropsten) + official name
* core/forkid: forkid tests for muir glacier
* params/config: address review concerns
* params, core/forkid: review nitpicks
* cmd/geth,eth,les: add override option for muir glacier
* params: nit fix
2019-12-06 11:36:40 +02:00
Felix Lange
a91b704b01
consensus/ethash: refactor remote sealer ( #20335 )
...
The original idea behind this change was to remove a use of the
deprecated CancelRequest method. Simply removing it would've been an
option, but I couldn't resist and did a bit of a refactoring instead.
All remote sealing code was contained in a single giant function. Remote
sealing is now extracted into its own object, remoteSealer.
2019-11-28 10:51:57 +01:00
Guillaume Ballet
de2259d27c
travis: enable test suite on ARM64 ( #20219 )
...
* travis: Enable ARM support
* Include fixes from 20039
* Add a trace to debug the invalid lookup issue
* Try increasing the timeout to see if the arm test passes
* Investigate the resolver issue
* Increase arm64 timeout for clique test
* increase timeout in tests for arm64
* Only test the failing tests
* Review feedback: don't export epsilon
* Remove investigation tricks+include fjl's feeback
* Revert the retry ahead of using the mock resolver
* Fix rebase errors
2019-11-08 10:58:57 +02:00
Guillaume Ballet
72617a0742
consensus: fix possessives in comments. ( #20209 )
2019-10-28 09:57:34 +02:00
Péter Szilágyi
1a83114c74
all: update author list and licenses
2019-07-22 12:17:27 +03:00
Péter Szilágyi
536b3b416c
cosensus, core, eth, params, trie: fixes + clique history cap
2019-05-16 10:39:35 +03:00
Martin Holst Swende
4c90efdf57
consensus,core,miner: avoid overhead of creating a new block ( #19301 )
...
* consensus,core,miner: avoid overhead of creating a new block
* consensus: nitpick dot
* consensus: fix some comment formatting nits
2019-04-30 16:42:36 +03:00
Martin Holst Swende
d763b49ae3
consensus,core: shortcut uncle validation
2019-04-08 10:57:15 +02:00
Martin Holst Swende
0b4fe8d192
all: simplify timestamps to uint64 ( #19372 )
...
* all: simplify timestamps to uint64
* tests: update definitions
* clef, faucet, mobile: leftover uint64 fixups
* ethash: fix tests
* graphql: update schema for timestamp
* ethash: remove unused variable
2019-04-02 23:28:48 +03:00
Dave McGregor
33d233d3e1
vendor, crypto, swarm: switch over to upstream sha3 package
2019-01-04 09:26:07 +02:00
gary rong
144c1c6c52
consensus: extend getWork API with block number ( #18038 )
2018-11-08 17:08:57 +02:00
gary rong
5d1d1a808d
consensus, ethdb, metrics: implement forced-meter ( #17667 )
2018-09-17 15:32:34 +03:00
Martin Holst Swende
7efb12d29b
ethash: documentation + cleanup
2018-09-17 11:53:36 +02:00
Martin Holst Swende
3df7df0386
ethash: less copy-paste for EIP 1234
2018-09-15 23:54:16 +02:00
EOS Classic
0732617b65
consensus: implement Constantinople EIP 1234
2018-09-12 20:02:34 +09:00
Anton Evangelatov
cc2b39bbd1
consensus/ethash: increase timeout in test ( #17526 )
...
This is an attempt to fix the flaky consensus/ethash tests under macOS.
2018-09-03 16:59:23 +02:00
gary rong
c1c003e4ff
consensus, miner: stale block mining support ( #17506 )
...
* consensus, miner: stale block supporting
* consensus, miner: refactor seal signature
* cmd, consensus, eth: add miner noverify flag
* cmd, consensus, miner: polish
2018-08-28 16:59:05 +03:00
Mymskmkt
c64d72bea2
consensus/ethash: remove unnecessary type declaration ( #17529 )
2018-08-28 10:05:25 +03:00
gary rong
40a71f28cf
miner: fix state commit, track old work packages too ( #17490 )
...
* miner: commit state which is relative with sealing result
* consensus, core, miner, mobile: introduce sealHash interface
* miner: evict pending task with threshold
* miner: go fmt
2018-08-23 16:02:57 +03:00
Péter Szilágyi
251c868008
consensus/ethash: reduce notify test aggressiveness
2018-08-17 18:12:39 +03:00
Péter Szilágyi
d8541a9f99
consensus/ethash: use DAGs for remote mining, generate async
2018-08-15 14:38:39 +03:00
Péter Szilágyi
f0998415ba
cmd, consensus/ethash, eth: miner push notifications
2018-08-10 09:06:59 +03:00
gary rong
51db5975cc
consensus/ethash: move remote agent logic to ethash internal ( #15853 )
...
* 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
2018-08-03 11:33:37 +03:00
Wenbiao Zheng
f6206efe5b
consensus: move test use only var/func to test( #17004 )
2018-07-24 02:14:15 +02:00
Ralph Caraveo III
5d30be412b
all: switch out defunct set library to different one ( #16873 )
...
* keystore, ethash, eth, miner, rpc, whisperv6: tech debt with now defunct set.
* whisperv5: swap out gopkg.in/fatih/set.v0 with supported set
2018-07-16 10:54:19 +03:00
Kwuaint
facf1bc9d6
consensus/ethash: fix the algorithm of fakeBlockNumber in comments ( #17166 )
...
correct the algorithm in the comments for fakeBlockNumber, from "min" to "max".
2018-07-12 13:32:23 +03:00
Zak Cole
eb794af833
consensus/ethash: fixed documentation typo ( #17121 )
...
"proot-of-work" to "proof-of-work"
2018-07-04 11:20:58 +03:00
Felix Lange
3f33a7c8ce
consensus/ethash: reduce keccak hash allocations ( #16857 )
...
Use Read instead of Sum to avoid internal allocations and
copying the state.
name old time/op new time/op delta
CacheGeneration-8 764ms ± 1% 579ms ± 1% -24.22% (p=0.000 n=20+17)
SmallDatasetGeneration-8 75.2ms ±12% 60.6ms ±10% -19.37% (p=0.000 n=20+20)
HashimotoLight-8 1.58ms ±11% 1.55ms ± 8% ~ (p=0.322 n=20+19)
HashimotoFullSmall-8 4.90µs ± 1% 4.88µs ± 1% -0.31% (p=0.013 n=19+18)
2018-06-04 10:32:32 +03:00
YH-Zhou
fd3da7c69d
consensus/ethash: fixed typo ( #16665 )
2018-05-03 12:44:47 +03:00
Kyuntae Ethan Kim
d429a92f09
consensus/ethash: fixed typo ( #16253 )
2018-03-05 11:32:56 +02:00
Péter Szilágyi
17b0e226d3
travis, build, consensus: drop support for Go 1.7
2018-02-27 18:25:56 +02:00
Anton Evangelatov
ae9f97221a
metrics: pull library and introduce ResettingTimer and InfluxDB reporter ( #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
2018-02-23 11:56:08 +02:00
Felix Lange
924065e19d
consensus/ethash: improve cache/dataset handling ( #15864 )
...
* 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
2018-01-23 12:05:30 +02:00
gary rong
3a5a5599dd
consensus/ethash: fix byzantium difficulty comment typo ( #15842 )
2018-01-10 10:58:03 +02:00
Péter Szilágyi
6f69cdd109
all: switch gas limits from big.Int to uint64
2018-01-03 14:45:35 +02:00
sunxiaojun2014
908faf8cd7
consensus/ethash: fix overdue link ( #15786 )
2017-12-31 13:38:39 +02:00
gary rong
5f8888e116
accounts, consensus, core, eth: make chain maker consensus agnostic ( #15497 )
...
* accounts, consensus, core, eth: make chain maker consensus agnostic
* consensus, core: move CalcDifficulty to Engine interface
* consensus: add docs for calcDifficulty function
* consensus, core: minor comment fixups
2017-12-22 14:37:50 +02:00
Martin Holst Swende
79d5e5593f
consensus/ethash: relax requirements when determining future-blocks
2017-12-08 10:06:16 +01:00
gary rong
f14047dae5
cmd, consensus, eth: split ethash related config to it own ( #15520 )
...
* 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
2017-11-24 16:10:27 +02:00
Péter Szilágyi
1e0c336d29
cmd/puppeth: etherchain light block explorer for PoW nets
2017-11-21 15:09:34 +02:00
ferhat elmas
86f6568f66
build: enable unconvert linter ( #15456 )
...
* build: enable unconvert linter
- fixes #15453
- update code base for failing cases
* cmd/puppeth: replace syscall.Stdin with os.Stdin.Fd() for unconvert linter
2017-11-10 19:06:45 +02:00
Ernesto del Toro
2e83c82f80
ethash: fix typo
2017-10-13 01:13:52 -04:00
Péter Szilágyi
5bbd7fb390
consensus, core, params: rebrand Metro to Byzantium
2017-09-14 10:10:46 +03:00