Commit Graph

116 Commits

Author SHA1 Message Date
ff697e82dc [release/1.4.17] core, eth, internal, miner: optimize txpool for quick ops
(cherry picked from commit 0ef327bbee)
2016-10-10 10:42:07 +02:00
f7e6fb7d1c [release/1.4.16] eth: monitor malicious header retrieval requests
(cherry picked from commit e482b5694f)
2016-10-06 16:25:17 +02:00
6c672a55c0 [release/1.4.11] eth, eth/downloader: don't forward the DAO challenge header
(cherry picked from commit 071af57bcf)
2016-08-18 15:01:43 +02:00
48709d5340 [release/1.4.11] eth, eth/downloader: better remote head tracking
(cherry picked from commit 1dd272080d)

Conflicts:
	eth/handler.go
	eth/sync.go
2016-08-18 15:01:39 +02:00
65da8f601f [release/1.4.11] eth, eth/downloader, eth/fetcher: delete eth/61 code
The eth/61 protocol was disabled in #2776, this commit removes its
message handlers and hash-chain sync logic.

(cherry picked from commit 016007bd25)

Conflicts:
	eth/handler.go
	eth/handler_test.go
2016-08-18 15:01:34 +02:00
08a7cd74da [release/1.4.11] eth: cancel DAO challenge on peer drop (annoying log)
(cherry picked from commit 91f18ffd47)
2016-08-18 15:01:05 +02:00
1b2941cd56 [release/1.4.10] cmd, core, eth, miner, params, tests: finalize the DAO fork
(cherry picked from commit 2c2e389b77)
2016-07-16 14:30:07 +03:00
b8c0883770 [release/1.4.10] accounts, core, eth: pass chain config for chain maker to test DAO
(cherry picked from commit 3291235711)
2016-07-16 14:30:05 +03:00
8c20fe17bd [release/1.4.10] core, eth: enforce network split post DAO hard-fork
(cherry picked from commit 7f00e8c033)
2016-07-16 14:30:00 +03:00
ecb8e23e88 [release/1.4.6] eth: don't accept transactions until we sync up with the network
(cherry picked from commit 32559ccad1)
2016-06-06 16:22:08 +03:00
9ccb70da7b [release/1.4.6] 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.

(cherry picked from commit ca18202eb9)
2016-06-06 16:21:34 +03:00
4c6953606e [release/1.4.4] eth: skip transaction handling during fast sync
(cherry picked from commit d87f7a1e81)
2016-05-17 14:59:12 +02:00
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.
2016-05-09 13:03:08 +02:00
6fdd0893c3 all: fix go vet warnings 2016-04-15 11:17:27 +02:00
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.
2016-04-01 01:01:10 +02:00
bbbe2360d0 eth: various typos 2016-03-15 11:27:49 -07:00
ae4982a365 eth: forward empty body responses to the downlaoder 2016-03-03 13:06:23 +02:00
6e7620afe0 eth: changed NodeInfo Genesis and Head types 2016-01-18 13:28:03 +01:00
9e011ff1cd core, eth/downloader: ensure state presence in ancestor lookup 2016-01-04 16:27:23 +02:00
e51eeb8104 eth: fix #2076, where end of hash query was interpreted number query 2015-12-16 08:44:13 +02:00
e46ab3bdcd eth, p2p, rpc/api: polish protocol info gathering 2015-10-28 12:44:15 +02:00
5b0ee8ec30 core, eth, trie: fix data races and merge/review issues 2015-10-21 16:49:55 +03:00
aa0538db0b eth: clean out light node notions from eth 2015-10-19 10:03:10 +03:00
a9d8dfc8e7 core, eth: roll back uncertain headers in failed fast syncs 2015-10-19 10:03:10 +03:00
ab27bee25a core, eth, trie: direct state trie synchronization 2015-10-19 10:03:09 +03:00
832b37c822 core, eth: receipt chain reconstruction 2015-10-19 10:03:09 +03:00
f186b39018 eth/downloader: add fast and light sync strategies 2015-10-19 10:03:09 +03:00
c33cc382b3 core: support inserting pure header chains 2015-10-19 10:03:09 +03:00
92f9a3e5fa cmd, eth: support switching client modes of operation 2015-10-19 10:03:09 +03:00
402fd6e8c6 core, eth, event, miner, xeth: fix event post / subscription race 2015-10-12 16:22:03 +03:00
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.
2015-10-04 01:13:56 +02:00
58fbcaa750 Merge pull request #1810 from karalabe/pure-header-verifications-2
core, eth, miner: use pure header validation
2015-09-16 14:21:12 -07:00
821619e1c3 core, eth, miner: use pure header validation 2015-09-16 10:46:28 +03:00
8c4dab77ba all: move common.Database to package ethdb 2015-09-14 23:36:30 +02:00
cdc2662c40 core: split out TD from database and all internals 2015-09-11 17:42:25 +03:00
2b339cbbd8 core, eth: split the db blocks into headers and bodies 2015-09-11 17:42:25 +03:00
6ec13e7e2b Merge pull request #1701 from karalabe/eth62-sync-rebase
eth: implement eth/62 synchronization logic
2015-08-27 00:03:59 +02:00
47a7fe5d22 eth: port the synchronisation algo to eth/62 2015-08-25 17:48:47 +03:00
7324176f70 Add tests for uncle timestamps and refactor timestamp type 2015-08-25 04:46:11 +02:00
42f44dda54 eth, eth/downloader: handle header requests, table driven proto tests 2015-08-24 17:57:28 +03:00
c51e153b5c eth, metrics, p2p: prepare metrics and net packets to eth/62 2015-08-21 10:30:57 +03:00
941920f2aa eth: fix an issue with pulling and inserting blocks twice 2015-08-19 15:14:26 +03:00
1fad8798ec Merge pull request #1515 from fjl/license-fixes
all: fix license headers one more time
2015-07-28 04:29:42 -07:00
036e6301af cmd/geth, core, eth: Version 1.0.0
Genesis release. Closes #1402

Conflicts:
	cmd/geth/main.go
2015-07-25 13:55:56 +02:00
bfbcfbe4a9 all: fix license headers one more time
I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
2015-07-23 18:35:11 +02:00
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".
2015-07-22 18:51:45 +02:00
4f95e2f9ec eth: calculate the correct TD, only update if better 2015-07-09 13:55:06 +03:00
ea54283b30 all: update license information 2015-07-07 14:12:44 +02:00
d6f2c0a76f eth, eth/downloader: fix #1231, DOS vulnerability in hash queueing 2015-07-01 15:21:35 +03:00
f43c07cb3c eth, eth/downloader: transition to eth 61 2015-06-30 19:05:06 +03:00