Gustav Simonsson
bfde1a4305
core: Add BadHashErr and test for BadHashes handling
9 years ago
Felix Lange
70b6174748
cmd/geth, core: make "geth blocktest" work again
...
The test genesis block was not written properly, block insertion failed
immediately.
While here, fix the panic when shutting down "geth blocktest" with
Ctrl+C. The signal handler is now installed automatically, causing
ethereum.Stop to crash because everything is already stopped.
9 years ago
Jeffrey Wilcke
eaa4473dbd
core, core/types: readd transactions after chain re-org
...
Added a `Difference` method to `types.Transactions` which sets the
receiver to the difference of a to b (NOTE: not a **and** b).
Transaction pool subscribes to RemovedTransactionEvent adding back to
those potential missing from the chain.
When a chain re-org occurs remove any transactions that were removed
from the canonical chain during the re-org as well as the receipts that
were generated in the process.
Closes #1746
9 years ago
Péter Szilágyi
399c920380
core: separate and contain POW verifier, extensive tests
9 years ago
Jeffrey Wilcke
b60a27627b
core: transaction nonce recovery fix
...
When the transaction state recovery kicked in it assigned the last
(incorrect) nonce to the pending state which caused transactions with
the same nonce to occur.
Added test for nonce recovery
9 years ago
Péter Szilágyi
6f3cb12924
core: allow modifying test-chain block times
9 years ago
Péter Szilágyi
821619e1c3
core, eth, miner: use pure header validation
9 years ago
Felix Lange
8c4dab77ba
all: move common.Database to package ethdb
9 years ago
Péter Szilágyi
cdc2662c40
core: split out TD from database and all internals
9 years ago
Péter Szilágyi
2b339cbbd8
core, eth: split the db blocks into headers and bodies
9 years ago
Gustav Simonsson
b81a6e6ab8
core, core/vm, core/state: remove unused functions
9 years ago
Gustav Simonsson
bf879ef230
core/state: test formatting adhering to Go convention
9 years ago
Gustav Simonsson
004ed786b4
core/state: deleted field in StateObject Copy() and unit test
9 years ago
Felix Lange
00b45acb9e
core: improve block gas tracking
9 years ago
Maran
67225de255
Filter on addresses should work as an OR not an AND.
9 years ago
Péter Szilágyi
47a7fe5d22
eth: port the synchronisation algo to eth/62
9 years ago
Gustav Simonsson
7324176f70
Add tests for uncle timestamps and refactor timestamp type
9 years ago
Jeffrey Wilcke
3793991c0e
remove 0x
9 years ago
Jeffrey Wilcke
b884d6ebaa
canary update
9 years ago
Jeffrey Wilcke
36f7fe61c3
core, tests: Double SUICIDE fix
9 years ago
Jeffrey Wilcke
b4369e1015
core, miner: write miner receipts
9 years ago
Jeffrey Wilcke
9cacec70f9
cmd/evm, core/vm, tests: changed DisableVm to EnableVm
9 years ago
Jeffrey Wilcke
32395ddb89
core/vm: fixed jit error & added inline docs
...
opNumber did not create a new big int which could lead to the block's
number being modified.
9 years ago
Jeffrey Wilcke
eec38c5853
cmd/geth, core/vm: setup vm settings and defaulted JIT disabled
9 years ago
Jeffrey Wilcke
a23478c0be
core, eth, trie, xeth: merged state, chain, extra databases in one
9 years ago
Jeffrey Wilcke
ac697326a6
core/vm: reduced big int allocations
...
Reduced big int allocation by making stack items modifiable. Instead of
adding items such as `common.Big0` to the stack, `new(big.Int)` is
added instead. One must expect that any item that is added to the stack
might change.
9 years ago
Jeffrey Wilcke
184e9ae9a8
core, tests: reduced state copy by N calls
...
Reduced the amount of state copied that are required by N calls by doing
a balance check prior to any state modifications.
9 years ago
Jeffrey Wilcke
846f34f78b
core/vm, tests: implemented semi-jit vm
...
* changed stack and removed stack ptr. Let go decide on slice reuse.
9 years ago
Jeffrey Wilcke
74f6d90153
cmd/utils, core: disable exp diff for olympic net
9 years ago
Jeffrey Wilcke
35f271b264
miner, core: sort txs by price, nonce
9 years ago
Jeffrey Wilcke
71d32f54f7
core, miner: added difficulty bomb
9 years ago
Gustav Simonsson
26c6e3b206
miner: gas limit strategy, target 3141592 & def gas price 50 Shannon
9 years ago
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