Commit Graph

412 Commits

Author SHA1 Message Date
arkpar
d890dd6f42 Updated sync algo desription 2016-11-17 13:02:44 +01:00
arkpar
5bddcd8003 Sync bandwidth optimization 2016-11-16 19:34:58 +01:00
Robert Habermeier
37f49aac1b abort snapshot restoration faster (#3356)
* abort snapshot restoration faster

* flag-checking tests
2016-11-13 13:52:53 +01:00
Robert Habermeier
3854b8a689 LES Part 1 (#3322)
* stub implementations of light client trait

* Light provider trait

* light client sync stubs

* LES boilerplate

* stub implementation of provider for client

* skeleton and request traits

* request definitions

* new_list -> begin_list

* handle unknown packet

* revise light implementation strategy

* make verification module public

* Move all light client work to own crate

* experiment with answering requests

* buffer flow scaffolding

* remove LESv2 requests

* buffer flow basics, implement cost table

* begin status module

* implement handshake parsing and creation

* implement announcement serialization

* errors, punishment, and handshake

* handle announcements

* making announcements, clean up warnings

* allow dead code temporarily
2016-11-10 18:30:17 +01:00
Arkadiy Paronyan
eba0dd5023 Additional snapshot sync checks (#3318)
* Additional snapshot sync checks

* Proper checks

* Proper highset block check
2016-11-09 19:40:36 +01:00
Gav Wood
d3de475205 EIPs 155, 160, 161 (#2976)
* The front-end for each hard-fork, also EIP-160.

* Address EIP161 a/c

* Include EIP-161b

* EIP-161 part d.

* Fix test build.

* Fix one test, add another.

* Fix use of bloom & renaming.

* Initial groundwork for EIP-155

* Fix minor bug.

* Fix all tests finally.

* Rest of EIP-155.

* Add tests for EIP-155 algorithm.

Update transaction tests validation.

* Minor reformat.

* Address grumbles.

* Remove unused code.

* Fix SUICIDE gas mechanism and add consensus tests.

* Remove commented code.

* Set Frontier hardfork block number

* Fix warning.

* Transaction tests,
2016-11-03 22:22:25 +01:00
keorn
36d17d5c28 Add RPC enode lookup (#3096)
* add enode rpc

* spaces -> tabs
2016-11-02 19:43:21 +01:00
Arkadiy Paronyan
b7bebdbc75 Restart sync if no more peers with snapshots (#3007) 2016-10-31 14:59:41 +01:00
Arkadiy Paronyan
6931878ff1 Networking and syncing tweaks (#2990)
* Reduce periodic snapshot delay

* Prevent connecting to peers over the min_peers limit

* Smaller block requests for slower connections
2016-10-30 15:39:36 +01:00
Arkadiy Paronyan
4ded10fcbe Fixed transaction propagation (#2984) 2016-10-30 12:19:20 +01:00
Tomasz Drwięga
f17cad9dff Fixing clippy warnings 2 (#2961) 2016-10-29 13:08:49 +02:00
Arkadiy Paronyan
9e82eeccfe Snapshot sync improvements (#2960)
* Status packet timeout

* Snapshot collection state

* Pause snapshot download

* Updated tests
2016-10-29 13:07:06 +02:00
Robert Habermeier
2806f1d4c9 Even more snapshot validity checks (#2935)
* clarify "cancelled periodic snapshot" message

* more rigorous checks for snapshot validity

* verify ancient blocks on import

* limit number of fed blocks

* make it possible to feed snapshot service canonical hashes

* fix failing test build

* swap ethash DAG only when more recent
2016-10-28 16:10:30 +02:00
Arkadiy Paronyan
3edd9e4bee Fixed GetNodeData output (#2892) 2016-10-27 15:25:54 +02:00
Arkadiy Paronyan
bdc372462a Change sync protocol ID (#2912) 2016-10-27 13:49:44 +02:00
Tomasz Drwięga
88997801d0 Clippy bump (#2877)
* Bumping clippy

* Fixing warnings

* Fix the "fix"
2016-10-27 08:28:12 +02:00
Arkadiy Paronyan
135d5d0e4c Snapshot fixes and optimizations (#2863) 2016-10-25 18:40:01 +02:00
keorn
8d0cff3599 Nicer port in use errors (#2859)
* dapps port

* rpc port

* signer port

* different instance as possible cause

* network port
2016-10-25 15:55:53 +02:00
Arkadiy Paronyan
1a5bae8ef1 Extended network options (#2845)
* More network configuration options

* Filter UDP requests

* Fixed tests

* Fixed test warning
2016-10-24 18:25:27 +02:00
Arkadiy Paronyan
9ec091e0cf Move snapshot sync to a subprotocol (#2820) 2016-10-24 16:24:35 +02:00
keorn
866ab9c7a3 Check queue to determine major importing (#2763)
* simplify major sync detection

* fix typos

* fix merge

* more realistic EthTester

* add new synced state

* remove Blocks synced state

* move is_major_importing to rpc crate and check queue

* add tests
2016-10-20 23:36:18 +02:00
Arkadiy Paronyan
7db42df1db Fixed stalled sync (#2747) 2016-10-20 12:56:37 +02:00
Arkadiy Paronyan
20e1d575da Frontport commits from beta to master (#2743)
* Remove count limit for local transactions (#2634)

* Fixed stalled sync
2016-10-20 00:33:00 +02:00
keorn
aa52b04e31 Unify major syncing detection (#2699)
* simplify major sync detection

* fix typos

* fix merge

* more realistic EthTester

* add new synced state
2016-10-19 18:35:39 +02:00
Arkadiy Paronyan
487dfb0208 Snapshot sync part 2 (#2098)
* Split block downloader into a module

* Snapshot sync progress

* Warp sync CLI option

* Increased snapshot chunk and ping timeouts

* Fixed an issue with delayed writes

* Updated bootnodes

* Don't run pending IO tasks on shutdown

* Optional first_block; removed insert_snapshot_block

* Fixing expect calls

* Fixed stalled sync

* style and docs

* Update block_sync.rs

[ci:skip]
2016-10-18 18:16:00 +02:00
Svyatoslav Nikolsky
c9ce25c8f3 Added peers details to ethcore_netPeers RPC (#2580)
* added peers details to ethcore_netPeers RPC

* fixed build (traits autoimplemented)

* - documentation fixes
- spaces -> tabs
- Rust-way Option's handling

* prepare for new protocols in ethcore_netPeers

* commas & documentation
2016-10-12 20:18:59 +02:00
Arkadiy Paronyan
193cdb1326 Don't activate peers on connect; Test (#2537) 2016-10-10 23:05:41 +02:00
Arkadiy Paronyan
ae6c965176 Removing unwarps from sync module (#2551) 2016-10-10 17:43:05 +02:00
Arkadiy Paronyan
f200eb2cfe Backports to master (#2530)
* Transaction queue limited by gas (#2528)

* Use global state cache when mining (#2529)
2016-10-08 10:35:54 +02:00
Nikolay Volf
7526b1d44b Derive IPC interface only when ipc feature is on (#2463)
* derive -> ipc

* accident repair

* conditional ipc deriving

* fix test
2016-10-05 19:42:57 +02:00
Nikolay Volf
2b147616fd derive -> ipc 2016-10-04 19:20:16 +03:00
Robert Habermeier
f4dfbada0a correct sync memory usage calculation (#2385) 2016-09-28 23:00:12 +02:00
Gav Wood
15a14a5f49 Expanse compatibility (#2369)
* Add support for Expanse.

* Fix build.

* Refactor to be able to alter the eth subprotocol name

* Fix JSON.

* Support exp hardfork.

* Fix exp json again.

* Fixed test

* Fix tests.
2016-09-28 14:21:59 +02:00
Robert Habermeier
723d837d05 Snapshot format changes (#2234)
Closes #2213
Omit transaction and receipt roots from abridged block.
No longer use RLP compression.

Make ordered_trie_root generic over an iterator to save an allocation.

Breaks snapshot format backwards compatibility (with other 1.4 snapshots -- it's already been broken with 1.3).

Documentation will need updating
2016-09-22 19:47:03 +02:00
arkpar
302f8a190f Fix syncing with pv63 peers 2016-09-20 17:36:56 +08:00
Tomasz Drwięga
7f7e74869c Bump clippy & Fix warnings (#2109)
* Bump clippy

* Fixing warnings
2016-09-16 23:03:26 +02:00
Arkadiy Paronyan
5c5d9c8ccd Snapshot sync (#2047)
* PV64 sync

* Tests

* Client DB restore

* Snapshot restoration over IPC

* Upating test

* Minor tweaks

* Upating test
2016-09-06 15:31:13 +02:00
Tomasz Drwięga
c0b097832b Skipping log when there are no transactions were sent (#2045) 2016-09-03 01:33:34 +02:00
Robert Habermeier
e0feaa9d4d Merge pull request #2034 from ethcore/rlp-crate
rlp as separate crate
2016-09-02 13:48:09 +02:00
Tomasz Drwięga
5b27ea3b4d Fixing new transactions without alternating (#2039) 2016-09-02 11:37:45 +02:00
Tomasz Drwięga
cabb028c1c Propagating transactions to peers on timer. (#2035) 2016-09-01 19:07:58 +02:00
Robert Habermeier
bb6243c550 merge with master 2016-09-01 15:07:06 +02:00
Robert Habermeier
d763664d16 port network, sync, rpc 2016-09-01 14:49:12 +02:00
Robert Habermeier
9a5668f802 get rid of populatable and bytesconvertable traits (#2019) 2016-09-01 12:23:31 +02:00
Nipunn Koorapati
4389742ca3 Make the block header struct's internals private (#2000)
* Make the block header struct's internals private

Currently, this involves a lot of explicit cloning, but we
could migrate the return types of the get_* functions to
be copies rather than references since they are mostly copy
types anyway.

I opted to eliminate the constructor in favor of using
Default::default() plus calling a bunch of setters. This
is similar to the model that a Google Protobuf client uses
and I think it looks fine.

* Drop some unnecessary cloning by comparing references

* Fix compiler errors from callsites in tests.
2016-08-29 11:35:23 +02:00
Marek Kotewicz
b0d462c6c9 Signature cleanup (#1921)
* Address renamed to H160 at bigint library level

* moved uint specific test from util to bigint library

* naming

* unifing hashes in progress

* unifing hashes

* cleanup redundant unwraps in tests

* Removing util/crypto in progress.

* fixed compiling

* signature cleanup in progress

* new module - ethcrypto used by ethstore and ethcore-network

* fixed compiling

* fixed compiling

* fixed merge
2016-08-24 18:35:21 +02:00
Nikolay Volf
7c5435d3bb fix to use relative socket path 2016-08-22 19:41:58 +03:00
Tomasz Drwięga
f69b3f8522 Create network-specific nodes files (#1970) 2016-08-21 11:23:47 +02:00
Nikolay Volf
46f029e65c Use explicit global namespaces in codegen (#1928)
* ipc as a deault feature

* first part of purge

* second part of ns purge
2016-08-17 15:54:24 +02:00
Tomasz Drwięga
f114a933a3 Peers RPC + UI displaying active/connected/max peers (#1915)
* Peers API

* Bumping Parity-UI

* Fixing tests
2016-08-11 17:19:20 +02:00