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
a32c51effd
cmd, core, eth, common: genesis preparation
...
Implemented the --genesis flag thru which we can set a custom genesis
block, including the official Ethereum genesis block.
2015-07-10 17:37:41 +02:00
5d6d40f329
Use uint64 on ts in chain_manager, block_processor
2015-07-08 13:21:06 +02:00
bdae4fd573
all: add some godoc synopsis comments
2015-07-07 14:12:45 +02:00
ea54283b30
all: update license information
2015-07-07 14:12:44 +02:00
bcc1660abc
core, miner, tests: added test, implemented bad block reporting
2015-07-05 15:14:31 +02:00
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
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
70d5d791cc
core, cmd/geth: improved recover functionality
...
`geth recover` now accepts both hashes and numbers using "#" and no
longer requires the ethereum instance.
2015-07-01 16:34:35 +02:00
bb418a43c1
Merge pull request #1370 from obscuren/force-checkpoint
...
core, cmd/geth: recover by number
2015-07-01 03:57:13 -07:00
29ab1fa8a5
core, cmd/geth: recover by number
2015-07-01 00:52:44 +02:00
c14f0a4471
core: added checkpoint for last block
...
* Add a checkpoint every X blocks
* Removed queued write
2015-06-30 17:27:47 +02:00
d8fe64acaa
core, miner: added queued write to WriteBlock
...
This fixes an issue with the lru cache not being available when calling
WriteBlock. WriteBlock previously always assumed to be called from the
InsertChain where the lru cache was always created prior to calling
WriteBlock. When being called from the worker this could lead in to a
nil pointer exception being thrown and causing database corruption.
2015-06-30 11:14:43 +02:00
4c490db6af
Use uint64 for block header timestamp
2015-06-30 10:52:11 +02:00
5f3792c2a7
cmd/geth: decent error message if metrics are disabled
2015-06-30 00:57:55 +02:00
01fe972113
cmd, core, eth, metrics, p2p: require enabling metrics
2015-06-30 00:51:46 +02:00
992e4f83cb
core: replaced BlockCache with lru.Cache
2015-06-30 00:36:25 +02:00
a8ebf756c7
Merge branch 'miner-broadcast' into core-optimisations-2
...
Conflicts:
core/chain_manager.go
miner/worker.go
2015-06-29 18:55:49 +02:00
e349fac97d
core: fixed tests
2015-06-29 18:51:49 +02:00
aba901e13c
core: removed write's go routine
2015-06-29 18:51:49 +02:00
07db098ccf
core: renamed next to pending & fixed tests
2015-06-29 18:51:49 +02:00
855e76fddd
core: reduced cache limit to 256
2015-06-29 18:51:49 +02:00
6ca3a44638
core: switched to proper LRU
2015-06-29 18:51:49 +02:00
4460dc9d1a
core: added LRU caching and added batch writing when LDB is used
2015-06-29 18:51:49 +02:00
76821d167a
core, eth, rpc: avoid unnecessary block header copying
2015-06-29 18:51:48 +02:00
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
1d42888d30
core/types: make blocks immutable
2015-06-29 18:51:47 +02:00
d1e93db3eb
core, miner: added write block method & changed mining propagation
2015-06-29 13:31:49 +02:00
792b0ddccd
core, eth, eth/fetcher, ethdb: polish metrics gathering a bit
2015-06-24 18:34:04 +03:00
43e4a6501b
core, ethdb: instrument the block and state db
...
Conflicts:
ethdb/database.go
2015-06-24 18:34:04 +03:00
7f92e708c5
cmd/geth, core: impl. percentile reporting, instrument insertions
2015-06-24 18:34:04 +03:00
c590b505ed
core, ethdb, trie: validate database errors
2015-06-21 16:59:15 +02:00
e79cc42dfe
core: moved check for max queue to checkQueue
...
Moved the queue to check to the checkQueue method so no undeeded loops
need to be initiated or sorting needs to happen twice.
2015-06-15 16:46:45 +02:00
645dfd9693
core: changed interrupt strategy
...
Removed chain manager's select/channel approach when checking for
interrupts. Now using an atomic int32 instead which checked for every
block processed.
2015-06-12 16:52:54 +02:00
90c4493a10
eth, core: interupt the chain processing on stop
...
Added an additional channel which is used to interupt the chain manager
when it's processing blocks.
2015-06-12 13:41:34 +02:00
1774c49456
core: log tx count for each set of blocks we're importing
2015-06-10 12:57:58 +02:00
d652a58ada
core: fix a race condition accessing the gas limit
2015-06-09 21:13:21 +03:00
fecf214175
core: fix a lock annoyance and potential deadlock
2015-06-09 21:02:26 +03:00
ebf2aabd25
core: fix up a deadlock caused by double locking
2015-06-09 16:26:44 +03:00
ca8cb65b73
core: fix data race accessing ChainManager.currentBlock
2015-06-09 15:30:46 +03:00
07baf66200
core: fix data race in accessing ChainManager.td
2015-06-09 15:23:20 +03:00
a5b977aa90
core: write accounts to statedb. Closes #1210
2015-06-09 11:37:01 +02:00
0f1cdfa53a
Merge pull request #1193 from tgerring/hotbackup
...
Improve export command
2015-06-08 16:32:38 -07:00
6244b10a8f
core: settable genesis nonce
...
You can set the nonce of the block with `--genesisnonce`. When the
genesis nonce changes and it doesn't match with the first block in your
database it will fail. A new `datadir` must be given if the nonce of the
genesis block changes.
2015-06-08 18:33:43 +02:00
0b493910d3
core: fix the nonce check one more time
...
The block nonce verification was effectively disabled by a typo.
This time, there is an actual test for it.
2015-06-08 02:19:39 +02:00
4ab0cedf42
Export should start with block 0
2015-06-06 10:59:56 -04:00
ed621aae33
Cleanup
2015-06-06 09:50:23 -04:00
89c9320d80
Allow exporting subset of chain
2015-06-05 23:01:54 -04:00
7ab87f9f6e
wip
2015-06-05 17:33:30 +02:00
d09a6e5421
core, eth, miner: moved nonce management to tx pool.
...
Removed the managed tx state from the chain manager to the transaction
pool where it's much easier to keep track of nonces (and manage them).
The transaction pool now also uses the queue and pending txs differently
where queued txs are now moved over to the pending queue (i.e. txs ready
for processing and propagation).
2015-06-03 22:43:23 +02:00