Commit Graph

198 Commits

Author SHA1 Message Date
Nikolay Volf ef5079125f Merge pull request #156 from ethcore/do_not_block_p2p_thread
Get rid of verification waiter
2016-11-21 15:41:10 +03:00
Svyatoslav Nikolsky 21cee15d8d use futures::lazy instead of manual IndexedServerTaskFuture 2016-11-21 15:33:13 +03:00
Svyatoslav Nikolsky 124170d255 get rid of verification waiter 2016-11-21 14:10:04 +03:00
Svyatoslav Nikolsky 97db02cba8 reverify decanonized transactions 2016-11-21 12:39:57 +03:00
Svyatoslav Nikolsky f6b46f368b Merge branch 'master' into rely_on_p2p_sync 2016-11-21 09:06:55 +03:00
Svyatoslav Nikolsky 6c1a08b5e8 fixed style 2016-11-18 17:10:57 +03:00
Svyatoslav Nikolsky 964ac87135 getting rid of sync waits 2016-11-18 16:06:14 +03:00
Svyatoslav Nikolsky 47ee3c2a82 all blocks must be unknown to schedule 2016-11-18 14:53:59 +03:00
Svyatoslav Nikolsky b66fd70c6f fixed client construction 2016-11-18 14:39:34 +03:00
Svyatoslav Nikolsky 70bb4ef5cc added test for issue #121 2016-11-18 14:00:14 +03:00
Svyatoslav Nikolsky bd67160689 separate sync verifier 2016-11-18 13:27:47 +03:00
Marek Kotewicz bd2d5c6bbc Merge pull request #146 from ethcore/db
Restructure database
2016-11-18 00:45:52 +01:00
NikVolf 77c01c41e0 refactor sync and bin 2016-11-17 21:37:45 +03:00
Svyatoslav Nikolsky 056e623722 Merge pull request #145 from ethcore/db
Return block inserted chain diag
2016-11-17 20:32:58 +03:00
NikVolf 5a0356fb6b fix block writer 2016-11-17 18:24:04 +03:00
Svyatoslav Nikolsky e533f13647 hash_chain was always initialized with genesis block 2016-11-17 16:28:42 +03:00
Svyatoslav Nikolsky 5d18a770d4 fixed clippy warnings 2016-11-17 14:20:37 +03:00
Svyatoslav Nikolsky 26ab437024 fixed grumbles 2016-11-17 14:14:16 +03:00
Svyatoslav Nikolsky 294d7ca1b7 fixed typo 2016-11-17 13:10:56 +03:00
Svyatoslav Nikolsky 2b1cc7ffc7 test memory_pool_transactions_are_reerified_after_reorganization 2016-11-17 13:09:52 +03:00
Svyatoslav Nikolsky a50e28d254 also reverify mempool transactions after reorg 2016-11-17 12:38:24 +03:00
Svyatoslav Nikolsky b354b1e0cb post-merge fixes 2016-11-17 11:23:05 +03:00
Svyatoslav Nikolsky 4e74bb7f68 Merge branch 'master' into sync_transactions 2016-11-17 11:14:05 +03:00
Svyatoslav Nikolsky bc7cd94747 started work on transactions synchronization 2016-11-17 11:03:24 +03:00
debris 2fd794be97 applied clippy suggestions to make code more idiomatic 2016-11-16 18:30:30 +01:00
NikVolf af687bbbf9 Merge branch 'master' into h256-logging 2016-11-16 18:00:05 +03:00
NikVolf 94fbe040b5 more logging refact 2016-11-16 17:54:43 +03:00
NikVolf cbd4227f35 use reversed hashes in logging 2016-11-16 17:49:36 +03:00
Svyatoslav Nikolsky 9b6f24849d Merge pull request #125 from ethcore/synchronizer
synchronizer
2016-11-16 17:09:09 +03:00
debris 8ecfc9368d executor is always notified about ignored getheaders 2016-11-16 12:12:22 +01:00
debris 8cc045c92b fixed sync code 2016-11-16 11:32:20 +01:00
debris 90c6f6fdc3 ServerTask::Ignore 2016-11-16 11:18:13 +01:00
Svyatoslav Nikolsky 756bb10fcc Support BIP16 2016-11-16 11:52:00 +03:00
debris 1c1d342f73 Merge branch 'master' of github.com:ethcore/parity-bitcoin into synchronizer 2016-11-16 09:31:33 +01:00
Svyatoslav Nikolsky 664005ab66 process notfound messages from sync peers 2016-11-16 10:59:54 +03:00
Nikolay Volf 27c2ceb41e Merge pull request #128 from ethcore/process_db_errors
Process nonfatal db insert errors in sync
2016-11-15 23:19:43 +03:00
Svyatoslav Nikolsky cd61b461b2 added TODO 2016-11-15 18:03:14 +03:00
Svyatoslav Nikolsky 2919430e4f process nonfatal db insert errors 2016-11-15 18:01:33 +03:00
Svyatoslav Nikolsky e33aa81674 changed verify_clocktimeverify 2016-11-15 17:24:33 +03:00
debris abdf6d38ca Merge branch 'master' of github.com:ethcore/parity-bitcoin into synchronizer 2016-11-15 12:48:49 +01:00
Svyatoslav Nikolsky 3897a9e419 fixed tests compilation 2016-11-15 14:17:39 +03:00
Svyatoslav Nikolsky b152c8178d introduced ConsensusParams + BIP65 support 2016-11-15 14:00:46 +03:00
Svyatoslav Nikolsky 0d304dee30 fixed stalling on peer disconnect 2016-11-15 10:47:23 +03:00
Svyatoslav Nikolsky 9b4fe77e1e ask all peers about inventory when entering saturated state 2016-11-14 13:02:25 +03:00
debris 86cff63c30 sync synchronizer part done 2016-11-14 09:56:58 +01:00
Svyatoslav Nikolsky 5f70479e76 synchronization tests && fixes 2016-11-14 09:31:03 +03:00
Svyatoslav Nikolsky 88d3efff96 fixed deadlock with sync responses 2016-11-11 15:01:32 +03:00
Svyatoslav Nikolsky c526e833e3 fixed headers removal 2016-11-11 12:19:45 +03:00
Svyatoslav Nikolsky 781a9e1223 store unknown orphan blocks 2016-11-11 11:38:41 +03:00
Svyatoslav Nikolsky 8d3c5aeb2e more information in sync info! 2016-11-10 17:52:40 +03:00
Svyatoslav Nikolsky 6c7f5a83dd fix test 2016-11-10 16:22:03 +03:00
Svyatoslav Nikolsky e589c25581 fixed sync issue 2016-11-10 16:01:03 +03:00
Svyatoslav Nikolsky c24af2daed fix test + process inventory 2016-11-10 15:16:16 +03:00
Svyatoslav Nikolsky 9d6f09889e Merge branch 'master' into sync_as_bitcoind 2016-11-10 14:56:58 +03:00
Svyatoslav Nikolsky 78cae830cc headers-first sync 2016-11-10 14:50:00 +03:00
Marek Kotewicz 1f4cf7e443 fixed clippy lints for miner, sync, test-data and verification (#103)
* fixed clippy lints for miner, sync, test-data and verification

* make verification check_nbtis more idiomatic
2016-11-09 11:36:52 +01:00
Svyatoslav Nikolsky d9f032edce fixed couple of issues from #91 2016-11-07 12:32:40 +03:00
Svyatoslav Nikolsky adfdef6095 Forks support in sync (#91)
* intersect_with_inventory

* process_new_blocks_inventory fixed to support forks

* fixed sync issues

* fixed on_peer_block to support forks

* forks support in on_block_verification_*

* cleaning up

* cleaning up

* forget about best inventory

* ask for inventory after saturating

* '000..000'.into() -> H256::from(0)
2016-11-07 10:12:34 +01:00
Svyatoslav Nikolsky 85aaa66827 sync description fixed to support forks 2016-11-04 16:03:12 +03:00
Svyatoslav Nikolsky fedb8581d2 initial sync manager version 2016-11-04 12:36:58 +03:00
Svyatoslav Nikolsky 9b5a134d01 initial BlocksWriter version 2016-11-03 14:37:58 +03:00
Svyatoslav Nikolsky 3319e5e1f5 serving mempool request 2016-11-02 15:18:52 +03:00
Svyatoslav Nikolsky aec505a226 serve request 2016-11-02 14:23:38 +03:00
Svyatoslav Nikolsky 0b212ec5eb Serving some sync requests (#73)
* started work on synchronization_server

* continue synchronization server

* added response to getblocks message

* renamed Synchronization to Client

* LocalNode parametrized by Server

* LocalNode parametrized by Client

* fixed test

* support connect to given port via command line

* fixed couple of sync server issues && added sync server trace

* fixing sync issues

* fixed grumbles
2016-11-02 11:15:37 +01:00
Svyatoslav Nikolsky 1113f245c5 initial close_session implementation && test 2016-10-31 20:03:08 +03:00
Svyatoslav Nikolsky 0f4ee638cd added couple of synchroinzation tests 2016-10-31 19:18:58 +03:00
Svyatoslav Nikolsky 44c2faab59 added LocalNode tests 2016-10-31 18:22:02 +03:00
Svyatoslav Nikolsky 812a436d9b added couple of sync peers tests 2016-10-31 17:20:08 +03:00
Svyatoslav Nikolsky 3b91862d85 added synchronization_chain tests 2016-10-31 17:11:16 +03:00
Svyatoslav Nikolsky 1590307666 Merge pull request #66 from ethcore/protocol_on_close
add protocol method on_close
2016-10-31 17:01:54 +03:00
Svyatoslav Nikolsky 4f9d68cd99 Moved sync::BestBlock to db::BestBlock (#65)
* * moved BestBlock to db package
* use u32 as block index in sync package

* fixed compilation after merge
2016-10-31 14:58:48 +01:00
debris a1a66f5df8 add protocol method on_close 2016-10-31 14:44:48 +01:00
Svyatoslav Nikolsky d8a7b1be10 added brackets where identation starts/ends 2016-10-31 15:55:24 +03:00
Svyatoslav Nikolsky f71b49fc5b added some tests for hash_queue_chain 2016-10-31 15:14:25 +03:00
Svyatoslav Nikolsky b5d0644408 fixed tests 2016-10-31 14:46:11 +03:00
Svyatoslav Nikolsky 4e3ea35835 fixed sync::scheduled queue 2016-10-31 14:30:00 +03:00
Svyatoslav Nikolsky 543d66ce03 Fixed grumbles from #54 (#61)
* async verifying

* lost file

* removed debug timer

* fixed compilation && tests

* fixed typo

* async verification refactoring

* fixed sync stall

* fixed dead_code warning

* get rid of extra locks

* fixed tests

* * separated tasks executor from sync node
* local node mutex removed

* fixed grumbles from #54
2016-10-31 11:18:58 +01:00
debris 0d8c24fb7c intentory_type, fixed #39 2016-10-30 13:47:29 +01:00
Svyatoslav Nikolsky 68ddc7fa88 Async verification (#54)
* async verifying

* lost file

* removed debug timer

* fixed compilation && tests

* fixed typo

* async verification refactoring

* fixed sync stall

* fixed dead_code warning

* get rid of extra locks

* fixed tests

* * separated tasks executor from sync node
* local node mutex removed
2016-10-29 11:52:40 +02:00
NikVolf 3ca794ceca Merge branch 'master' into db-up 2016-10-27 12:13:31 +03:00
Svyatoslav Nikolsky 653b250960 fixed style && unwraps 2016-10-27 12:06:24 +03:00
NikVolf 247c3bd516 sync u32 fixes 2016-10-27 02:39:37 +03:00
Svyatoslav Nikolsky 1457d9d056 fixed compilation after merge 2016-10-26 17:46:47 +03:00
Svyatoslav Nikolsky 10f784a73b Merge branch 'master' into sync 2016-10-26 17:43:52 +03:00
Svyatoslav Nikolsky 964d013042 fixed sync tests 2016-10-26 17:33:28 +03:00
Svyatoslav Nikolsky 98803d6afe integrating sync module with db && verification 2016-10-26 15:56:52 +03:00
Svyatoslav Nikolsky 4804ac5e42 Sync with multiple peers (#37)
* * started work multiple peers support in sync
* some tests for synchronization && sync peers

* fixed compilation after merge

* fixed compilation after merge

* fixed compilation after merge

* added TODOs + fixed documentation
2016-10-26 11:46:10 +02:00
Svyatoslav Nikolsky cf4ab2e644 added TODOs + fixed documentation 2016-10-26 12:24:04 +03:00
Svyatoslav Nikolsky 2ab18a3ed4 fixed compilation after merge 2016-10-25 16:05:46 +03:00
Svyatoslav Nikolsky b7a188f68d fixed compilation after merge 2016-10-25 16:05:10 +03:00
Svyatoslav Nikolsky 917d18d6a5 Merge branch 'master' into sync 2016-10-25 16:03:34 +03:00
NikVolf fa4994941e fix typo 2016-10-25 15:54:09 +03:00
Svyatoslav Nikolsky dffa97de1e fixed compilation after merge 2016-10-25 15:52:13 +03:00
Svyatoslav Nikolsky 693f01393d Merge branch 'master' into sync 2016-10-25 15:48:28 +03:00
Svyatoslav Nikolsky d044acc3c9 * started work multiple peers support in sync
* some tests for synchronization && sync peers
2016-10-25 15:43:32 +03:00
NikVolf 387f9bc429 toh256 -> represeth256 2016-10-25 15:34:06 +03:00
NikVolf 108b4b6383 h256 represented entities 2016-10-24 18:18:02 +03:00
Svyatoslav Nikolsky b081ca3d70 Continue synchronization protocol impl (#30)
* p2p <-> sync interfaces proposal

* updated with example

* send errors will be handled in p2p module => no need to return to the sync

* poc of outbound sync connection

* simplified send_to_peer

* context has cpu pool and enent loop handles

* on_message won't return ProtocolAction anymore

* session initialized sync protocol, remove retain cycles on P2P::drop

* removed ProtocolAction

* uncommented ping protocol

* node_table sorts nodes also by recently used time

* started work on sync package

* send getaddr on connect

* fixed node_table insert, added insert_many

* addr protocol

* sync headers response

* continue sync

* continue sync protocol

* separated sync connection start from sync connection creation

* switched to getblocks (instead of getheaders)

* starting to receive blocks in sync

* deal with orphaned blocks in sync::local_chain

* continue sync

* fix warnings

* removed TODOs

* protocol::sync is back to private state

* fixed grumbes
2016-10-24 16:38:33 +02:00