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
45152dead5
Merge pull request #1181 from obscuren/txpool_fixes
...
cmd: transaction pool fixes and improvements
2015-06-04 10:47:23 -07:00
d754c25cc8
eth/downloader: drop log entry from peer, it's covered already
2015-06-04 16:22:55 +03:00
24cca2f18d
eth/downloader: log after state updates, easier to debug
2015-06-04 15:10:43 +03:00
28c32d1b1b
eth/downloader: fix #1178 , don't request blocks beyond the cache bounds
2015-06-04 14:51:14 +03:00
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).
2015-06-03 22:43:23 +02:00
5197aed7db
cmd/utils, eth: core.NewBlockProcessor no longer needs TxPool
2015-06-03 22:43:23 +02:00
3ec159ab6b
eth/downloader: demote peers if they exceed the soft limits at 1 blocks already
2015-06-03 15:43:12 +03:00
c9a546c310
eth/downloader: add a basic block download congestion control
2015-06-03 14:40:11 +03:00
057d36b049
Update bootnode
2015-05-31 13:48:27 -05:00
e5d7627427
eth: 100% block propogation
2015-05-28 17:01:44 +02:00
29b0480cfb
core, eth/downloader: expose the bad hashes, check in downloader
2015-05-28 14:03:10 +03:00
5235e01b8d
eth: hard disconnect if a peer is flaky
2015-05-27 18:58:51 +03:00
6a674ffea5
Merge pull request #1108 from karalabe/fine-seeding
...
Fine tune seeder and p2p peer handling
2015-05-26 22:03:11 +02:00
c37389f19c
core: check negative value transactions. Closes #1109
2015-05-26 20:38:26 +02:00
e1a0ee8fc5
cmd/geth, cmd/utils, eth, p2p: pass and honor a no discovery flag
2015-05-26 19:07:24 +03:00
278183c7e7
eth, p2p: start the p2p server even if maxpeers == 0
2015-05-26 17:49:37 +03:00
3083ec5e32
eth/downloader: silence "Added N blocks from..." if N == 0
2015-05-26 16:10:28 +03:00
245f30c59b
Merge pull request #1014 from fjl/p2p-dialer-3000
...
p2p: new dialer, peer management without locks
2015-05-26 05:06:00 -07:00