Jeffrey Wilcke
b1a219b0ec
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.
9 years ago
Jeffrey Wilcke
487b3b0f7b
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.
9 years ago
Jeffrey Wilcke
8b5a65c14a
core/vm: added str to op
9 years ago
Jeffrey Wilcke
819ecd4508
miner, xeth: fire log event during mining. Fix return raw tx
9 years ago
Gustav Simonsson
5d6d40f329
Use uint64 on ts in chain_manager, block_processor
9 years ago
Felix Lange
4fb28e0dab
all: goimports -w
9 years ago
Felix Lange
bdae4fd573
all: add some godoc synopsis comments
9 years ago
Felix Lange
ea54283b30
all: update license information
9 years ago
Jeffrey Wilcke
666a7dda36
core, eth, rpc: proper gas used. Closes #1417
...
Added some additional backward compatibility code for old receipts
9 years ago
Jeffrey Wilcke
e6bb9c1cad
core, miner: removed vm errors from consensus err checking
...
Removed VM errors from the consensus errors. They now used for output
only.
9 years ago
Felix Lange
ec9620fb2f
core/types, xeth: separate tx hash and tx signature hash
9 years ago
Jeffrey Wilcke
bcc1660abc
core, miner, tests: added test, implemented bad block reporting
9 years ago
Taylor Gerring
cd4cc309ae
Remove redundant function
9 years ago
Gustav Simonsson
0f04af5916
Fix core error forwarding, unify OOG VM err
9 years ago
Taylor Gerring
481b221279
Decode full receipt storage
9 years ago
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.
9 years ago
Jeffrey Wilcke
08caeedd84
core, core/state: only write necessary state. Skip intermediate
9 years ago
Jeffrey Wilcke
2feb23c1da
core, eth, miner, xeth: receipt storage fix
...
* Added GetReceiptsFromBlock, GetReceipt, PutReceipts
* Added ContractAddress to receipt. See #1042
9 years ago
Taylor Gerring
6afdc52483
Prevent debug value from printing on console
9 years ago
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
9 years ago
Vitalik Buterin
744af9f497
Switched canary addresses
9 years ago
Jeffrey Wilcke
529fb7a7d7
core, xeth: core.AddressFromMessage removed => crypto.CreateAddress
9 years ago
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.
9 years ago
Jeffrey Wilcke
29ab1fa8a5
core, cmd/geth: recover by number
9 years ago
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)
9 years ago
Jeffrey Wilcke
c14f0a4471
core: added checkpoint for last block
...
* Add a checkpoint every X blocks
* Removed queued write
9 years ago
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.
9 years ago
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.
9 years ago
Gustav Simonsson
4c490db6af
Use uint64 for block header timestamp
9 years ago
Péter Szilágyi
5f3792c2a7
cmd/geth: decent error message if metrics are disabled
9 years ago
Péter Szilágyi
01fe972113
cmd, core, eth, metrics, p2p: require enabling metrics
9 years ago
Jeffrey Wilcke
992e4f83cb
core: replaced BlockCache with lru.Cache
9 years ago
Jeffrey Wilcke
e349fac97d
core: fixed tests
9 years ago
Jeffrey Wilcke
aba901e13c
core: removed write's go routine
9 years ago
obscuren
07db098ccf
core: renamed next to pending & fixed tests
9 years ago
obscuren
855e76fddd
core: reduced cache limit to 256
9 years ago
obscuren
6ca3a44638
core: switched to proper LRU
9 years ago
obscuren
4460dc9d1a
core: added LRU caching and added batch writing when LDB is used
9 years ago
Felix Lange
76821d167a
core, eth, rpc: avoid unnecessary block header copying
9 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.
9 years ago
Felix Lange
d0bb90c69e
core: generate benchmark keys only once
9 years ago
Felix Lange
992dc74efd
core: avoid duplicate calls to Transaction.Data
9 years ago
Felix Lange
0b22ad99c1
core: optimize IntrinsicGas
9 years ago
Felix Lange
a8889b092b
core/types: cache computed block values
9 years ago
Felix Lange
11b8d1df59
core/types: cache computed transaction values
9 years ago
Felix Lange
c3d6228023
core: add InsertChain benchmarks
9 years ago
Felix Lange
ceaf1c080b
core: add GenerateChain, GenesisBlockForTesting
9 years ago
Felix Lange
1d42888d30
core/types: make blocks immutable
9 years ago
Felix Lange
654564e164
core/types: make transactions immutable
9 years ago
Jeffrey Wilcke
b39042db56
core, miner: implemented canary
9 years ago