Commit graph

326 commits

Author SHA1 Message Date
AnilChinchwale
5ebc19f70a fix error deadlocked master node 2018-11-09 17:17:50 +05:30
parmarrushabh
f0761106f4 m1 mine block but only broadcast block wait m2 validate 2018-11-09 16:01:01 +05:30
parmarrushabh
7ebdbeed64 fix after reviewing 2018-11-09 13:07:34 +05:30
parmarrushabh
9d6344fbb4 Broadcast special Tx through pairRW 2018-11-09 12:45:18 +05:30
AnilChinchawale
deb79f4a23 push Randomization implementation 2018-11-06 17:27:13 +05:30
parmarrushabh
944494f6e4 Revert Randomization implementation 2018-11-06 16:16:29 +05:30
MestryOmkar
c9ad5cedb2 minor fix for chainHeadCh 2018-11-05 14:47:35 +05:30
AnilChinchawale
d81dc08a50 Get randomize m2 offer from validators in smart contract. 2018-11-05 11:12:22 +05:30
AnilChinchawale
a8c2a15886 adjust timeout for m1 2018-11-05 17:29:35 +05:30
AnilChinchawale
7e7bc37c20 convert update M1 method from async to sync 2018-11-02 12:14:43 +05:30
parmarrushabh
ce89b6b92d making XDPoS as a separate package 2018-10-28 11:58:50 +05:30
AnilChinchwale
7a7abd4f75 directly set mns to snapshot 2018-10-28 10:40:26 +05:30
parmmarrushabh
bdf9dd8802 extend timeout to 10s 2018-10-25 15:17:41 +05:30
MestryOmkar
cd3f0e37b4 move gap into genesis config 2018-10-24 14:29:03 +05:30
MestryOmkar
7adecc32d3 node waits to his turn until there is a new block comes in 2018-10-22 10:37:12 +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
parmarrushabh
76153eea4a Fixed bug calculate reward and add unit test for it. 2018-09-22 10:12:05 +05:30
AnilChinchawale
4e3cb79ff2 Refine code using log error when create tx sign. 2018-09-02 17:32:33 +05:30
MestryOmkar
f0b6c70a8e Refine code and fixed send tx sign for block signer. 2018-08-28 16:07:53 +05:30
AnilChinchawale
1e59069d3a reuse Clique voting strategy for now, leave header.Coinbase empty 2018-07-12 16:24:50 +05:30
AnilChinchawale
2fb2d7404d block 1 - all masternodes race to create 2018-07-10 16:20:55 +05:30
AnilChinchawale
2a878bb7a7 golint fix 2018-07-07 16:14:53 +05:30
AnilChinchawale
91aa7c65ef masternode takes turn (circle) to propose block 2018-07-07 16:11:13 +05:30
AnilChinchawale
5f79d00d04 FIX UNITTESTS 2018-06-30 15:07:40 +05:30
stompesi
fe6cf00f48 miner: remove duplicated code (#15968) 2018-03-16 14:13:52 +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
Jim McDonald
18a7d31338 miner: avoid unnecessary work (#15883) 2018-01-15 12:57:06 +02:00
Péter Szilágyi
6f69cdd109
all: switch gas limits from big.Int to uint64 2018-01-03 14:45:35 +02:00
Ricardo Domingos
9ff9d04a69 all: fix code comment typos (#15547)
* console: fix typo in comment

* contracts/release: fix typo in comment

* core: fix typo in comment

* eth: fix typo in comment

* miner: fix typo in comment
2017-11-24 11:20:01 +02:00
Péter Szilágyi
6d6a5a9337 cmd, consensus, core, miner: instatx clique for --dev (#15323)
* cmd, consensus, core, miner: instatx clique for --dev

* cmd, consensus, clique: support configurable --dev block times

* cmd, core: allow --dev to use persistent storage too
2017-10-24 13:40:42 +03:00
terasum
e9382c6e9f miner: fix typo 2017-10-12 10:19:23 +08:00
Mark
cb5235eb07 miner: make starting of CPU agent more reliable (#15148) 2017-09-19 13:28:15 +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
Mark
c1740e4540 core/types, miner: avoid tx sender miscaching (#14773) 2017-09-07 23:22:27 +02: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
Egon Elbre
faafeef79e miner: fix megacheck warnings 2017-08-07 13:41:22 +03: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
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
Jeffrey Wilcke
10a57fc3d4 consensus, core/*, params: metropolis preparation refactor
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)
2017-05-18 09:05:58 +02:00
Péter Szilágyi
a2f23ca9b1 cmd, core, eth, miner: remove txpool gas price limits (#14442) 2017-05-16 21:07:27 +02:00
Péter Szilágyi
a7b9e484d0 consensus, core, ethstats: use engine specific block beneficiary (#14318)
* consensus, core, ethstats: use engine specific block beneficiary

* core, eth, les, miner: use explicit beneficiary during mining
2017-04-12 16:38:31 +03:00
Péter Szilágyi
158d603528
consensus, core: drop all the legacy custom core error types 2017-04-06 17:34:19 +03:00
Péter Szilágyi
d83a9a8f44
miner: don't verify our own blocks, trust the engine 2017-04-06 12:22:14 +03:00
Péter Szilágyi
09777952ee core, consensus: pluggable consensus engines (#3817)
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.
2017-04-05 00:16:29 +02:00
Péter Szilágyi
b7d93500f1 all: finish integrating Go ethash, delete C++ vendor 2017-03-09 15:50:14 +01:00