0fc71877a7
eth/downloader: add valid peer during attacks (check interference)
2015-06-15 09:22:37 +03:00
80833f8137
eth/downloader: instreument and test the sync peer drop
2015-06-15 09:22:37 +03:00
faae8b7dd8
eth: fix an accidental test compile error
2015-06-15 09:22:37 +03:00
2dd6a62f67
eth/downloader: support individual peers in the test suite
2015-06-15 09:22:36 +03:00
2937903299
eth/downloader: remove uneeded testing functions
2015-06-15 09:22:36 +03:00
66d3dc8690
eth, eth/downloader: move peer removal into downloader
2015-06-15 09:22:36 +03:00
90c4493a10
eth, core: interupt the chain processing on stop
...
Added an additional channel which is used to interupt the chain manager
when it's processing blocks.
2015-06-12 13:41:34 +02:00
13bd452faf
Merge pull request #1227 from karalabe/block-fetcher-optimisations
...
eth: optimize the notification/explicit fetch mechanism
2015-06-11 03:31:41 -07:00
979ebfc126
Merge pull request #1224 from karalabe/report-import-progress
...
cmd/geth, eth/downloader: collect and report import progress too
2015-06-10 15:30:20 -07:00
3c1cccc801
eth/downloader: fetch the block hashes on the fly, when needed
2015-06-10 20:12:22 +03:00
e61db7145a
eth: dedup fetches to ensure no blocks are pulled twice
2015-06-10 19:47:59 +03:00
355b1e3bb1
eth: randomly fetch announced block (don't hammer origin)
2015-06-10 19:47:59 +03:00
b9affbf9fe
eth: discard fetched blocks that don't fit (no goroutine)
2015-06-10 19:47:59 +03:00
65a48f9cd8
core: fixed race condition in the transaction pool
...
Removed `Stop/Start` mechanism from the transaction pool.
2015-06-10 17:13:32 +02:00
271fb20ecb
cmd/geth, eth/downloader: rough guess at the import eta
2015-06-10 18:01:05 +03:00
b3d5ce7d48
cmd/geth, eth/downloader: collect and report import progress too
2015-06-10 01:20:35 +03:00
73c355591f
core, eth: document that result of GetTransactions is modifiable
2015-06-09 17:07:10 +02:00
8dc3048f65
eth/downloader: fix hash fetch timeout handling
...
Fixes #1206
2015-06-09 17:07:10 +02:00
2c24a73e25
eth: add protocol tests
...
The protocol tests were commented out when eth/downloader was introduced.
2015-06-09 17:07:10 +02:00
6c73a59806
eth: limit number of sent transactions based on message size
...
Nodes that are out of sync will queue many transactions, which causes
the initial transactions message to grow very large. Larger transactions
messages can make communication impossible if the message is too big to
send. Big transactions messages also exhaust egress bandwidth, which
degrades other peer connections.
The new approach to combat these issues is to send transactions in
smaller batches. This commit introduces a new goroutine that handles
delivery of all initial transaction transfers. Size-limited packs of
transactions are sent to one peer at a time, conserving precious egress
bandwidth.
2015-06-09 17:07:10 +02:00
41b2008a66
eth: limit number of sent blocks based on message size
...
If blocks get larger, sending 256 at once can make messages large
enough to exceed the low-level write timeout.
2015-06-09 17:06:31 +02:00
d09ead546c
eth: fix a data race in the hash announcement processing
2015-06-09 15:09:15 +03:00
f86707713c
eth: fix data race accessing peer.td
2015-06-09 14:56:27 +03:00
44147d057d
eth: fix data race accessing peer.recentHash
2015-06-09 14:27:44 +03:00
05cae69d72
Merge pull request #1188 from karalabe/newblockhashes-proposal
...
eth: implement the NewBlockHashes protocol proposal
2015-06-09 04:07:46 -07:00
087949227c
Merge pull request #1153 from karalabe/downloader-banned-starvation-attack
...
eth/downloader: gather and ban hashes from invalid chains
2015-06-09 03:45:41 -07:00
a5b977aa90
core: write accounts to statedb. Closes #1210
2015-06-09 11:37:01 +02:00
8216bb901c
eth: clean up pending announce download map, polish logs
2015-06-09 00:37:10 +03:00
9ed166c196
eth: split and handle explicitly vs. download requested blocks
2015-06-08 20:38:39 +03:00
6244b10a8f
core: settable genesis nonce
...
You can set the nonce of the block with `--genesisnonce`. When the
genesis nonce changes and it doesn't match with the first block in your
database it will fail. A new `datadir` must be given if the nonce of the
genesis block changes.
2015-06-08 18:33:43 +02:00
fdccce781e
eth: fetch announced hashes from origin, periodically
2015-06-08 19:24:56 +03:00
8c012e103f
eth: mark blocks as known when broadcasting hashes too
2015-06-08 18:44:02 +03:00
6f415b96b3
eth: implement the NewBlockHashes protocol proposal
2015-06-08 18:44:02 +03:00
4ed3509a02
eth/downloader: test registration rejection on head ban
2015-06-08 15:02:52 +03:00
c4f224932f
eth/downloader: reject peer registration if head is banned
2015-06-08 14:46:31 +03:00
63c6cedb14
eth/downloader: cap the hash ban set, add test for it
2015-06-08 14:12:00 +03:00
4b2dd44711
eth/downloader: fix throttling test to be less timing dependent
2015-06-08 13:23:58 +03:00
2d627995cf
eth/downloader: fix another rebase error
2015-06-08 13:23:58 +03:00
b40c796ff7
eth/downloader: preallocate the block cache
2015-06-08 13:23:58 +03:00
1d7bf3d39f
eth/downloader: fix merge compile error
2015-06-08 13:23:58 +03:00
6d497f61c6
eth/downloader: don't block hash deliveries while pulling blocks
2015-06-08 13:23:58 +03:00
9da0232eef
eth/downloader: update test for shitty travis
2015-06-08 13:23:58 +03:00
0275fcb3d3
eth/downloader: clean up and simplify the code a bit
2015-06-08 13:23:58 +03:00
abdfcda4dd
eth/downloader: short circuit sync if head hash is banned
2015-06-08 13:23:58 +03:00
84bc93d8cb
eth/downloader: accumulating hash bans for reconnecting attackers
2015-06-08 13:23:58 +03:00
eedb25b22a
eth/downloader: clean up tests and unused variables
2015-06-08 13:23:57 +03:00
b94a76d17e
Merge pull request #1189 from karalabe/downloader-polishes
...
eth/downloader: handle timeouts more gracefully
2015-06-05 08:31:57 -07:00
94e525ae12
eth, eth/downloader: fix #1098 , elevate empty hash errors to peer drops
2015-06-05 12:52:48 +03:00
328ef60b85
eth/downloader: differentiate stale and nonexistent deliveries
2015-06-05 12:37:48 +03:00
94e4aa6ea9
eth/downloader: log hard timeouts and reset capacity
2015-06-05 11:53:46 +03:00