Jeffrey Wilcke
e17d8ddbeb
core: during chain reorg rewrite receipts and transactions
...
Added PutBlockReceipts; storing receipts by blocks. Eventually this will
require pruning during some cleanup cycle. During forks the receipts by
block are used to get the new canonical receipts and transactions.
This PR fixes #1473 by rewriting transactions and receipts from the point
of where the fork occured.
2015-07-14 18:40:03 +02:00
Gustav Simonsson
5d6d40f329
Use uint64 on ts in chain_manager, block_processor
2015-07-08 13:21:06 +02:00
Felix Lange
ea54283b30
all: update license information
2015-07-07 14:12:44 +02:00
Jeffrey Wilcke
666a7dda36
core, eth, rpc: proper gas used. Closes #1417
...
Added some additional backward compatibility code for old receipts
2015-07-06 21:18:24 +02:00
Jeffrey Wilcke
e6bb9c1cad
core, miner: removed vm errors from consensus err checking
...
Removed VM errors from the consensus errors. They now used for output
only.
2015-07-06 12:43:05 +02:00
Gustav Simonsson
0f04af5916
Fix core error forwarding, unify OOG VM err
2015-07-04 09:27:42 +02:00
Jeffrey Wilcke
ab16ce70fc
core, miner, tests: renamed state methods
...
* Update => SyncIntermediate
* Added SyncObjects
SyncIntermediate only updates whatever has changed, but, as a side
effect, requires much more disk space.
SyncObjects will only sync whatever is required for a block and will not
save intermediate state to disk. As drawback this requires more time
when more txs come in.
2015-07-04 02:51:36 +02:00
Jeffrey Wilcke
08caeedd84
core, core/state: only write necessary state. Skip intermediate
2015-07-04 02:51:36 +02:00
Jeffrey Wilcke
2feb23c1da
core, eth, miner, xeth: receipt storage fix
...
* Added GetReceiptsFromBlock, GetReceipt, PutReceipts
* Added ContractAddress to receipt. See #1042
2015-07-04 02:32:10 +02:00
Jeffrey Wilcke
29e2fb38f8
core, miner: miner header validation, transaction & receipt writing
...
* Miners do now verify their own header, not their state.
* Changed old putTx and putReceipts to be exported
* Moved writing of transactions and receipts out of the block processer
in to the chain manager. Closes #1386
* Miner post ChainHeadEvent & ChainEvent. Closes #1388
2015-07-03 13:56:50 +02:00
Gustav Simonsson
4c490db6af
Use uint64 for block header timestamp
2015-06-30 10:52:11 +02:00
Felix Lange
76821d167a
core, eth, rpc: avoid unnecessary block header copying
2015-06-29 18:51:48 +02:00
Felix Lange
fccc7d71eb
core: remove superfluous big.Int allocations
...
With blocks now being immutable, use big.Int values from
accessor functions instead of copying their results.
2015-06-29 18:51:48 +02:00
Felix Lange
1d42888d30
core/types: make blocks immutable
2015-06-29 18:51:47 +02:00
obscuren
07c3de3f75
core, miner, xeth: renamed gas methods
...
* BuyGas => SubGas
* RefundGas => AddGas
* SetGasPool => SetGasLimit
2015-06-21 17:09:19 +02:00
obscuren
15e169e5b6
core: ValidatedHeader (method => function)
...
Changed header validation method to function in preparation of
@karalabe's PR.
2015-06-18 11:47:50 +02:00
obscuren
f5abc9f188
core, core/vm: state improvements and tx pool speed up
...
Removed full tx validation during state transitions
2015-06-17 17:10:22 +02:00
obscuren
753d62a4dd
core: TMP testing code
2015-06-17 17:10:13 +02:00
zsfelfoldi
3c7b64ce20
removed duplicate function after rebase
2015-06-15 15:55:39 +02:00
zsfelfoldi
3f94d09c1f
fixed saving receipts
2015-06-15 15:55:38 +02:00
obscuren
02d629af8f
core/vm: fixed printable characters using unicode instead
2015-06-12 11:18:17 +02:00
obscuren
37111aa4bd
core: retry block now also parellise nonce checks
2015-06-11 12:06:05 +02:00
Felix Lange
ec7a2c3442
core: don't remove transactions after block processing
...
The transaction pool drops processed transactions on its own
during pool maintenance.
2015-06-03 22:43:23 +02:00
obscuren
770a0e7839
wip
2015-06-03 22:39:17 +02:00
Gustav Simonsson
55bf5051ad
Unsupport bruncles
2015-06-01 22:43:05 +02:00
obscuren
e3253b5d5e
core: fixed an issue with storing receipts
2015-05-28 01:00:23 +02:00
Jeffrey Wilcke
8951a03db3
Merge pull request #1121 from obscuren/miner_time_fix
...
Miner time fix
2015-05-27 04:51:42 -07:00
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