Jeffrey Wilcke
7a75da63c6
core: added default genesis block
...
When a user runs a freshly setup geth w/o a database initialised the
default genesis block is decoded and inserted in to the database.
9 years ago
Jeffrey Wilcke
acd2c4e520
core: added a running flag to prevent panics in the chainmanager
...
The running flag will determine whether the chain manager is still
running or not. This will prevent the quit channel from being closed
twice resulting in a panic. This PR should fix this issue.
Closes #1559
9 years ago
Jeffrey Wilcke
f715547fc7
core/state: Set log index. Closes #1226
9 years ago
Bas van Kervel
81e2124ea2
improved error detection and handling for NewTransactionFromBytes
...
integrated review comments
9 years ago
Bas van Kervel
7e31df3987
bugfix, pending transaction was resend with new gas price/limit but not removed from transaction pool
9 years ago
Jeffrey Wilcke
3530acb9e2
core: genesis extra data field fix
9 years ago
Jeffrey Wilcke
c1c895a36b
core: fixed genesis write out to write only canon number
9 years ago
Jeffrey Wilcke
9afda6ab8c
core: 5 ether block reward
9 years ago
Jeffrey Wilcke
0c718afe90
core: check genesis block before writeout
9 years ago
Jeffrey Wilcke
036e6301af
cmd/geth, core, eth: Version 1.0.0
...
Genesis release. Closes #1402
Conflicts:
cmd/geth/main.go
9 years ago
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a
.
9 years ago
Jeffrey Wilcke
8fc9830971
cmd/core,xeth: removed unneeded states & added batch writes
9 years ago
Péter Szilágyi
04bb89604e
core: fix an RLP encoding data race due to deep struct copy
9 years ago
Felix Lange
3f047be5aa
all: update license headers to distiguish GPL/LGPL
...
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
9 years ago
Péter Szilágyi
c7e7778f2a
cmd, core, eth, ethdb: cache flag to allocate memory for db internal use
9 years ago
Vitalik Buterin
8160b8618d
Fixed canary to require 2+ nonzero, not sum 2+
9 years ago
Jeffrey Wilcke
e17d8ddbeb
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
a32c51effd
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
10 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)
10 years ago
Jeffrey Wilcke
c14f0a4471
core: added checkpoint for last block
...
* Add a checkpoint every X blocks
* Removed queued write
10 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.
10 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.
10 years ago
Gustav Simonsson
4c490db6af
Use uint64 for block header timestamp
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