Jeffrey Wilcke
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.
10 years ago
Péter Szilágyi
5f3792c2a7
cmd/geth: decent error message if metrics are disabled
10 years ago
Péter Szilágyi
01fe972113
cmd, core, eth, metrics, p2p: require enabling metrics
10 years ago
Jeffrey Wilcke
992e4f83cb
core: replaced BlockCache with lru.Cache
10 years ago
Jeffrey Wilcke
e349fac97d
core: fixed tests
10 years ago
Jeffrey Wilcke
aba901e13c
core: removed write's go routine
10 years ago
obscuren
07db098ccf
core: renamed next to pending & fixed tests
10 years ago
obscuren
855e76fddd
core: reduced cache limit to 256
10 years ago
obscuren
6ca3a44638
core: switched to proper LRU
10 years ago
obscuren
4460dc9d1a
core: added LRU caching and added batch writing when LDB is used
10 years ago
Felix Lange
76821d167a
core, eth, rpc: avoid unnecessary block header copying
10 years ago
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.
10 years ago
Felix Lange
1d42888d30
core/types: make blocks immutable
10 years ago
Jeffrey Wilcke
d1e93db3eb
core, miner: added write block method & changed mining propagation
10 years ago
Péter Szilágyi
792b0ddccd
core, eth, eth/fetcher, ethdb: polish metrics gathering a bit
10 years ago
Péter Szilágyi
43e4a6501b
core, ethdb: instrument the block and state db
...
Conflicts:
ethdb/database.go
10 years ago
Péter Szilágyi
7f92e708c5
cmd/geth, core: impl. percentile reporting, instrument insertions
10 years ago
obscuren
c590b505ed
core, ethdb, trie: validate database errors
10 years ago
obscuren
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.
10 years ago
obscuren
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.
10 years ago
obscuren
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.
10 years ago
obscuren
1774c49456
core: log tx count for each set of blocks we're importing
10 years ago
Péter Szilágyi
d652a58ada
core: fix a race condition accessing the gas limit
10 years ago
Péter Szilágyi
fecf214175
core: fix a lock annoyance and potential deadlock
10 years ago
Péter Szilágyi
ebf2aabd25
core: fix up a deadlock caused by double locking
10 years ago
Péter Szilágyi
ca8cb65b73
core: fix data race accessing ChainManager.currentBlock
10 years ago
Péter Szilágyi
07baf66200
core: fix data race in accessing ChainManager.td
10 years ago
obscuren
a5b977aa90
core: write accounts to statedb. Closes #1210
10 years ago
obscuren
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.
10 years ago
Felix Lange
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.
10 years ago
Taylor Gerring
4ab0cedf42
Export should start with block 0
10 years ago
Taylor Gerring
ed621aae33
Cleanup
10 years ago
Taylor Gerring
89c9320d80
Allow exporting subset of chain
10 years ago
obscuren
7ab87f9f6e
wip
10 years ago
obscuren
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).
10 years ago
obscuren
770a0e7839
wip
10 years ago
Felix Lange
55b60e699b
core: insert less length zero chains
...
This reduces the amount of queueEvents that are sent internally.
10 years ago
Felix Lange
e7e2cbfc01
core: re-add parallel nonce checks
...
In this incancation, the processor waits until the nonce
has been verified before handling the block.
10 years ago
Péter Szilágyi
b7fc85d68e
core: fix #1154 , sort out data race accessing the future blocks
10 years ago
obscuren
12b90600eb
core: moved guards
10 years ago
obscuren
109f995684
core: log block hash during nonce error
10 years ago
obscuren
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
10 years ago
Péter Szilágyi
29b0480cfb
core, eth/downloader: expose the bad hashes, check in downloader
10 years ago
obscuren
7595716816
core: adjust gas calculation
10 years ago
obscuren
c37389f19c
core: check negative value transactions. Closes #1109
10 years ago
obscuren
eae0927597
core: prevent crash when last block fails
10 years ago
obscuren
7d9a13e0d5
core: disable cash tmp
10 years ago
obscuren
59c0d01418
core: chain manager no longer exports genesis block
10 years ago
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
10 years ago
obscuren
27782bbade
core: global chain insert lock
10 years ago