Commit graph

135 commits

Author SHA1 Message Date
Tuna
6783932836
Revert "Revert "Randomization implementation"" 2018-10-05 14:58:48 +07:00
Tuna
c0a5890379
Revert "Randomization implementation" 2018-10-05 10:47:50 +07:00
DinhLN
911663d851 Fixed bug out of range when masternodes length less than 150.
Move out config to constants.go file in common folder.

Fixed build m2 same as signers length.
2018-10-04 10:21:23 +07:00
Nguyen Ba Tam
b431d627c8 remove delay when mine new block 2018-09-18 14:42:34 +07:00
Tuna
8d6549d98c adding sort to masternode list 2018-09-10 12:12:51 +07:00
Tuna
efb0d7d724 some msg make up 2018-09-06 11:29:02 +07:00
Nguyen Ba Tam
d284374279 convert update M1 method from async to sync 2018-09-06 11:22:45 +07:00
Tuna
4ceb65f9a5 fix unit tests 2018-09-06 10:45:10 +07:00
Nguyen Ba Tam
4a93b33256 fix Stake Enable = true & remove check last index when insert chain 2018-09-05 11:19:14 +07:00
Nguyen Ba Tam
9bac2dd5e3 update return error when update M1 2018-08-27 14:45:26 +07:00
Nguyen Ba Tam
f164501885 format code again 2018-08-24 17:36:29 +07:00
Nguyen Ba Tam
e6ae9f1360 update process M1 synchronie only for downloader , not for fetcher 2018-08-24 17:30:50 +07:00
Nguyen Ba Tam
10b2ec598f split list blocks insert to chain by index (epoch - gas) 2018-08-24 15:00:51 +07:00
Nguyen Ba Tam
6bae36b4d5 Making posv as a separate package 2018-08-17 10:36:27 +07:00
dinhln89
727a7323cd Add signers and finality to block status rpc api. 2018-08-08 14:06:22 +07:00
Tuna
3442205b15 move gap into genesis config 2018-07-31 11:52:12 +07:00
Tuna
65e0555d5b tiny adjustment: m1gap 2018-07-23 14:00:29 +07:00
Tuna
f65014512d node waits to his turn until there is a new block comes in 2018-07-19 17:15:21 +07:00
Tuna
5a771ed6f0 node should also count to his turn in case some nodes are down 2018-07-17 11:04:52 +07:00
Tuna
54a0bad209 get masternodes set from latest checkpoint block header instead of from snapshot 2018-06-29 15:50:03 +07:00
Tuna
ab9f40aeed update new set of masternodes at end of each epoch (distance = m1Gap) 2018-06-29 14:31:33 +07:00
Tuna
90ceb82c9c fix unittests 2018-05-31 17:35:45 +07:00
Tuna
0ae49c74fa fix import cycle 2018-05-31 16:34:17 +07:00
Tuna
a546ae74bd gofmt 2018-05-25 16:02:11 +07:00
Tuna
ce3e641085 use cross-package channel listenning to checkpoint 2018-05-22 17:45:09 +07:00
Kyuntae Ethan Kim
63687f04e4 core: check transaction/receipt count match when reconstructing blocks (#16272) 2018-03-07 12:05:14 +02:00
Martin Holst Swende
f83237573f core: make current*Block atomic, and accessor functions mutex-free (#16171)
* core: make current*Block atomic, and accessor functions mutex-free

* core: fix review concerns

* core: fix error in atomic assignment

* core/light: implement atomic getter/setter for headerchain
2018-02-26 11:53:10 +02:00
Péter Szilágyi
89f914c030
core: flush out trie cache more meaningfully on stop (#16143)
* core: flush out trie cache more meaningfully on stop

* core: upgrade legacy tests to chain maker
2018-02-23 14:02:33 +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
b007412db1 core: soften up state memory force-commit log messages (#16080)
Talk about "state" instead of "trie timing", "trie memory" and remove
the overzealous warning when the limit is just reached. Since the time
limit is always reached on slow machines, move the message to info level
so users don't freak out about internal details.
2018-02-13 15:12:55 +02:00
Péter Szilágyi
69c1f2c2a7
core: force import known but rolled back blocks 2018-02-12 11:54:14 +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
Péter Szilágyi
fdb34b7a7c
Merge pull request #15996 from karalabe/drop-redundant-methods
core, eth, les, light: get rid of redundant methods
2018-01-31 12:46:38 +02:00
Martin Holst Swende
017b9f7eac core, ethdb: reuse database batches (#15989)
* leveldb: Update leveldb to 211f780 (poolfix)

* core, ethdb: reuse database batches
2018-01-30 19:03:31 +02:00
Péter Szilágyi
566d5c0777
core, eth, les, light: get rid of redundant methods 2018-01-30 18:42:00 +02:00
Péter Szilágyi
84be009154
core: sorted reorg insertion order for proper head header updating 2018-01-22 14:11:07 +02:00
Péter Szilágyi
6f69cdd109
all: switch gas limits from big.Int to uint64 2018-01-03 14:45:35 +02:00
ferhat elmas
5866626b08 core, p2p/discv5: use time.NewTicker instead of time.Tick (#15747) 2018-01-02 12:50:46 +01:00
Péter Szilágyi
54ce3887d8
core: split same-td blocks on block height 2017-11-13 17:07:05 +02:00
Péter Szilágyi
629b5837e9 core: revert invalid block dedup code (#15235) 2017-10-03 18:59:53 +02:00
Péter Szilágyi
10b3f97c9d core: only fire one chain head per batch (#15123)
* core: only fire one chain head per batch

* miner: announce chan events synchronously
2017-09-11 13:13:05 +03:00
Felix Lange
10181b57a9 core, eth/downloader: commit block data using batches (#15115)
* ethdb: add Putter interface and Has method

* ethdb: improve docs and add IdealBatchSize

* ethdb: remove memory batch lock

Batches are not safe for concurrent use.

* core: use ethdb.Putter for Write* functions

This covers the easy cases.

* core/state: simplify StateSync

* trie: optimize local node check

* ethdb: add ValueSize to Batch

* core: optimize HasHeader check

This avoids one random database read get the block number. For many uses
of HasHeader, the expectation is that it's actually there. Using Has
avoids a load + decode of the value.

* core: write fast sync block data in batches

Collect writes into batches up to the ideal size instead of issuing many
small, concurrent writes.

* eth/downloader: commit larger state batches

Collect nodes into a batch up to the ideal size instead of committing
whenever a node is received.

* core: optimize HasBlock check

This avoids a random database read to get the number.

* core: use numberCache in HasHeader

numberCache has higher capacity, increasing the odds of finding the
header without a database lookup.

* core: write imported block data using a batch

Restore batch writes of state and add blocks, tx entries, receipts to
the same batch. The change also simplifies the miner.

This commit also removes posting of logs when a forked block is imported.

* core: fix DB write error handling

* ethdb: use RLock for Has

* core: fix HasBlock comment
2017-09-09 19:03:07 +03:00
Zsolt Felfoldi
4ea4d2dc34
core, eth: add bloombit indexer, filter based on it 2017-09-06 11:13:13 +03:00
Péter Szilágyi
da7d57e07c
core: make txpool operate on immutable state 2017-09-05 13:34:41 +03:00
Miya Chen
bf1e263128 core, light: send chain events using event.Feed (#14865) 2017-08-18 12:58:36 +02:00
Mark
4f9789b28d core: avoid write existing block again (#14849) 2017-07-31 11:59:07 +02:00
Péter Szilágyi
0ff35e170d core: remove redundant storage of transactions and receipts (#14801)
* core: remove redundant storage of transactions and receipts

* core, eth, internal: new transaction schema usage polishes

* eth: implement upgrade mechanism for db deduplication

* core, eth: drop old sequential key db upgrader

* eth: close last iterator on successful db upgrage

* core: prefix the lookup entries to make their purpose clearer
2017-07-14 19:39:53 +03:00
Martin Holst Swende
8bbd598ef4 core: fix an off-by-one when the block import counts blocks 2017-06-29 14:19:10 +02:00
Felix Lange
9e5f03b6c4 core/state: access trie through Database interface, track errors (#14589)
With this commit, core/state's access to the underlying key/value database is
mediated through an interface. Database errors are tracked in StateDB and
returned by CommitTo or the new Error method.

Motivation for this change: We can remove the light client's duplicated copy of
core/state. The light client now supports node iteration, so tracing and storage
enumeration can work with the light client (not implemented in this commit).
2017-06-27 15:57:06 +02:00
Péter Szilágyi
c98bce709c
core: fix minor accidental typos and comment errors 2017-05-25 17:22:45 +03:00