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
1cbab291a9
Merge pull request #1389 from obscuren/txpool-issues
...
core, miner: miner header validation, transaction & receipt writing
2015-07-03 07:50:30 -07:00
Taylor Gerring
6afdc52483
Prevent debug value from printing on console
2015-07-03 07:40:47 -05: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
Vitalik Buterin
9f6016e877
Merge branch 'develop' of github.com:ethereum/go-ethereum into develop
2015-07-02 05:27:31 -04:00
Jeffrey Wilcke
75f41dedca
Merge pull request #1378 from obscuren/issue1367
...
core, xeth: core.AddressFromMessage removed => crypto.CreateAddress
2015-07-02 02:27:20 -07:00
Vitalik Buterin
744af9f497
Switched canary addresses
2015-07-02 05:27:19 -04:00
Jeffrey Wilcke
529fb7a7d7
core, xeth: core.AddressFromMessage removed => crypto.CreateAddress
2015-07-02 11:19:10 +02:00
Jeffrey Wilcke
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
Jeffrey Wilcke
bb418a43c1
Merge pull request #1370 from obscuren/force-checkpoint
...
core, cmd/geth: recover by number
2015-07-01 03:57:13 -07:00
Jeffrey Wilcke
29ab1fa8a5
core, cmd/geth: recover by number
2015-07-01 00:52:44 +02:00
Jeffrey Wilcke
a748afce03
core: txpool listen for ChainHeadEvent instead of ChainEvent
...
Changed the transaction pool to listen for ChainHeadEvent when resetting
the state instead of ChainEvent. It makes very little sense to burst
through transactions while we are catching up (e.g., have more than one
block to process)
2015-06-30 17:27:47 +02:00
Jeffrey Wilcke
c14f0a4471
core: added checkpoint for last block
...
* Add a checkpoint every X blocks
* Removed queued write
2015-06-30 17:27:47 +02:00
Jeffrey Wilcke
61ca780f3b
core: reduce CPU load by reducing calls to checkQueue
...
* Reduced maxQueue count
* Added proper deletion past maxQueue limit
* Added cheap stats method to txpool
queueCheck was called for **every** transaction instead of:
1. add all txs
2. check queue
previously
1. add txs[i]
2. check queue
3. if i < len(txs) goto 1.
2015-06-30 14:01:12 +02:00
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.
2015-06-30 11:14:43 +02:00
Gustav Simonsson
4c490db6af
Use uint64 for block header timestamp
2015-06-30 10:52:11 +02:00
Péter Szilágyi
5f3792c2a7
cmd/geth: decent error message if metrics are disabled
2015-06-30 00:57:55 +02:00
Péter Szilágyi
01fe972113
cmd, core, eth, metrics, p2p: require enabling metrics
2015-06-30 00:51:46 +02:00
Jeffrey Wilcke
992e4f83cb
core: replaced BlockCache with lru.Cache
2015-06-30 00:36:25 +02:00
Jeffrey Wilcke
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
Jeffrey Wilcke
e349fac97d
core: fixed tests
2015-06-29 18:51:49 +02:00
Jeffrey Wilcke
aba901e13c
core: removed write's go routine
2015-06-29 18:51:49 +02:00
obscuren
07db098ccf
core: renamed next to pending & fixed tests
2015-06-29 18:51:49 +02:00
obscuren
855e76fddd
core: reduced cache limit to 256
2015-06-29 18:51:49 +02:00
obscuren
6ca3a44638
core: switched to proper LRU
2015-06-29 18:51:49 +02:00
obscuren
4460dc9d1a
core: added LRU caching and added batch writing when LDB is used
2015-06-29 18:51:49 +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
d0bb90c69e
core: generate benchmark keys only once
2015-06-29 18:51:48 +02:00
Felix Lange
992dc74efd
core: avoid duplicate calls to Transaction.Data
2015-06-29 18:51:48 +02:00
Felix Lange
0b22ad99c1
core: optimize IntrinsicGas
2015-06-29 18:51:48 +02:00
Felix Lange
a8889b092b
core/types: cache computed block values
2015-06-29 18:51:48 +02:00
Felix Lange
11b8d1df59
core/types: cache computed transaction values
2015-06-29 18:51:48 +02:00
Felix Lange
c3d6228023
core: add InsertChain benchmarks
2015-06-29 18:51:47 +02:00
Felix Lange
ceaf1c080b
core: add GenerateChain, GenesisBlockForTesting
2015-06-29 18:51:47 +02:00
Felix Lange
1d42888d30
core/types: make blocks immutable
2015-06-29 18:51:47 +02:00
Felix Lange
654564e164
core/types: make transactions immutable
2015-06-29 18:51:47 +02:00
Jeffrey Wilcke
b39042db56
core, miner: implemented canary
2015-06-29 13:31:49 +02:00
Jeffrey Wilcke
d1e93db3eb
core, miner: added write block method & changed mining propagation
2015-06-29 13:31:49 +02:00
Péter Szilágyi
792b0ddccd
core, eth, eth/fetcher, ethdb: polish metrics gathering a bit
2015-06-24 18:34:04 +03:00
Péter Szilágyi
43e4a6501b
core, ethdb: instrument the block and state db
...
Conflicts:
ethdb/database.go
2015-06-24 18:34:04 +03:00
Péter Szilágyi
7f92e708c5
cmd/geth, core: impl. percentile reporting, instrument insertions
2015-06-24 18:34:04 +03:00
Bas van Kervel
a4a4e9fcf8
removed old rpc structure and added new inproc api client
2015-06-22 09:17:09 +02:00
Jeffrey Wilcke
9cf7913c61
Merge pull request #1304 from obscuren/state-renames
...
core, miner, xeth: renamed gas methods
2015-06-21 16:49:47 -07:00
obscuren
07c3de3f75
core, miner, xeth: renamed gas methods
...
* BuyGas => SubGas
* RefundGas => AddGas
* SetGasPool => SetGasLimit
2015-06-21 17:09:19 +02:00
obscuren
c590b505ed
core, ethdb, trie: validate database errors
2015-06-21 16:59:15 +02:00
obscuren
430bcdb219
core/vm: clarified SSTORE
2015-06-18 12:25:02 +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