Commit Graph

149 Commits

Author SHA1 Message Date
obscuren
12650e16d3 core, miner: fixed miner time issue and removed future blocks
* Miner should no longer generate blocks with a time stamp less or equal
than it's parent.
* Future blocks are no longer processed and queued directly.
  Closes #1118
2015-05-27 13:30:52 +02:00
Gustav Simonsson
bf5f0b1d0c Update ValidateHeader comments 2015-05-27 13:30:24 +02:00
Gustav Simonsson
14955bd454 Revert "core: block.gasLimit - parent.gasLimit <= parent.gasLimit / GasLimitBoundDivisor"
This reverts commit be2b0501b5.
2015-05-27 13:01:06 +02:00
obscuren
be2b0501b5 core: block.gasLimit - parent.gasLimit <= parent.gasLimit / GasLimitBoundDivisor 2015-05-27 01:52:03 +02:00
obscuren
b2f2806055 cmd/geth, core: Updated DB version & seedhash debug method 2015-05-27 01:38:41 +02:00
obscuren
ef8744d9fc core: switched back to set.Set for uncle verification 2015-05-21 11:36:39 +02:00
zsfelfoldi
00ec4132f8 Storing tx receipts in extraDb 2015-05-20 06:41:50 +02:00
Jeffrey Wilcke
bd0c0a633b Merge pull request #1022 from obscuren/parallel_nonce_checks
Parallelise nonce checks
2015-05-18 11:13:53 -07:00
obscuren
c67424ecc8 core: parallelise nonce checking when processing blocks
ChainManager now uses a parallel approach to block processing where all
nonces are checked seperatly from the block processing process. This
speeds up the process by about 3 times on my i7
2015-05-18 13:59:22 +02:00
obscuren
67d44519ce core: bugfix test 2. set => hash map 2015-05-18 10:49:09 +02:00
obscuren
54f0f82dd1 ret 2015-05-18 10:14:48 +02:00
obscuren
e323f0e831 core: tmp diagnostic logs 2015-05-18 10:13:50 +02:00
obscuren
d98a6f85fc core: further improved uncle error messages 2015-05-16 13:02:30 +02:00
obscuren
7ea76fcf99 core, cmd/geth, cmd/mist: cleanup. bump version 0.9.21 2015-05-16 00:26:36 +02:00
obscuren
580bae0a86 core: improved uncle messages 2015-05-15 00:40:07 +02:00
Vitalik Buterin
bc83761996 Fixed max uncle count error message 2015-05-13 20:29:57 -04:00
obscuren
498b24270a core: implemented a queued approach processing transactions
Implemented a new transaction queue. Transactions with a holes in their
nonce sequence are also not propagated over the network.

N: 0,1,2,5,6,7 = propagate 0..2 -- 5..N is kept in the tx pool
2015-04-23 11:50:11 +02:00
Gustav Simonsson
4e0a2c8e8c Validate block header UncleHash against calculated hash 2015-04-22 23:16:19 +02:00
obscuren
093d6d5074 core: removed nonce resetting from the block processor.
All nonce error handling has been moved to the worker
2015-04-21 11:27:12 +02:00
obscuren
f28b2bb6ed core: upgraded block chain version 2015-04-20 18:12:05 +02:00
obscuren
72d065d491 core: force block process & fixed chain manager test 2015-04-20 16:02:50 +02:00
obscuren
97b0c4b697 core: moved TD calculation from proc to chain 2015-04-20 12:01:20 +02:00
obscuren
1bc2d83b6f core: improved uncle validation error message 2015-04-18 14:24:44 +02:00
Bas van Kervel
49a513bdeb Added blockchain DB versioning support, closes #650 2015-04-13 10:13:52 +02:00
obscuren
1c872ddf4b Changed how logs are being recorded
Logs are now recorded per transactions instead of tossing them out after
each transaction. This should also fix an issue with
`eth_getFilterLogs` (#629) Also now implemented are the `transactionHash,
blockHash, transactionIndex, logIndex` on logs. Closes #654.
2015-04-08 17:15:45 +02:00
obscuren
7a18a39351 prevent deadlock 2015-04-04 18:23:51 +02:00
obscuren
e1ed8c33bd Improved chain manager, improved block processor, fixed tests
* ChainManager allows cached future blocks for later processing
* BlockProcessor allows a 4 second window on future blocks
* Fixed tests
2015-04-04 16:35:23 +02:00
obscuren
c985ce4d78 Changed log to new logging 2015-04-04 13:41:58 +02:00
obscuren
1889727144 Moved logging to logger.Core 2015-04-04 13:24:01 +02:00
obscuren
a0e44e3281 basic glog 2015-04-04 12:40:11 +02:00
obscuren
f9d94c7462 do not include BlockEqualTS as valid uncles 2015-04-03 17:19:09 +02:00
obscuren
b8124ec791 Removed old (unused) argument 2015-04-01 23:58:26 +02:00
Jeffrey Wilcke
219d94c1dd Merge pull request #623 from Gustav-Simonsson/read_protocol_values_from_common_params
Read most protocol params from common/params.json
2015-04-01 23:37:17 +02:00
Gustav Simonsson
c26c8d3a44 Read most protocol params from common/params.json
* Add params package with exported variables generated from
  github.com/ethereum/common/blob/master/params.json
* Use params package variables in applicable places
* Add check for minimum gas limit in validation of block's gas limit
* Remove common/params.json from go-ethereum to avoid
  outdated version of it
2015-04-02 06:22:32 +02:00
obscuren
344b3556eb Fixed uncle rewards in miner
The uncle rewards were changed in the block processor. This change will
reflect those changes in the miner as well.
2015-04-01 21:18:41 +02:00
obscuren
6afc5e762a Merge branch 'hexify' of https://github.com/tgerring/go-ethereum into tgerring-hexify 2015-04-01 12:49:10 +02:00
Taylor Gerring
86ba7432a9 txMeta storage as struct 2015-04-01 12:14:35 +02:00
obscuren
0a554a1f27 Blocktest fixed, Execution fixed
* Added new CreateAccount method which properly overwrites previous
  accounts (excluding balance)
* Fixed block tests (100% success)
2015-04-01 10:53:32 +02:00
Taylor Gerring
40ea466200 Store and retrieve tx context metadata #608
Improving this in the future will allow for cleaning up a bit of legacy
code.
2015-03-31 22:40:12 +02:00
Gustav Simonsson
9feed3f61e Correct gas limit validation according to new algorithm
* Use absolute value of (block's gas limit) - (parent's gas limit)
  in comparison with diff limit.
* Ensure the diff is strictly smaller than the allowed size.
2015-03-30 16:07:24 +02:00
obscuren
505f1fbcbb added tx tests and fixed block tests 2015-03-25 17:05:29 +01:00
obscuren
7b8a47f484 removed legacy code 2015-03-23 22:05:12 +01:00
obscuren
bfb9ed881d Gas validation and clean up of legacy code 2015-03-23 21:48:45 +01:00
obscuren
c8e9ca0483 fixed bad uncles 2015-03-23 18:27:05 +01:00
obscuren
0330077d76 moved state and vm to core 2015-03-23 16:59:09 +01:00
obscuren
dc3a9379f5 logging for possible uncles 2015-03-23 16:14:33 +01:00
obscuren
b5a71d955c merge 2015-03-19 16:59:13 +01:00
obscuren
14a2f42f37 fixed chain event. Closes #529 2015-03-19 16:19:54 +01:00
Felix Lange
27f7aa0163 core: adapt Message for new Transaction.From signature 2015-03-17 12:00:29 +01:00
obscuren
8ce6a36478 converted chain manager 2015-03-16 23:48:18 +01:00
obscuren
b523441361 Moved ethutil => common 2015-03-16 11:27:38 +01:00
obscuren
f1fcda4f2f Implemented managed state
* Reimplemented nonce management for known accounts.
2015-03-13 16:29:04 +01:00
obscuren
310ca62285 Removed some of that gas pre pay magic 2015-03-12 22:29:10 +01:00
obscuren
ef6706696c Add additional extra database for non-protocol related data
* Add transaction to extra database after a successful block process
2015-03-12 14:50:35 +01:00
obscuren
477815c044 Improved error reporting and removed commented code 2015-03-11 16:33:39 +01:00
obscuren
b87442a9f7 Fixed error message. Closes #448 2015-03-10 11:29:22 +01:00
obscuren
c47866d251 Miner fixes and updates (including miner) 2015-03-05 09:14:58 +01:00
obscuren
84a4f761f3 uncle validation 2015-03-04 10:49:56 +01:00
obscuren
26de12d9bf Changed nonce to a uint64 2015-03-03 21:04:31 +01:00
obscuren
53b5a45856 Merge branch 'xcthulhu-publictests' into poc-9 2015-03-03 17:55:29 +01:00
obscuren
313fe3861b fixed pow stuff 2015-03-03 17:55:23 +01:00
obscuren
22b132e28f Merge branch 'publictests' of https://github.com/xcthulhu/go-ethereum into xcthulhu-publictests 2015-03-03 17:20:34 +01:00
obscuren
b0aaa77f02 changed message 2015-03-03 17:20:10 +01:00
obscuren
ee0a1bec6c GasLimit check updated 2015-03-03 17:05:51 +01:00
Matthew Wampler-Doty
de9f79133f Introducing ethash 2015-03-02 22:29:34 -05:00
Matthew Wampler-Doty
080823bdee Only one uncle 2015-03-02 18:56:11 -05:00
Matthew Wampler-Doty
ba1f4bbe91 Exposing stuff for ethash 2015-02-27 20:56:24 -05:00
obscuren
e235b57234 Fixed consensus issue for refunding
* Refund should _always_ go to the origin
2015-02-26 20:08:35 +01:00
obscuren
37e6870f64 wip 2015-02-26 18:39:05 +01:00
Gustav Simonsson
260ab73969 Validate block header gas limit
* Add block header gas limit validation in ValidateBlock function,
  see eq 39 and 45 in yellow paper. Before it was calculated _for_
  the block instead of validated.
* Use the block header gas limit when setting the gas pool instead
  of calculating the value for the block.
2015-02-25 20:00:32 +01:00
obscuren
483d96a89d Added eth_logs & fixed issue with manual log filtering
* Implemented `eth_logs`
* Fixed issue with `filter.Find()` where logs were appended to an
  incorrect, non-returned slice resulting in no logs found
2015-02-22 13:12:01 +01:00
obscuren
d8ac267f41 dirty tracking for state objects fixed 2015-02-20 14:01:30 +01:00
obscuren
fa4cbad315 Optimisations and fixed a couple of DDOS issues in the miner 2015-02-19 22:33:22 +01:00
obscuren
655e942597 Added GetBlock GetUncle with OOB guard 2015-02-18 13:14:21 +01:00
obscuren
b64ad7a2a6 Merge branch 'develop' into miner 2015-02-11 23:46:54 +01:00
obscuren
3f6baa45a7 Documented methods & removed old manifest 2015-02-11 23:46:45 +01:00
obscuren
da2fae0e43 Basic structure miner 2015-02-10 13:04:38 +01:00
obscuren
58ba290a9f moved manager 2015-02-09 00:08:28 +01:00
obscuren
b22f0f2ef5 merged 2015-02-09 00:06:24 +01:00
obscuren
f8c1eb157d Undone fix. Will re-enable once chain resets 2015-02-05 14:42:12 -08:00
Jeffrey Wilcke
47129428fe Merge pull request #290 from Gustav-Simonsson/correct_block_parent_timestamp_check
Correct block parent timestamp check and typos
2015-02-05 12:23:56 -08:00
obscuren
c64852dbcc pending / chain event 2015-02-05 11:55:03 -08:00
obscuren
ac69538707 Merge branch 'develop' into miner 2015-02-05 10:58:43 -08:00
obscuren
65158d39b0 Filtering 2015-02-04 15:05:47 -08:00
obscuren
b1870631a4 WIP miner 2015-02-04 05:53:22 -08:00
Gustav Simonsson
697c2b5dc1 Correct block parent timestamp check and typos 2015-02-03 23:09:39 +01:00
obscuren
30fa30bd4a Docs & old code removed 2015-02-02 20:02:00 -08:00
obscuren
f3e78c8f3c reworking messages => log 2015-01-28 10:23:18 +01:00
obscuren
0045ce4cde Future blocks not allowed 2015-01-22 00:24:30 +01:00
obscuren
7394ee7c72 Fixed difficulty
Difficulty was broken when refactored.
2015-01-18 15:45:54 +01:00
obscuren
82beaabf6a Fixed consensus issue 2015-01-13 14:57:51 +01:00
obscuren
491c23a728 Moved the TD method from block processor. 2015-01-09 22:42:36 +01:00
obscuren
351516c57c Cast to string for hashable type 2015-01-09 22:23:33 +01:00
obscuren
905b8cc82f mem fixes for vm. Changed uncle inclusion tests 2015-01-09 17:38:35 +01:00
obscuren
fed3e6a808 Refactored ethutil.Config.Db out 2015-01-07 13:17:48 +01:00
obscuren
25e6c4eff8 Adjusted difficulty and skip get tx messages 2015-01-06 14:02:47 +01:00
obscuren
cc7f8f58e8 Limit block extra to 1024 2015-01-06 00:17:05 +01:00
obscuren
b0854fbff5 BlockManager => BlockProcessor 2015-01-05 11:22:02 +01:00
obscuren
c1dee15144 BlockManager => BlockProcessor 2015-01-05 00:18:44 +01:00