Péter Szilágyi
7f00e8c033
core, eth: enforce network split post DAO hard-fork
8 years ago
zsfelfoldi
f9917c8c7b
core: improved chainDb using sequential keys
9 years ago
Péter Szilágyi
32559ccad1
eth: don't accept transactions until we sync up with the network
9 years ago
Felix Lange
ca18202eb9
eth: enable bad block reports
...
We used to have reporting of bad blocks, but it was disabled
before the Frontier release. We need it back because users
are usually unable to provide the full RLP data of a bad
block when it occurs.
A shortcoming of this particular implementation is that the
origin peer is not tracked for blocks received during eth/63
sync. No origin peer info is still better than no report at
all though.
9 years ago
Péter Szilágyi
d87f7a1e81
eth: skip transaction handling during fast sync
9 years ago
Felix Lange
56ed6152a1
core, eth, miner: improve shutdown synchronisation
...
Shutting down geth prints hundreds of annoying error messages in some
cases. The errors appear because the Stop method of eth.ProtocolManager,
miner.Miner and core.TxPool is asynchronous. Left over peer sessions
generate events which are processed after Stop even though the database
has already been closed.
The fix is to make Stop synchronous using sync.WaitGroup.
For eth.ProtocolManager, in order to make use of WaitGroup safe, we need
a way to stop new peer sessions from being added while waiting on the
WaitGroup. The eth protocol Run function now selects on a signaling
channel and adds to the WaitGroup only if ProtocolManager is not
shutting down.
For miner.worker and core.TxPool the number of goroutines is static,
WaitGroup can be used in the usual way without additional
synchronisation.
9 years ago
Felix Lange
6fdd0893c3
all: fix go vet warnings
9 years ago
Jeffrey Wilcke
f0cbebb19f
core: added basic chain configuration
...
Added chain configuration options and write out during genesis database
insertion. If no "config" was found, nothing is written to the database.
Configurations are written on a per genesis base. This means
that any chain (which is identified by it's genesis hash) can have their
own chain settings.
9 years ago
Leif Jurvetson
bbbe2360d0
eth: various typos
9 years ago
Péter Szilágyi
ae4982a365
eth: forward empty body responses to the downlaoder
9 years ago
Bas van Kervel
6e7620afe0
eth: changed NodeInfo Genesis and Head types
9 years ago
Péter Szilágyi
9e011ff1cd
core, eth/downloader: ensure state presence in ancestor lookup
9 years ago
Péter Szilágyi
e51eeb8104
eth: fix #2076 , where end of hash query was interpreted number query
9 years ago
Péter Szilágyi
e46ab3bdcd
eth, p2p, rpc/api: polish protocol info gathering
9 years ago
Péter Szilágyi
5b0ee8ec30
core, eth, trie: fix data races and merge/review issues
9 years ago
Péter Szilágyi
aa0538db0b
eth: clean out light node notions from eth
9 years ago
Péter Szilágyi
a9d8dfc8e7
core, eth: roll back uncertain headers in failed fast syncs
9 years ago
Péter Szilágyi
ab27bee25a
core, eth, trie: direct state trie synchronization
9 years ago
Péter Szilágyi
832b37c822
core, eth: receipt chain reconstruction
9 years ago
Péter Szilágyi
f186b39018
eth/downloader: add fast and light sync strategies
9 years ago
Péter Szilágyi
c33cc382b3
core: support inserting pure header chains
9 years ago
Péter Szilágyi
92f9a3e5fa
cmd, eth: support switching client modes of operation
9 years ago
Péter Szilágyi
402fd6e8c6
core, eth, event, miner, xeth: fix event post / subscription race
9 years ago
Jeffrey Wilcke
7c7692933c
cmd/geth, cmd/utils, core, rpc: renamed to blockchain
...
* Renamed ChainManager to BlockChain
* Checkpointing is no longer required and never really properly worked
when the state was corrupted.
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
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
Péter Szilágyi
42f44dda54
eth, eth/downloader: handle header requests, table driven proto tests
9 years ago
Péter Szilágyi
c51e153b5c
eth, metrics, p2p: prepare metrics and net packets to eth/62
9 years ago
Péter Szilágyi
941920f2aa
eth: fix an issue with pulling and inserting blocks twice
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
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
4f95e2f9ec
eth: calculate the correct TD, only update if better
10 years ago
Felix Lange
ea54283b30
all: update license information
10 years ago
Péter Szilágyi
d6f2c0a76f
eth, eth/downloader: fix #1231 , DOS vulnerability in hash queueing
10 years ago
Péter Szilágyi
f43c07cb3c
eth, eth/downloader: transition to eth 61
10 years ago
Péter Szilágyi
af51dc4d63
eth, eth/downloader: pass the eth protocol version through
10 years ago
Péter Szilágyi
aac2b6ae4c
eth: add the blocks from numbers protocol message
10 years ago
Péter Szilágyi
6fc85f1ec2
eth: clean up peer struct a bit, fix double txn bcast
10 years ago
Péter Szilágyi
2c8ed76e01
eth: start cleaning up old protocol implementation, add metrics
10 years ago
Péter Szilágyi
393d675690
cmd/geth, cmd/utils, eth: advertise both eth/60 and eth/61
10 years ago
Felix Lange
76821d167a
core, eth, rpc: avoid unnecessary block header copying
10 years ago
Péter Szilágyi
4180ca7fe4
eth: fix the propagation/announce order for mined blocks
10 years ago
Péter Szilágyi
90d45f0397
eth: fix test breakage from the previous commit
10 years ago
Péter Szilágyi
b91b581b80
eth, eth/fetcher: propagate after header verify, announce only on insert
10 years ago
Péter Szilágyi
629705ad53
eth: clean the block request packet handling a bit
10 years ago