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
770a0e7839
wip
2015-06-03 22:39:17 +02:00
55b60e699b
core: insert less length zero chains
...
This reduces the amount of queueEvents that are sent internally.
2015-06-01 12:48:12 +02:00
e7e2cbfc01
core: re-add parallel nonce checks
...
In this incancation, the processor waits until the nonce
has been verified before handling the block.
2015-06-01 12:47:13 +02:00
a906a84950
Merge pull request #1155 from karalabe/fix-chainmanager-datarace
...
core: fix #1154 , sort out data race accessing the future blocks
2015-05-30 01:21:09 +02:00
b7fc85d68e
core: fix #1154 , sort out data race accessing the future blocks
2015-05-29 23:46:10 +03:00
12b90600eb
core: moved guards
2015-05-28 18:18:23 +02:00
109f995684
core: log block hash during nonce error
2015-05-28 15:46:36 +02:00
75f5ae80fd
core: partially removed nonce parallelisation and added merge error chk
...
Invalid forks are now detected
Current setup of parellelisation actually inserts bad blocks. This fix
is tmp until a better one is found
2015-05-28 15:35:50 +02:00
29b0480cfb
core, eth/downloader: expose the bad hashes, check in downloader
2015-05-28 14:03:10 +03:00
7595716816
core: adjust gas calculation
2015-05-27 17:01:28 +02:00
c37389f19c
core: check negative value transactions. Closes #1109
2015-05-26 20:38:26 +02:00
eae0927597
core: prevent crash when last block fails
2015-05-26 15:35:51 +02:00
7d9a13e0d5
core: disable cash tmp
2015-05-19 12:59:58 +02:00
59c0d01418
core: chain manager no longer exports genesis block
2015-05-18 18:16:53 +02:00
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
27782bbade
core: global chain insert lock
2015-05-17 00:55:02 +02:00