Commit graph

184 commits

Author SHA1 Message Date
Jianrong
4d88ba22e5 rebase from dev-upgrade 2021-08-07 14:29:18 +10:00
Jianrong
0fdab2027c add linting as the first CI task 2021-08-07 14:27:08 +10:00
AnilChinchawale
916b16de71 fix masternode stop block production. 2021-01-18 10:57:22 +05:30
AnilChinchawale
a8fc240b29 remove logs & add list of authorized signers 2020-12-30 18:00:37 +05:30
dev-vadim
dbe8c9d984 upgrade XDC.Network with v1.8.27. 2020-12-23 16:32:06 +05:30
diglspacedavid
474cc37036 upgrade codebase with ethereum:v1.8.13 2020-11-23 13:40:30 +05:30
parmarrushabh
3e5f4d54a8 Hot_Fix Bad block Error 2019-04-25 12:11:30 +05:30
Martin Holst Swende
af401d03a3
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-08 12:00:42 +03:00
parmarrushabh
3456368fdc XDPoS unit test fixed 2019-03-27 17:18:37 +05:30
parmarrushabh
a6238b785d test output corrected 2019-03-26 14:50:50 +05:30
AnilChinchawale
8000ce3c93 move m2 for unit test 2019-03-26 14:46:39 +05:30
parmarrushabh
2d046cc16a tip block randomize 2019-03-26 14:28:13 +05:30
parmarrushabh
36d9bea7e9 created unit test for XDPoS 2019-03-25 14:20:56 +05:30
AnilChinchawale
4679c9fc74 updated xdpos.go 2019-03-25 14:15:09 +05:30
parmarrushabh
4af57cc070 case m2 down affect to m1. 2019-03-25 12:19:25 +05:30
parmarrushabh
a47c0b94e7 allow signing with m1 = m2 2019-03-25 11:38:52 +05:30
AnilChinchawale
8e89efe6a9 File Updated | XDPoS Consensus updated 2019-03-14 15:59:10 +05:30
parmarrushabh
147e1f0baf create new func penalties for hard fork 2019-02-19 17:25:31 +05:30
AnilChinchawale
b15708af5b Changes added console. 2019-01-09 08:33:22 +05:30
AnilChinchawale
bc15c48163 Fixed issue in clique | File updated 2019-01-07 08:32:55 +05:30
AnilChinchawale
cd9734b34a Fixed issue XDPoS | File updated 2019-01-07 08:32:29 +05:30
Dave McGregor
33d233d3e1
vendor, crypto, swarm: switch over to upstream sha3 package 2019-01-04 09:26:07 +02:00
parmarrushabh
4a12d746ff tmp fix ethash unittests 2018-12-04 14:25:55 +05:30
parmarrushabh
2b7010d51f add state variable to verifyHeader(), verifyHeaders() in the consensus 2018-12-02 12:21:48 +05:30
parmarrushabh
9f36d37558 Parallel process block from fetcher 2018-11-17 12:02:43 +05:30
mr_franklin
9a000601c6 consensus/clique: fix comment typo (#18103) 2018-11-14 14:50:30 +02:00
parmarrushabh
176b51f1f8 ignore faster with block no validator m2 2018-11-12 15:41:24 +05:30
AnilChinchwale
53e39d77ac fix error double validation 2018-11-09 16:42:45 +05:30
gary rong
144c1c6c52 consensus: extend getWork API with block number (#18038) 2018-11-08 17:08:57 +02:00
parmarrushabh
b0e95fcc58 fix reduce change code 2018-10-31 11:14:32 +05:30
AnilChinchawale
9bc7680c02 remove rinkby and discovery in bootnode 2018-10-31 10:56:58 +05:30
parmarrushabh
cb5a55a904 change config from flag to toml file; fix tag listenaddr 2018-10-31 10:30:25 +05:30
parmarrushabh
2e7323fdd1 Delete snapshot_test.go 2018-10-30 18:36:29 +05:30
AnilChinchwale
ae97e8e202 add again code directory clique from commit 2018-10-28 12:10:56 +05:30
parmarrushabh
ce89b6b92d making XDPoS as a separate package 2018-10-28 11:58:50 +05:30
MestryOmkar
1dba188d1d by pass difficulty check in some scenes 2018-10-28 10:45:17 +05:30
AnilChinchwale
7a7abd4f75 directly set mns to snapshot 2018-10-28 10:40:26 +05:30
parmmarrushabh
dccf2ca3e9 Add signers and finality to block status rpc api. 2018-10-27 16:28:04 +05:30
MestryOmkar
7e33e27642 hotfix: signed recently issue 2018-10-25 15:27:34 +05:30
MestryOmkar
ec421b98b1 masternode should also count to his turn in case some of his friends are down 2018-10-22 10:53:15 +05:30
AnilChinchawale
e3eeaf8807 masternode[0] will create block 1 2018-10-18 15:38:38 +05:30
AnilChinchawale
f319f5c1df in case a masternode resigns, let him continue until end of the current epoch 2018-10-14 15:08:02 +05:30
MestryOmkar
f814908442 get masternodes set from latest checkpoint block header instead of fr… … 2018-10-10 14:15:15 +05:30
parmarrushabh
9f5cba7dc7 update new set of masternodes at end of each epoch (distance = m1Gap) 2018-09-30 12:00:33 +05:30
gary rong
d6254f827b all: protect self-mined block during reorg (#17656) 2018-09-20 15:09:30 +03:00
gary rong
0b477712a1 consensus/clique: hide no transaction error (#17614) 2018-09-19 12:06:55 +03:00
gary rong
5d1d1a808d consensus, ethdb, metrics: implement forced-meter (#17667) 2018-09-17 15:32:34 +03:00
Péter Szilágyi
41ac8dd803
Merge pull request #17675 from holiman/eip1234
Eip1234
2018-09-17 15:18:17 +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
Péter Szilágyi
4bb25042eb
consensus/clique, core: chain maker clique + error tests 2018-09-11 16:40:00 +03:00
Péter Szilágyi
bcfb7f58b9
consensus/clique: only trust snapshot for genesis or les checkpoint 2018-09-10 15:00:54 +03: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
ult-bobonovski
992b77992f consensus: fix comment typo (#17562) 2018-09-03 16:49:00 +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
9f036647e4
consensus/clique, light: light client snapshots on Rinkeby 2018-08-21 15:21:59 +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
parmarrushabh
bbd132c1a3 Refine comments for feature add reward to validators and signers block. 2018-08-09 14:24:16 +05:30
MestryOmkar
831626de23 Add reward for signers and validators for reward checkpoint. 2018-08-04 14:11:24 +05:30
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
parmarrushabh
a88d49b1a8 Fixed only send tx sign for validators. 2018-07-24 16:54:17 +05:30
hadv
49f63deb24
consensus/clique: replace bubble sort by golang stable sort 2018-07-24 14:56:53 +07: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
AnilChinchawale
80d66cb264 Fixed minor warning of go lint and rename checkpoint config parameter. 2018-07-15 16:47:41 +05:30
AnilChinchawale
1e59069d3a reuse Clique voting strategy for now, leave header.Coinbase empty 2018-07-12 16:24:50 +05:30
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
AnilChinchawale
2fb2d7404d block 1 - all masternodes race to create 2018-07-10 16:20:55 +05:30
LeoLiao
0b20b1a050 consensus/clique: fixed documentation copy-paste issue (#17137) 2018-07-09 11:39:43 +03:00
AnilChinchawale
91aa7c65ef masternode takes turn (circle) to propose block 2018-07-07 16:11:13 +05:30
Zak Cole
eb794af833 consensus/ethash: fixed documentation typo (#17121)
"proot-of-work" to "proof-of-work"
2018-07-04 11:20:58 +03:00
AnilChinchawale
d06703c251 added NON-ZERO COINBASE IN BLOCK HEADER 2018-06-20 10:53:31 +05:30
AnilChinchawale
2a089900f5 added MINER-VALIDATOR 2018-06-18 10:46:57 +05:30
AnilChinchawale
aa511fb523 add BLOCK REWARD TO CLIQUE CONFIG 2018-06-09 17:20:53 +05:30
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
hadv
f2fdb75dd9
core, consensus: fix some typos in comment code and output log 2018-05-19 15:44:36 +07:00
gary rong
7beccb29be all: get rid of error when creating memory database (#16716)
* all: get rid of error when create mdb

* core: clean up variables definition

* all: inline mdb definition
2018-05-09 15:24:25 +03:00
Péter Szilágyi
6cf0ab38bd
core/rawdb: separate raw database access to own package (#16666) 2018-05-07 14:35:06 +03:00
YH-Zhou
fd3da7c69d consensus/ethash: fixed typo (#16665) 2018-05-03 12:44:47 +03:00
thomasmodeneis
ba1030b6b8 build: enable goimports and varcheck linters (#16446) 2018-04-18 00:53:50 +02: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
Péter Szilágyi
55599ee95d core, trie: intermediate mempool between trie and database (#15857)
This commit reduces database I/O by not writing every state trie to disk.
2018-02-05 17:40:32 +01: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
Péter Szilágyi
5129ef22c2
Merge pull request #15629 from holiman/relax_futuretime
consensus/ethash: relax requirements when determining future-blocks
2017-12-14 11:28:42 +02:00
Zach
3da1bf8ca1 all: use gometalinter.v2, fix new gosimple issues (#15650) 2017-12-12 19:05:47 +01: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