Péter Szilágyi
bd5720f480
eth, eth/downloader: handle sync errors a bit more gracefully
2015-05-08 15:22:48 +03:00
Péter Szilágyi
9d188f73b5
eth, eth/downloader: make synchronize thread safe
2015-05-07 21:07:20 +03:00
Péter Szilágyi
4d5a719f25
cmd, eth, p2p: introduce pending peer cli arg, add tests
2015-05-07 15:30:56 +03:00
Péter Szilágyi
43901c9282
eth/downloader: fix priority queue reset, add throttling test
2015-05-07 14:40:50 +03:00
Péter Szilágyi
45f8304f3c
eth/downloader: fix expiration not running while fetching
2015-05-07 12:59:19 +03:00
Péter Szilágyi
4800c94392
eth/downloader: prioritize block fetch based on chain position, cap memory use
2015-05-07 10:57:34 +03:00
obscuren
062fa049d0
fixed merge issue
2015-05-06 22:54:21 +02:00
Jeffrey Wilcke
24d44f35f2
Merge pull request #791 from fjl/discover-sha3-distance
...
p2p/discover: sha3-based node distance
2015-05-06 13:48:57 -07:00
Gustav Simonsson
b1cc9cdc74
Integrate new ethash API and change geth makedag cmd
2015-05-05 08:24:15 +02:00
Péter Szilágyi
4accc187d5
eth, p2p: add trusted node list beside static list
2015-05-04 13:59:51 +03:00
obscuren
1470b22e90
downloader: hash downloading recovery
...
If a peer fails to respond (disconnect, etc) during hash downloading
switch to a different peer which has it's current_hash in the queue's
peer set.
2015-05-03 16:27:03 +02:00
obscuren
ba2236fa51
cmd/geth, eth: bump version & tmp fix for incorrect TD peers
2015-05-03 14:11:47 +02:00
obscuren
f2a2b2ac70
eth/downloader: put back hashes on block overflow error
2015-05-03 14:11:00 +02:00
obscuren
493181ea09
eth/downloader: changed has to blockHashes for chain linking
2015-05-03 14:10:31 +02:00
obscuren
25bc88113f
eth/downloader: added additional tests
2015-05-03 14:09:33 +02:00
obscuren
c6ad3aec05
eth,core: changed NewTicker to Tick
2015-05-03 13:27:37 +02:00
obscuren
016f152b36
eth, eth/downloader: Moved block processing & graceful shutdown
...
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
2015-05-01 15:58:44 +02:00
Péter Szilágyi
413ace37d3
eth, p2p: rename trusted nodes to static, drop inbound extra slots
2015-04-30 19:32:48 +03:00
obscuren
8595198c1b
eth/downloader: delete blocks from queue
2015-04-30 17:51:47 +02:00
obscuren
15873fafc0
core: added a wait group to chain manager for graceful shutdown
2015-04-30 17:50:47 +02:00
Péter Szilágyi
701591b403
cmd, eth, p2p: fix review issues enumerated by Felix
2015-04-30 16:15:29 +03:00
Péter Szilágyi
679c90b873
cmd/geth, cmd/utils, eth: internalize trusted node config file
2015-04-30 16:03:47 +03:00
Péter Szilágyi
de0549fabb
cmd/geth, cmd/mist, cmd/utils, eth, p2p: support trusted peers
2015-04-30 16:03:10 +03:00
Felix Lange
fc747ef4a6
p2p/discover: new endpoint format
...
This commit changes the discovery protocol to use the new "v4" endpoint
format, which allows for separate UDP and TCP ports and makes it
possible to discover the UDP address after NAT.
2015-04-30 14:57:33 +02:00
obscuren
28b39267d9
core, eth: verify td of received blocks
2015-04-30 13:50:59 +02:00
obscuren
9b6e8f6195
eth, eth/downloader: remove bad peers from peer set
...
Peers in the eth protocol handler are now being ignored for catch up.
2015-04-30 12:38:16 +02:00
obscuren
04c209980b
eth: rely on p2p to determine block propagation
2015-04-29 22:50:58 +02:00
obscuren
9e63798d03
core/types, eth: meassure and display propagation times
2015-04-29 19:55:30 +02:00
obscuren
f8c27d7159
eth/downloader: drop block
2015-04-29 19:55:04 +02:00
obscuren
c930045834
core: fixed tetst to reflect (int, error) return by insertChain
2015-04-29 15:27:04 +02:00
obscuren
dfbf580354
eth/downloader: ignore orphan blocks in the downloader.
...
When blocks have been sorted and are being processed, orphan blocks
should be ignored and thrown out. The protocol handler is responsible
for downloading blocks which have missing parents.
2015-04-29 14:49:37 +02:00
obscuren
735b029db9
core: return the index of the block that failed when inserting a chain
2015-04-29 14:00:24 +02:00
obscuren
13364a2dcf
eth/downloader: reset the chain when parent is missing during processing
2015-04-29 13:40:39 +02:00
obscuren
4b7bdc3766
eth: check if downloader is busy before showing log message
2015-04-29 12:51:05 +02:00
Jeffrey Wilcke
91cb8cdd2a
Merge pull request #793 from karalabe/discovery-node-cache
...
p2p/discover: persistent node database
2015-04-28 03:40:10 -07:00
Péter Szilágyi
19bc4624ea
eth: pull in a lost merge change
...
Ref: 21c4c155ee
2015-04-28 10:49:04 +03:00
Jeffrey Wilcke
8d09f95bc7
Merge pull request #805 from obscuren/download_improvements
...
eth, eth/downloader: improve downloader and remove asynchronousness
2015-04-24 15:56:17 -07:00
obscuren
7ce3d06402
eth/downloader: removed update loop and synch channel
2015-04-24 18:28:46 +02:00
obscuren
405720b218
xeth, core, cmd/utils: Transaction can not be over block gas limit
...
Transactions will be invalidated when the tx.gas_limit > block.gas_limit
2015-04-24 17:48:13 +02:00
Péter Szilágyi
8646365b42
cmd/bootnode, eth, p2p, p2p/discover: use a fancier db design
2015-04-24 18:04:41 +03:00
obscuren
1681ee9883
eth: added a few informative messages regarding downloading
2015-04-24 17:03:09 +02:00
obscuren
a9e4b96573
eth/downloader: fixed tests
2015-04-24 15:56:18 +02:00
obscuren
d84c2202e7
eth, eth/downloader: simplified synchronisation process
2015-04-24 15:38:10 +02:00
obscuren
bd9c76097d
eth/downloader: removed peer td management and best peer selection
2015-04-24 15:37:07 +02:00
obscuren
31f82eb334
eth, eth/downloader: don't require td on downloader. Fixed tests
2015-04-24 15:04:58 +02:00
obscuren
b86e7526e1
eth, eth/downloader: moved peer selection to protocol handler
2015-04-24 14:40:32 +02:00
zelig
be843959cb
backend: start miner in its go routine (no wait to generate DAG)
2015-04-24 12:45:11 +01:00
Péter Szilágyi
6def110c37
cmd/bootnode, eth, p2p, p2p/discover: clean up the seeder and mesh into eth.
2015-04-24 11:33:55 +03:00
Péter Szilágyi
5f735d6fce
cmd, eth, p2p, p2p/discover: init and clean up the seed cache
2015-04-24 11:23:20 +03:00
obscuren
516f49c812
eth: cleanup
2015-04-23 23:30:25 +02:00
Jeffrey Wilcke
b6ec1c720f
Merge pull request #797 from tgerring/bootnodes
...
Bootnodes update
2015-04-23 11:53:18 -07:00
Taylor Gerring
24995f9ab7
Updated bootnodes
...
Update pub key for EU node and add new SA node
2015-04-23 13:06:07 -05:00
Bas van Kervel
c273ed7d82
Moved leveldb update loop to eth/backend
...
change order of block insert and update LastBlock
bugfix, wrong hash stored in blockDb
2015-04-23 17:58:58 +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
5cb5df003d
eth: start tx pool in a goroutine
2015-04-23 11:50:11 +02:00
Jeffrey Wilcke
1dc91975ad
Merge pull request #756 from Gustav-Simonsson/block_test_improvements
...
Block test improvements
2015-04-21 03:09:35 -07:00
obscuren
36ec42e50c
Merge branch 'frontier/natspec' of https://github.com/ethersphere/go-ethereum into ethersphere-frontier/natspec
2015-04-20 18:08:14 +02:00
obscuren
45da3e17e2
core: added chain head reset to known block
2015-04-20 12:29:02 +02:00
zsfelfoldi
c4b7d4d3f7
NatSpec cli option, resolver tests passing
2015-04-19 20:57:49 +01:00
obscuren
5dd56bb474
geth: admin download status
2015-04-19 21:46:19 +02:00
obscuren
ed07ffcde5
downloader: fixed tests with low ttl
2015-04-19 17:37:01 +02:00
obscuren
dcf1a1988a
moved
2015-04-19 17:14:15 +02:00
obscuren
8f3a7e41de
Merge branch 'rlp-size-validation' of https://github.com/fjl/go-ethereum into fjl-rlp-size-validation
...
Conflicts:
eth/protocol.go
2015-04-19 17:07:40 +02:00
obscuren
4683f9c0a7
Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop
2015-04-19 13:33:39 +02:00
obscuren
cce4158cfc
Removed debug println
2015-04-19 13:33:14 +02:00
obscuren
3d497be9bd
eth: drop blocks with low TD
2015-04-19 13:31:37 +02:00
obscuren
c58918c84a
downloader: moved chunk ignoring. Fixes issue with catching up
2015-04-19 13:30:34 +02:00
Jeffrey Wilcke
9ec56637f9
Merge pull request #749 from fjl/fix-nodekey-persistence
...
Fix p2p node key persistence
2015-04-19 01:56:56 +02:00
obscuren
4340996572
eth: temp 100% block propagation because of the current state of the net
2015-04-19 01:40:01 +02:00
obscuren
5c59d95532
downloader: defer peer reset after download
2015-04-19 01:39:37 +02:00
Felix Lange
da4a0e0555
eth: fix node key persistence
...
crypto.LoadECDSA has been modified to expect hex data.
The key was being saved as raw bytes, causing the file
to be rewritten on every start.
2015-04-19 01:28:41 +02:00
obscuren
86ecdcd5ff
downloader: reset hashTtl on receive
2015-04-19 00:15:05 +02:00
obscuren
434dea3caf
eth: removed debug messages to stdout
2015-04-19 00:03:26 +02:00
Felix Lange
2ce21cefdc
eth: use NewDB hook also for extra DB
...
(cherry picked from commit d5083033f15bb815a6212eddae16a7125db58738)
2015-04-18 23:59:31 +02:00
obscuren
50e096e627
downloader: don't remove peers. keep them around
2015-04-18 23:56:08 +02:00
obscuren
a1d97ea4db
typo
2015-04-18 20:35:49 +02:00
obscuren
6830ddb659
downloader: free up peers from work when the downloader resets
2015-04-18 20:25:55 +02:00
obscuren
7c5d50f627
downloader: throw an error if there are no peers available for download
...
If all peers have been tried during the block download process and some
hashes are unfetchable (available peers > 0 and fetching == 0) throw an
error so the process can be aborted.
2015-04-18 19:30:29 +02:00
obscuren
78e37e98e7
downloader: fixed a race condition for download status
2015-04-18 19:14:25 +02:00
obscuren
0d536734fe
eth: adapted to new synchronous api of downloader's AddBlock
2015-04-18 18:57:59 +02:00
obscuren
c2c24b3bb4
downloader: improved downloading and synchronisation
...
* Downloader's peers keeps track of peer's previously requested hashes
so that we don't have to re-request
* Changed `AddBlock` to be fully synchronous
2015-04-18 18:55:13 +02:00
obscuren
60613b57d1
downloader: make sure that hashes are only accepted from the active peer
2015-04-18 17:35:03 +02:00
obscuren
8244825bbf
downloader: reset the queue if a peer response with an empty hash set
2015-04-18 15:14:12 +02:00
obscuren
eef4776b5b
eth: ignore NewBlockMsg with lower td
2015-04-18 14:25:22 +02:00
obscuren
8f873b762b
downloader: all handlers check for isBusy
2015-04-18 03:15:26 +02:00
obscuren
a6c0a75f9a
eth: fixed proper BroadcastBlock for mined blocks
2015-04-18 02:38:13 +02:00
obscuren
12e8d9c4dd
eth: listen for mined blocks and propagate using the protocol manager
2015-04-18 02:27:37 +02:00
obscuren
ecc74d76cc
eth: drop blocks that are known
2015-04-18 02:24:24 +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
obscuren
2339ee9910
Merge branch 'develop' into downloader-proto
...
Conflicts:
eth/downloader/downloader.go
2015-04-18 01:10:32 +02:00
Felix Lange
56a48101dc
cmd/rlpdump, cmd/utils, eth, p2p, whisper: use rlp input limit
2015-04-17 14:45:09 +02:00
obscuren
73eb8e8c20
eth: basic implementation of the downloader
2015-04-17 13:54:18 +02:00
obscuren
eac2df02d1
downloader: fixed a typo
2015-04-17 00:11:45 +02:00
obscuren
205378016f
downloader: added demotion / promotion in prep. for rep. system
2015-04-16 02:16:33 +02:00
obscuren
eda10c7317
downloader: updated downloader and fixed issues with catch up
...
Properly ignore blocks coming from peers not in our peer list (blocked)
and do never request anything from bad peers. Added some checks to
account for blocks known when requesting hashes (missing parents).
2015-04-16 01:29:32 +02:00
obscuren
3a51c3b584
Merge branch 'develop' into downloader-proto
2015-04-16 01:28:24 +02:00
obscuren
c4678ffd77
downloader: updated downloader and fixed issues with catch up
...
Properly ignore blocks coming from peers not in our peer list (blocked)
and do never request anything from bad peers. Added some checks to
account for blocks known when requesting hashes (missing parents).
2015-04-16 00:14:31 +02:00
obscuren
9800c84348
eth: limit the amount of peers that will receive Block/Tx messages
...
All transaction and block messages are now limited using `sqrt(peers)`
2015-04-14 12:49:15 +02:00
obscuren
333e539ce2
Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop
2015-04-13 17:35:46 +02:00