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
Péter Szilágyi
29b0480cfb
core, eth/downloader: expose the bad hashes, check in downloader
10 years ago
Péter Szilágyi
5235e01b8d
eth: hard disconnect if a peer is flaky
10 years ago
obscuren
c37389f19c
core: check negative value transactions. Closes #1109
10 years ago
Péter Szilágyi
e1a0ee8fc5
cmd/geth, cmd/utils, eth, p2p: pass and honor a no discovery flag
10 years ago
Péter Szilágyi
278183c7e7
eth, p2p: start the p2p server even if maxpeers == 0
10 years ago
Péter Szilágyi
3083ec5e32
eth/downloader: silence "Added N blocks from..." if N == 0
10 years ago
Péter Szilágyi
eafdc1f8e3
eth, eth/downloader: surface downloaded block origin, drop on error
10 years ago
Felix Lange
2f249fea44
eth: stop p2p.Server on shutdown
10 years ago
Jason Carver
97433f5ef1
expand acronym in log message from TD
...
to total difficulty
10 years ago
Péter Szilágyi
06a041589f
eth, eth/downloader: remove duplicate consts, bump hash fetch to 2K
10 years ago
zelig
bed80133e0
automatic DAG pregeneration for smooth epoch transitions
...
- backend: AutoDAG bool flag passed from cli/eth.Config to ethereum, autoDAG loop started if true
- backend: autoDAG loop start/stop, remove previous DAG
- cli: AutoDAG bool flag, off by default, but automatically ON if mining
- admin jsre: add startAutoDAG stopAutoDAG and makeDAG in miner section
- switch on/off DAG autogeneration when miner started/stopped on console
10 years ago
obscuren
207bd55751
eth: reduced max open files for LevelDB
10 years ago
Péter Szilágyi
52db6d8be5
eth/downloader: circumvent a forged block chain with known parent attack
10 years ago