Commit Graph

170 Commits

Author SHA1 Message Date
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.
2015-06-15 16:46:45 +02:00
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.
2015-06-12 16:52:54 +02:00
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.
2015-06-12 13:41:34 +02:00
obscuren 1774c49456 core: log tx count for each set of blocks we're importing 2015-06-10 12:57:58 +02:00
Péter Szilágyi d652a58ada core: fix a race condition accessing the gas limit 2015-06-09 21:13:21 +03:00
Péter Szilágyi fecf214175 core: fix a lock annoyance and potential deadlock 2015-06-09 21:02:26 +03:00
Péter Szilágyi ebf2aabd25 core: fix up a deadlock caused by double locking 2015-06-09 16:26:44 +03:00
Péter Szilágyi ca8cb65b73 core: fix data race accessing ChainManager.currentBlock 2015-06-09 15:30:46 +03:00
Péter Szilágyi 07baf66200 core: fix data race in accessing ChainManager.td 2015-06-09 15:23:20 +03:00
obscuren a5b977aa90 core: write accounts to statedb. Closes #1210 2015-06-09 11:37:01 +02:00
Jeffrey Wilcke 0f1cdfa53a Merge pull request #1193 from tgerring/hotbackup
Improve export command
2015-06-08 16:32:38 -07:00
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.
2015-06-08 18:33:43 +02:00
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.
2015-06-08 02:19:39 +02:00
Taylor Gerring 4ab0cedf42 Export should start with block 0 2015-06-06 10:59:56 -04:00
Taylor Gerring ed621aae33 Cleanup 2015-06-06 09:50:23 -04:00
Taylor Gerring 89c9320d80 Allow exporting subset of chain 2015-06-05 23:01:54 -04:00
obscuren 7ab87f9f6e wip 2015-06-05 17:33:30 +02:00
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).
2015-06-03 22:43:23 +02:00
obscuren 770a0e7839 wip 2015-06-03 22:39:17 +02:00
Felix Lange 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
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.
2015-06-01 12:47:13 +02:00
Felix Lange 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
Péter Szilágyi b7fc85d68e core: fix #1154, sort out data race accessing the future blocks 2015-05-29 23:46:10 +03:00
obscuren 12b90600eb core: moved guards 2015-05-28 18:18:23 +02:00
obscuren 109f995684 core: log block hash during nonce error 2015-05-28 15:46:36 +02:00
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
2015-05-28 15:35:50 +02:00
Péter Szilágyi 29b0480cfb core, eth/downloader: expose the bad hashes, check in downloader 2015-05-28 14:03:10 +03:00
obscuren 7595716816 core: adjust gas calculation 2015-05-27 17:01:28 +02:00
obscuren c37389f19c core: check negative value transactions. Closes #1109 2015-05-26 20:38:26 +02:00
obscuren eae0927597 core: prevent crash when last block fails 2015-05-26 15:35:51 +02:00
obscuren 7d9a13e0d5 core: disable cash tmp 2015-05-19 12:59:58 +02:00
obscuren 59c0d01418 core: chain manager no longer exports genesis block 2015-05-18 18:16:53 +02: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 27782bbade core: global chain insert lock 2015-05-17 00:55:02 +02:00
obscuren 5cec1aad15 core, miner: fork resolving and restart miner after sync op
Fork resolving fixes #940
2015-05-15 20:26:15 +02:00
obscuren f6669db001 core: fixed mining strategy 2015-05-15 12:24:29 +02:00
obscuren 0f76a1c6df core: changed how head events are checked 2015-05-15 00:42:06 +02:00
obscuren b19bf3ec78 core: changed log message for forks. closes #952 2015-05-14 17:16:46 +02:00
zelig 009b221692 solidity compiler and contract metadocs integration
* common/compiler: solidity compiler + tests
* rpc: eth_compilers, eth_compileSolidity + tests
* fix natspec test using keystore API, notice exp dynamically changes addr, cleanup
* resolver implements registrars and needs to create reg contract (temp)
* xeth: solidity compiler. expose getter Solc() and paths setter SetSolc(solcPath)
* ethereumApi: implement compiler related RPC calls using XEth - json struct tests
* admin: make use of XEth.SetSolc to allow runtime setting of compiler paths
* cli: command line flags solc to set custom solc bin path
* js admin api with new features debug and contractInfo modules
* wiki is the doc https://github.com/ethereum/go-ethereum/wiki/Contracts-and-Transactions
2015-05-07 12:58:21 +02:00
Gustav Simonsson 2808409fbd Add genesis block total difficulty in tests 2015-05-06 23:22:49 +02:00
obscuren 37770ed0d3 core: added unix timestamp to debug output for block proc 2015-05-03 21:49:19 +02:00
obscuren c5b8acbaf0 core: print ignored blocks 2015-05-03 14:09:50 +02:00
obscuren c6ad3aec05 eth,core: changed NewTicker to Tick 2015-05-03 13:27:37 +02:00
obscuren b298928c49 core: added 'ignored' status 2015-05-01 16:00:30 +02:00
obscuren 15873fafc0 core: added a wait group to chain manager for graceful shutdown 2015-04-30 17:50:47 +02:00
obscuren e4dba36892 core: check for parent in calc TD. TD = (N != 0 == parent.TD) || (== D) 2015-04-30 14:55:21 +02:00
obscuren 28b39267d9 core, eth: verify td of received blocks 2015-04-30 13:50:59 +02:00
obscuren 2590a7dabb core: added some additional chain tests for shortest chain 2015-04-30 00:14:41 +02:00
obscuren 735b029db9 core: return the index of the block that failed when inserting a chain 2015-04-29 14:00:24 +02:00
obscuren 4e07967711 core: fixed chain reorg during splits
Chain reorgs weren't properly handled when a chain was further ahead.
Previously we'd end up with mixed chains in our canonical numbering
sequence. Added test for this type of forking.

```
     /-o-o-o   A
o-C-+
     \-o-o-o-o B
```

Ends up with with C A1, A2, A3, B4
2015-04-29 12:51:05 +02:00