Péter Szilágyi
2937903299
eth/downloader: remove uneeded testing functions
10 years ago
Péter Szilágyi
66d3dc8690
eth, eth/downloader: move peer removal into downloader
10 years ago
obscuren
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.
10 years ago
Péter Szilágyi
3c1cccc801
eth/downloader: fetch the block hashes on the fly, when needed
10 years ago
Péter Szilágyi
e61db7145a
eth: dedup fetches to ensure no blocks are pulled twice
10 years ago
Péter Szilágyi
355b1e3bb1
eth: randomly fetch announced block (don't hammer origin)
10 years ago
Péter Szilágyi
b9affbf9fe
eth: discard fetched blocks that don't fit (no goroutine)
10 years ago
obscuren
65a48f9cd8
core: fixed race condition in the transaction pool
...
Removed `Stop/Start` mechanism from the transaction pool.
10 years ago
Péter Szilágyi
271fb20ecb
cmd/geth, eth/downloader: rough guess at the import eta
10 years ago
Péter Szilágyi
b3d5ce7d48
cmd/geth, eth/downloader: collect and report import progress too
10 years ago
Felix Lange
73c355591f
core, eth: document that result of GetTransactions is modifiable
10 years ago
Felix Lange
8dc3048f65
eth/downloader: fix hash fetch timeout handling
...
Fixes #1206
10 years ago
Felix Lange
2c24a73e25
eth: add protocol tests
...
The protocol tests were commented out when eth/downloader was introduced.
10 years ago
Felix Lange
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.
10 years ago
Felix Lange
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.
10 years ago
Péter Szilágyi
d09ead546c
eth: fix a data race in the hash announcement processing
10 years ago
Péter Szilágyi
f86707713c
eth: fix data race accessing peer.td
10 years ago
Péter Szilágyi
44147d057d
eth: fix data race accessing peer.recentHash
10 years ago
obscuren
a5b977aa90
core: write accounts to statedb. Closes #1210
10 years ago
Péter Szilágyi
8216bb901c
eth: clean up pending announce download map, polish logs
10 years ago
Péter Szilágyi
9ed166c196
eth: split and handle explicitly vs. download requested blocks
10 years ago
obscuren
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.
10 years ago
Péter Szilágyi
fdccce781e
eth: fetch announced hashes from origin, periodically
10 years ago
Péter Szilágyi
8c012e103f
eth: mark blocks as known when broadcasting hashes too
10 years ago
Péter Szilágyi
6f415b96b3
eth: implement the NewBlockHashes protocol proposal
10 years ago
Péter Szilágyi
4ed3509a02
eth/downloader: test registration rejection on head ban
10 years ago
Péter Szilágyi
c4f224932f
eth/downloader: reject peer registration if head is banned
10 years ago
Péter Szilágyi
63c6cedb14
eth/downloader: cap the hash ban set, add test for it
10 years ago
Péter Szilágyi
4b2dd44711
eth/downloader: fix throttling test to be less timing dependent
10 years ago
Péter Szilágyi
2d627995cf
eth/downloader: fix another rebase error
10 years ago
Péter Szilágyi
b40c796ff7
eth/downloader: preallocate the block cache
10 years ago
Péter Szilágyi
1d7bf3d39f
eth/downloader: fix merge compile error
10 years ago
Péter Szilágyi
6d497f61c6
eth/downloader: don't block hash deliveries while pulling blocks
10 years ago
Péter Szilágyi
9da0232eef
eth/downloader: update test for shitty travis
10 years ago
Péter Szilágyi
0275fcb3d3
eth/downloader: clean up and simplify the code a bit
10 years ago
Péter Szilágyi
abdfcda4dd
eth/downloader: short circuit sync if head hash is banned
10 years ago
Péter Szilágyi
84bc93d8cb
eth/downloader: accumulating hash bans for reconnecting attackers
10 years ago
Péter Szilágyi
eedb25b22a
eth/downloader: clean up tests and unused variables
10 years ago
Péter Szilágyi
94e525ae12
eth, eth/downloader: fix #1098 , elevate empty hash errors to peer drops
10 years ago
Péter Szilágyi
328ef60b85
eth/downloader: differentiate stale and nonexistent deliveries
10 years ago
Péter Szilágyi
94e4aa6ea9
eth/downloader: log hard timeouts and reset capacity
10 years ago
Péter Szilágyi
d754c25cc8
eth/downloader: drop log entry from peer, it's covered already
10 years ago
Péter Szilágyi
24cca2f18d
eth/downloader: log after state updates, easier to debug
10 years ago
Péter Szilágyi
28c32d1b1b
eth/downloader: fix #1178 , don't request blocks beyond the cache bounds
10 years ago
obscuren
d09a6e5421
core, eth, miner: moved nonce management to tx pool.
...
Removed the managed tx state from the chain manager to the transaction
pool where it's much easier to keep track of nonces (and manage them).
The transaction pool now also uses the queue and pending txs differently
where queued txs are now moved over to the pending queue (i.e. txs ready
for processing and propagation).
10 years ago
Felix Lange
5197aed7db
cmd/utils, eth: core.NewBlockProcessor no longer needs TxPool
10 years ago
Péter Szilágyi
3ec159ab6b
eth/downloader: demote peers if they exceed the soft limits at 1 blocks already
10 years ago
Péter Szilágyi
c9a546c310
eth/downloader: add a basic block download congestion control
10 years ago
Taylor Gerring
057d36b049
Update bootnode
10 years ago
obscuren
e5d7627427
eth: 100% block propogation
10 years ago