Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						1dd272080d 
					 
					
						
						
							
							eth, eth/downloader: better remote head tracking  
						
						
						
						
					 
					
						2016-07-25 15:14:14 +03:00 
						 
				 
			
				
					
						
							
							
								Felix Lange 
							
						 
					 
					
						
						
							
						
						016007bd25 
					 
					
						
						
							
							eth, eth/downloader, eth/fetcher: delete eth/61 code  
						
						... 
						
						
						
						The eth/61 protocol was disabled in #2776 , this commit removes its
message handlers and hash-chain sync logic. 
						
						
					 
					
						2016-07-22 13:17:19 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						7f00e8c033 
					 
					
						
						
							
							core, eth: enforce network split post DAO hard-fork  
						
						
						
						
					 
					
						2016-07-15 16:52:55 +03:00 
						 
				 
			
				
					
						
							
							
								Felix Lange 
							
						 
					 
					
						
						
							
						
						56ed6152a1 
					 
					
						
						
							
							core, eth, miner: improve shutdown synchronisation  
						
						... 
						
						
						
						Shutting down geth prints hundreds of annoying error messages in some
cases. The errors appear because the Stop method of eth.ProtocolManager,
miner.Miner and core.TxPool is asynchronous. Left over peer sessions
generate events which are processed after Stop even though the database
has already been closed.
The fix is to make Stop synchronous using sync.WaitGroup.
For eth.ProtocolManager, in order to make use of WaitGroup safe, we need
a way to stop new peer sessions from being added while waiting on the
WaitGroup. The eth protocol Run function now selects on a signaling
channel and adds to the WaitGroup only if ProtocolManager is not
shutting down.
For miner.worker and core.TxPool the number of goroutines is static,
WaitGroup can be used in the usual way without additional
synchronisation. 
						
						
					 
					
						2016-05-09 13:03:08 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						e46ab3bdcd 
					 
					
						
						
							
							eth, p2p, rpc/api: polish protocol info gathering  
						
						
						
						
					 
					
						2015-10-28 12:44:15 +02:00 
						 
				 
			
				
					
						
							
							
								Felix Lange 
							
						 
					 
					
						
						
							
						
						3cf74336c9 
					 
					
						
						
							
							eth: time out status message exchange after 5s  
						
						
						
						
					 
					
						2015-10-22 22:22:04 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						ab27bee25a 
					 
					
						
						
							
							core, eth, trie: direct state trie synchronization  
						
						
						
						
					 
					
						2015-10-19 10:03:09 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						f186b39018 
					 
					
						
						
							
							eth/downloader: add fast and light sync strategies  
						
						
						
						
					 
					
						2015-10-19 10:03:09 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						cdc2662c40 
					 
					
						
						
							
							core: split out TD from database and all internals  
						
						
						
						
					 
					
						2015-09-11 17:42:25 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						2b339cbbd8 
					 
					
						
						
							
							core, eth: split the db blocks into headers and bodies  
						
						
						
						
					 
					
						2015-09-11 17:42:25 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						47a7fe5d22 
					 
					
						
						
							
							eth: port the synchronisation algo to eth/62  
						
						
						
						
					 
					
						2015-08-25 17:48:47 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						42f44dda54 
					 
					
						
						
							
							eth, eth/downloader: handle header requests, table driven proto tests  
						
						
						
						
					 
					
						2015-08-24 17:57:28 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						c51e153b5c 
					 
					
						
						
							
							eth, metrics, p2p: prepare metrics and net packets to eth/62  
						
						
						
						
					 
					
						2015-08-21 10:30:57 +03:00 
						 
				 
			
				
					
						
							
							
								Felix Lange 
							
						 
					 
					
						
						
							
						
						bfbcfbe4a9 
					 
					
						
						
							
							all: fix license headers one more time  
						
						... 
						
						
						
						I forgot to update one instance of "go-ethereum" in commit 3f047be5a 
						
						
					 
					
						2015-07-23 18:35:11 +02:00 
						 
				 
			
				
					
						
							
							
								Felix Lange 
							
						 
					 
					
						
						
							
						
						3f047be5aa 
					 
					
						
						
							
							all: update license headers to distiguish GPL/LGPL  
						
						... 
						
						
						
						All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library". 
						
						
					 
					
						2015-07-22 18:51:45 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						4f95e2f9ec 
					 
					
						
						
							
							eth: calculate the correct TD, only update if better  
						
						
						
						
					 
					
						2015-07-09 13:55:06 +03:00 
						 
				 
			
				
					
						
							
							
								Felix Lange 
							
						 
					 
					
						
						
							
						
						ea54283b30 
					 
					
						
						
							
							all: update license information  
						
						
						
						
					 
					
						2015-07-07 14:12:44 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						1ae80aaf64 
					 
					
						
						
							
							eth:  fix   #1371 , double lock during block/txn known set limitation  
						
						
						
						
					 
					
						2015-07-01 11:12:05 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						f43c07cb3c 
					 
					
						
						
							
							eth, eth/downloader: transition to eth 61  
						
						
						
						
					 
					
						2015-06-30 19:05:06 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						aac2b6ae4c 
					 
					
						
						
							
							eth: add the blocks from numbers protocol message  
						
						
						
						
					 
					
						2015-06-30 19:00:01 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						5db8f447d5 
					 
					
						
						
							
							eth:  fix   #1319 , put an upper limit on the known txns and blocks  
						
						
						
						
					 
					
						2015-06-30 19:00:01 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						6fc85f1ec2 
					 
					
						
						
							
							eth: clean up peer struct a bit, fix double txn bcast  
						
						
						
						
					 
					
						2015-06-30 19:00:01 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						2c8ed76e01 
					 
					
						
						
							
							eth: start cleaning up old protocol implementation, add metrics  
						
						
						
						
					 
					
						2015-06-30 19:00:00 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						f86707713c 
					 
					
						
						
							
							eth: fix data race accessing peer.td  
						
						
						
						
					 
					
						2015-06-09 14:56:27 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						44147d057d 
					 
					
						
						
							
							eth: fix data race accessing peer.recentHash  
						
						
						
						
					 
					
						2015-06-09 14:27:44 +03:00 
						 
				 
			
				
					
						
							
							
								Jeffrey Wilcke 
							
						 
					 
					
						
						
							
						
						05cae69d72 
					 
					
						
						
							
							Merge pull request  #1188  from karalabe/newblockhashes-proposal  
						
						... 
						
						
						
						eth: implement the NewBlockHashes protocol proposal 
						
						
					 
					
						2015-06-09 04:07:46 -07:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						8c012e103f 
					 
					
						
						
							
							eth: mark blocks as known when broadcasting hashes too  
						
						
						
						
					 
					
						2015-06-08 18:44:02 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						6f415b96b3 
					 
					
						
						
							
							eth: implement the NewBlockHashes protocol proposal  
						
						
						
						
					 
					
						2015-06-08 18:44:02 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						63c6cedb14 
					 
					
						
						
							
							eth/downloader: cap the hash ban set, add test for it  
						
						
						
						
					 
					
						2015-06-08 14:12:00 +03:00 
						 
				 
			
				
					
						
							
							
								Jeffrey Wilcke 
							
						 
					 
					
						
						
							
						
						af28736bd0 
					 
					
						
						
							
							Merge pull request  #1064  from karalabe/downloader-attacks  
						
						... 
						
						
						
						Fix two additional download vulnerabilities 
						
						
					 
					
						2015-05-21 09:00:12 -07:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						06a041589f 
					 
					
						
						
							
							eth, eth/downloader: remove duplicate consts, bump hash fetch to 2K  
						
						
						
						
					 
					
						2015-05-21 18:16:04 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						3c8227b935 
					 
					
						
						
							
							eth: fix odd method names in peer set  
						
						
						
						
					 
					
						2015-05-20 10:34:45 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						4755caeb2d 
					 
					
						
						
							
							eth: remote a superfluous peerSet method  
						
						
						
						
					 
					
						2015-05-18 21:35:42 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						5422fe5125 
					 
					
						
						
							
							eth: make the peer set thread safe  
						
						
						
						
					 
					
						2015-05-18 21:33:37 +03:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						b86e7526e1 
					 
					
						
						
							
							eth, eth/downloader: moved peer selection to protocol handler  
						
						
						
						
					 
					
						2015-04-24 14:40:32 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						d3be1a2719 
					 
					
						
						
							
							eth: moved mined, tx events to protocol-hnd and improved tx propagation  
						
						... 
						
						
						
						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. 
						
						
					 
					
						2015-04-23 11:50:12 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						3d497be9bd 
					 
					
						
						
							
							eth: drop blocks with low TD  
						
						
						
						
					 
					
						2015-04-19 13:31:37 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						cc436c4b28 
					 
					
						
						
							
							eth: additional cleanups to the subprotocol, improved block propagation  
						
						... 
						
						
						
						* 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. 
						
						
					 
					
						2015-04-18 02:21:07 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						c2f410214c 
					 
					
						
						
							
							eth: began split up of peers and protocol manager  
						
						
						
						
					 
					
						2015-04-18 01:11:09 +02:00