aboutsummaryrefslogtreecommitdiffstats
path: root/eth/handler.go
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #1701 from karalabe/eth62-sync-rebaseFelix Lange2015-08-271-75/+261
|\ | | | | eth: implement eth/62 synchronization logic
| * eth: port the synchronisation algo to eth/62Péter Szilágyi2015-08-251-6/+56
| |
| * eth, eth/downloader: handle header requests, table driven proto testsPéter Szilágyi2015-08-241-57/+206
| |
| * eth, metrics, p2p: prepare metrics and net packets to eth/62Péter Szilágyi2015-08-211-14/+1
| |
* | Add tests for uncle timestamps and refactor timestamp typeGustav Simonsson2015-08-251-1/+1
|/
* eth: fix an issue with pulling and inserting blocks twicePéter Szilágyi2015-08-191-2/+4
|
* Merge pull request #1515 from fjl/license-fixesJeffrey Wilcke2015-07-281-1/+1
|\ | | | | all: fix license headers one more time
| * all: fix license headers one more timeFelix Lange2015-07-241-1/+1
| | | | | | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
* | cmd/geth, core, eth: Version 1.0.0Jeffrey Wilcke2015-07-251-0/+1
|/ | | | | | | Genesis release. Closes #1402 Conflicts: cmd/geth/main.go
* all: update license headers to distiguish GPL/LGPLFelix Lange2015-07-231-4/+4
| | | | | All code outside of cmd/ is licensed as LGPL. The headers now reflect this by calling the whole work "the go-ethereum library".
* eth: calculate the correct TD, only update if betterPéter Szilágyi2015-07-091-3/+15
|
* all: update license informationFelix Lange2015-07-071-0/+16
|
* eth, eth/downloader: fix #1231, DOS vulnerability in hash queueingPéter Szilágyi2015-07-011-1/+1
|
* eth, eth/downloader: transition to eth 61Péter Szilágyi2015-07-011-33/+56
|
* eth, eth/downloader: pass the eth protocol version throughPéter Szilágyi2015-07-011-1/+1
|
* eth: add the blocks from numbers protocol messagePéter Szilágyi2015-07-011-2/+2
|
* eth: clean up peer struct a bit, fix double txn bcastPéter Szilágyi2015-07-011-13/+16
|
* eth: start cleaning up old protocol implementation, add metricsPéter Szilágyi2015-07-011-17/+37
|
* cmd/geth, cmd/utils, eth: advertise both eth/60 and eth/61Péter Szilágyi2015-07-011-12/+18
|
* core, eth, rpc: avoid unnecessary block header copyingFelix Lange2015-06-301-1/+1
|
* eth: fix the propagation/announce order for mined blocksPéter Szilágyi2015-06-191-4/+4
|
* eth: fix test breakage from the previous commitPéter Szilágyi2015-06-181-1/+0
|
* eth, eth/fetcher: propagate after header verify, announce only on insertPéter Szilágyi2015-06-181-20/+41
|
* eth: clean the block request packet handling a bitPéter Szilágyi2015-06-181-17/+17
|
* eth, eth/fetcher: move propagated block import into fetcherPéter Szilágyi2015-06-181-77/+33
|
* eth/fetcher: build longest chain until proven otherwisePéter Szilágyi2015-06-181-1/+1
|
* eth, eth/fetcher: define and enforce propagation boundariesPéter Szilágyi2015-06-181-1/+0
|
* eth, eth/fetcher: cache future propagated blocks tooPéter Szilágyi2015-06-181-0/+2
|
* eth, eth/fetcher: use an import queue to store out of order blocksPéter Szilágyi2015-06-181-2/+9
|
* eth, eth/fetcher: separate notification sync mechanismPéter Szilágyi2015-06-181-45/+26
|
* eth, eth/downloader: move block processing into the downlaoderPéter Szilágyi2015-06-151-1/+1
|
* eth, eth/downloader: move peer removal into downloaderPéter Szilágyi2015-06-151-2/+2
|
* eth: limit number of sent transactions based on message sizeFelix Lange2015-06-091-9/+15
| | | | | | | | | | | | | | 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.
* eth: limit number of sent blocks based on message sizeFelix Lange2015-06-091-2/+11
| | | | | If blocks get larger, sending 256 at once can make messages large enough to exceed the low-level write timeout.
* eth: fix data race accessing peer.tdPéter Szilágyi2015-06-091-2/+2
|
* eth: fix data race accessing peer.recentHashPéter Szilágyi2015-06-091-3/+3
|
* Merge pull request #1188 from karalabe/newblockhashes-proposalJeffrey Wilcke2015-06-091-74/+128
|\ | | | | eth: implement the NewBlockHashes protocol proposal
| * eth: clean up pending announce download map, polish logsPéter Szilágyi2015-06-091-1/+1
| |
| * eth: split and handle explicitly vs. download requested blocksPéter Szilágyi2015-06-091-23/+25
| |
| * eth: fetch announced hashes from origin, periodicallyPéter Szilágyi2015-06-091-29/+25
| |
| * eth: implement the NewBlockHashes protocol proposalPéter Szilágyi2015-06-081-62/+118
| |
* | eth/downloader: cap the hash ban set, add test for itPéter Szilágyi2015-06-081-2/+2
|/
* eth: 100% block propogationobscuren2015-05-281-2/+1
|
* eth: hard disconnect if a peer is flakyPéter Szilágyi2015-05-271-4/+12
|
* eth, eth/downloader: surface downloaded block origin, drop on errorPéter Szilágyi2015-05-261-6/+6
|
* Merge pull request #1064 from karalabe/downloader-attacksJeffrey Wilcke2015-05-221-3/+3
|\ | | | | Fix two additional download vulnerabilities
| * eth, eth/downloader: remove duplicate consts, bump hash fetch to 2KPéter Szilágyi2015-05-211-3/+3
| |
* | eth: fix odd method names in peer setPéter Szilágyi2015-05-201-2/+2
|/
* eth: make the peer set thread safePéter Szilágyi2015-05-191-41/+24
|
* eth/downloader: fix active peer shadowing, polish func namesPéter Szilágyi2015-05-131-2/+2
|
* eth: 100% tx propagationobscuren2015-05-131-1/+1
|
* eth, eth/downloader: handle sync errors a bit more gracefullyPéter Szilágyi2015-05-081-4/+4
|
* eth, eth/downloader: make synchronize thread safePéter Szilágyi2015-05-081-2/+2
|
* eth, eth/downloader: Moved block processing & graceful shutdownobscuren2015-05-011-116/+23
| | | | | | | The downloader is no longer responsible for processing blocks. The eth-protocol handler now takes care of this instead. Added graceful shutdown during block processing. Closes #846
* eth/downloader: delete blocks from queueobscuren2015-04-301-1/+1
|
* core, eth: verify td of received blocksobscuren2015-04-301-1/+21
|
* eth, eth/downloader: remove bad peers from peer setobscuren2015-04-301-7/+21
| | | | Peers in the eth protocol handler are now being ignored for catch up.
* eth: rely on p2p to determine block propagationobscuren2015-04-301-1/+1
|
* core/types, eth: meassure and display propagation timesobscuren2015-04-301-1/+3
|
* core: return the index of the block that failed when inserting a chainobscuren2015-04-291-1/+1
|
* eth: check if downloader is busy before showing log messageobscuren2015-04-291-0/+5
|
* eth: added a few informative messages regarding downloadingobscuren2015-04-241-0/+6
|
* eth, eth/downloader: simplified synchronisation processobscuren2015-04-241-7/+11
|
* eth, eth/downloader: don't require td on downloader. Fixed testsobscuren2015-04-241-2/+2
|
* eth, eth/downloader: moved peer selection to protocol handlerobscuren2015-04-241-4/+61
|
* eth: cleanupobscuren2015-04-241-5/+1
|
* eth: moved mined, tx events to protocol-hnd and improved tx propagationobscuren2015-04-231-2/+64
| | | | | | | | | Transactions are now propagated to peers from which we have not yet received the transaction. This will significantly reduce the chatter on the network. Moved new mined block handler to the protocol handler and moved transaction handling to protocol handler.
* core: added chain head reset to known blockobscuren2015-04-201-1/+2
|
* Merge branch 'rlp-size-validation' of https://github.com/fjl/go-ethereum ↵obscuren2015-04-191-6/+6
| | | | | | | into fjl-rlp-size-validation Conflicts: eth/protocol.go
* eth: drop blocks with low TDobscuren2015-04-191-3/+3
|
* eth: temp 100% block propagation because of the current state of the netobscuren2015-04-191-2/+2
|
* eth: removed debug messages to stdoutobscuren2015-04-191-2/+2
|
* downloader: don't remove peers. keep them aroundobscuren2015-04-191-0/+11
|
* eth: adapted to new synchronous api of downloader's AddBlockobscuren2015-04-191-2/+12
|
* downloader: make sure that hashes are only accepted from the active peerobscuren2015-04-181-2/+9
|
* downloader: reset the queue if a peer response with an empty hash setobscuren2015-04-181-1/+1
|
* eth: ignore NewBlockMsg with lower tdobscuren2015-04-181-2/+3
|
* eth: drop blocks that are knownobscuren2015-04-181-0/+6
|
* eth: additional cleanups to the subprotocol, improved block propagationobscuren2015-04-181-37/+112
| | | | | | | | * Improved block propagation by sending blocks only to peers to which, as far as we know, the peer does not know about. * Made sub protocol its own manager * SubProtocol now contains the p2p.Protocol which is used instead of a function-returning-protocol thing.
* eth: began split up of peers and protocol managerobscuren2015-04-181-0/+224