Commit Graph

269 Commits

Author SHA1 Message Date
debris 6aa78e42e1 db cache refactor in progress 2017-04-21 09:54:18 +02:00
debris 890bbb05d0 updated dependencies 2017-04-14 12:49:39 +02:00
debris 57fd472db8 updated dependencies 2017-04-14 12:45:04 +02:00
debris 1eb99cd8b9 use tempdir instead of devtools 2017-04-06 01:05:37 +07:00
debris dd36a624fa updated dependencies and graph 2017-04-05 17:17:23 +07:00
Marek Kotewicz 77cfd9e8f7 db refactor (#385)
* db refactor in progress, refactored kvdb

* kvdb refactor

* removed unused RwLock

* removed unused RwLock

* BlockChainDatabase

* db refactor in progress

* implemented BlockProvider for newdb

* fixed compiling

* newdb TransactionMeta

* newdb tests

* reopen tests for newdb

* replaced old db with new db

* chain_verifier uses new db

* sync module uses refactored db

* check double spends in verification layer

* added Forkable trait to satisfy resolving recursive types by compiler

* new db regtests in progress

* fixed verification and sync unit tests

* fixed miner and rpc unit tests

* implemented fmt::Debug for few structs

* removed commented out code

* fixed bencher target

* removing commented out code, polishing db_refactor pr
2017-04-05 16:37:58 +07:00
debris cd5287bb2d updated parking_lot to 0.4 2017-03-26 15:17:28 +07:00
debris acb1cbdfd2 use tokio_io::AsyncRead in p2p lib 2017-03-25 16:05:49 +07:00
debris fd930306f6 updated mio to 0.6.6 2017-03-25 15:55:23 +07:00
debris 2552a04edc few more dependencies updated 2017-03-20 14:23:29 +01:00
debris 35f84b4cb9 updated tokio-core and dependant crates 2017-03-20 14:18:22 +01:00
debris 98a82ea779 updated futures and rayon crate 2017-03-20 08:37:28 +01:00
debris f193a03fd6 updated csv && byteorder libraries 2017-03-12 16:05:35 +01:00
debris 87e6e3b110 update the rest of dependencies 2017-03-07 18:11:06 +01:00
Svyatoslav Nikolsky 6f54817ff9 updated jsonrpc modules and serde from 0.8 to 0.9 2017-03-07 17:55:19 +01:00
Svyatoslav Nikolsky 19bc0b1261 updated dependencies + removed TODO 2017-01-30 12:47:20 +03:00
Svyatoslav Nikolsky ba918625d5 temporary switched to github version of tokio-core 2017-01-12 00:38:14 +03:00
NikVolf 2dd14569a5 fix depenedency 2017-01-11 11:42:51 +03:00
Nikolay Volf 6995388a7b Merge pull request #367 from ethcore/deps_up
Updated dependencies
2017-01-11 12:33:15 +04:00
Svyatoslav Nikolsky 4b2934dff3 updated dependencies 2017-01-11 09:49:56 +03:00
Svyatoslav Nikolsky 07d4f00241 implemented blocknotify option 2017-01-10 11:58:55 +03:00
NikVolf 21d326d21f change deps 2016-12-27 18:45:46 +03:00
NikVolf b65c191af0 bloom for transactions meta 2016-12-26 18:49:47 +03:00
NikVolf b9dd932983 align with crate 2016-12-26 16:00:44 +03:00
debris 76453c956e TransactionBuilder can build transaction with desired size and number of sigops 2016-12-23 12:04:04 +01:00
debris 2beb3aa7d2 updated jsonrpc libraries to latest version, support for jsonrpc v1 2016-12-20 11:42:51 +01:00
debris f1f68f497b P2shCoinbaseTransactionBuilder && Magic::Unitest && removed skip_pow from chain_verification 2016-12-15 14:27:36 +01:00
NikVolf 89b2591e6f update kvdb from parity 2016-12-14 20:59:58 +01:00
Svyatoslav Nikolsky a0193c024d Merge pull request #327 from ethcore/verification-bench
Verification benchmark
2016-12-14 15:17:45 +03:00
NikVolf c0e134a36e verification of 1000-transaction blocks 2016-12-13 22:01:15 +01:00
debris 7baaa47b8c import is hashing blocks when reading, added --skip-verification flag 2016-12-13 20:49:41 +01:00
debris ce7af59ad3 hash block and transactions while reading them 2016-12-13 18:06:46 +01:00
Svyatoslav Nikolsky f14f809401 Merge branch 'master' into rpc_blockchain 2016-12-13 13:39:46 +03:00
Svyatoslav Nikolsky 9e1932e7f9 finished gettxout implementation 2016-12-12 21:49:01 +03:00
debris c59e84ebe5 Merge branch 'master' of github.com:ethcore/parity-bitcoin into block_assembler_tests 2016-12-12 15:23:18 +01:00
debris 64a3d4d080 verification refactor almost done 2016-12-12 12:04:19 +01:00
debris 1d2e0ce495 TransactionAcceptor 2016-12-11 22:31:10 +01:00
debris 0df90a85bd use rayon for parallel verification 2016-12-11 17:42:26 +01:00
Svyatoslav Nikolsky fc146bd225 continue blockchain RPCs 2016-12-10 21:24:39 +03:00
Svyatoslav Nikolsky bca86010df continue blockchain RPCs implementation 2016-12-10 18:05:03 +03:00
Svyatoslav Nikolsky 4f7d44691a Merge branch 'master' into rpc_blockchain 2016-12-10 15:52:12 +03:00
Svyatoslav Nikolsky 416ac097b5 started getblock iplementation 2016-12-10 13:50:07 +03:00
debris d8f6dbea86 use just one version of parking_lot 2016-12-10 02:07:29 +01:00
debris 3c1fd8d46a use jsonrpc-macros, fixes #277 2016-12-10 01:25:15 +01:00
debris 74ca4725ed updated dependencies and graph 2016-12-09 22:20:17 +01:00
Marek Kotewicz 9a3c8de606 Merge pull request #273 from ethcore/tx-cache
Transaction & meta lru cache (WiP)
2016-12-09 19:40:43 +01:00
Svyatoslav Nikolsky d706a8300d implemented getblocktemplate RPC method 2016-12-09 17:34:04 +03:00
Svyatoslav Nikolsky 37e4896547 Merge pull request #271 from ethcore/block_assembler
Block assembler
2016-12-09 16:12:44 +03:00
NikVolf f4690712d0 Merge branch 'master' into tx-cache 2016-12-09 13:21:44 +01:00
NikVolf bf6396f505 transaction & meta lru cache 2016-12-09 13:10:52 +01:00
debris 3080ade4bd sigops counting separated to its own module 2016-12-09 11:16:50 +01:00
debris 2c707b94c7 Merge branch 'master' of github.com:ethcore/parity-bitcoin into block_assembler 2016-12-08 21:20:59 +01:00
debris 5a1041f72a change nbits: u32 -> bits: Compact, miner uses verification 2016-12-08 21:17:28 +01:00
debris fc41aba63d fixed a couple of TODOs in block assembler 2016-12-08 20:33:10 +01:00
debris f5b1d95d2d block assembler in progress 2016-12-08 16:45:37 +01:00
Svyatoslav Nikolsky 2f0b42a5b5 Merge branch 'master' into sync_sendrawtransaction 2016-12-08 18:33:37 +03:00
Svyatoslav Nikolsky 23da291f95 accept_transaction 2016-12-08 14:48:00 +03:00
Svyatoslav Nikolsky 99aa1c2330 another porion of parity RPC copypaste 2016-12-07 16:14:52 +03:00
Svyatoslav Nikolsky 53bf8a26ac copypasted RPC framework from Parity 2016-12-07 13:30:31 +03:00
debris 323fed16f0 updated dependencies and graph 2016-12-01 11:20:10 +01:00
debris d7daed26cf basic print-to-console 2016-12-01 10:40:56 +01:00
NikVolf a17c2fe82a using task-splitter in block 2016-11-29 14:07:11 +03:00
debris bcc84f6f6f updated dependencies and graph 2016-11-28 10:37:17 +01:00
Nikolay Volf e5afbf3877 Merge pull request #202 from ethcore/sync_cmpctblk
Process cmpctblk message
2016-11-27 22:09:50 +03:00
Svyatoslav Nikolsky d331dfde32 Merge branch 'master' into sync_cmpctblk 2016-11-27 17:53:34 +03:00
debris 42ce57e6a8 fixed bip30 tests, tx finality reg tests passing 2016-11-27 15:05:49 +01:00
debris 847cb36c6f chain verifier does not have hardcoded network constants 2016-11-25 18:38:21 +01:00
Svyatoslav Nikolsky 494ef56858 process cmpctblock message 2016-11-25 18:07:03 +03:00
Marek Kotewicz 5b3e34715f Merge pull request #177 from ethcore/pow_validation
pow and timestamp median validation
2016-11-25 15:07:20 +01:00
Nikolay Volf 01dfe36a66 Merge pull request #187 from ethcore/sync_feefilter
Process `feefilter` message
2016-11-25 15:46:45 +03:00
NikVolf 6f6b6be083 Merge branch 'master' into pow_validation 2016-11-25 15:16:32 +03:00
NikVolf 9f4469e480 fix timestamp generation and check 2016-11-25 14:40:07 +03:00
Svyatoslav Nikolsky deb4ab7d4c Merge pull request #175 from ethcore/bencher
Dedicated bencher executable for database
2016-11-25 10:19:19 +03:00
Svyatoslav Nikolsky eb23a7d901 started work on feefilter message 2016-11-25 09:07:29 +03:00
debris 3a771fc122 removed unused code 2016-11-25 02:01:21 +01:00
debris 49dcd81f93 Merge branch 'master' of github.com:ethcore/parity-bitcoin into pow_validation 2016-11-24 23:37:27 +01:00
debris 355306e747 retarget 2016-11-24 23:33:51 +01:00
NikVolf b19408a0a8 dedicated bencer 2016-11-24 13:18:18 +03:00
Svyatoslav Nikolsky 62d5daf29b added tests for merkleblock message 2016-11-24 12:26:37 +03:00
Nikolay Volf a961bcdbed Merge pull request #172 from ethcore/sync_filter
Sync ConnectionFilter to support `filterload`, `filteradd` && `filterclear` inf future
2016-11-23 11:55:54 +03:00
debris 961e4361cf pow validation in progress 2016-11-23 04:10:11 +01:00
Svyatoslav Nikolsky cc48f0a75f initial connection filter commit 2016-11-22 18:03:07 +03:00
NikVolf 1cbb5afcd6 build script 2016-11-22 17:14:23 +03:00
debris 695617e66f removed unused devtools 2016-11-21 18:33:08 +01:00
debris edfc13f0ba fixed interpreter OP_DUP operation, converting integers to hashes, added more traces 2016-11-21 17:05:42 +01:00
debris 389ddc5f95 fixed tools/draw_graph.sh 2016-11-16 17:51:54 +01:00
debris 163627a3cc updated dependencies and graph 2016-11-16 17:50:01 +01:00
NikVolf 3ad579ea29 proper tx sigopcounting 2016-11-14 23:56:43 +03:00
NikVolf 5fcba908f4 transaction & block sigops amount check 2016-11-14 21:18:30 +03:00
Svyatoslav Nikolsky c24af2daed fix test + process inventory 2016-11-10 15:16:16 +03:00
debris 68a3bb2d34 linting in progress 2016-11-08 16:37:06 +01:00
debris 436d925ba6 clippy lints enabled for crypto, message, p2p, pbtc, primitives and serialization 2016-11-08 11:51:34 +01:00
debris 98daea8981 updated dependencies and graph 2016-11-04 13:11:58 +01:00
Marek Kotewicz efa100a253 Merge pull request #87 from ethcore/sync_manager
Initial sync manager version
2016-11-04 13:08:09 +01:00
debris fc32423017 save node_table to $APP_DIR/p2p/nodes.csv 2016-11-04 12:08:58 +01:00
Svyatoslav Nikolsky fedb8581d2 initial sync manager version 2016-11-04 12:36:58 +03:00
debris 521482f2ec work on import command in progress 2016-11-03 17:19:35 +01:00
debris bbf887a0ad Merge branch 'master' of github.com:ethcore/parity-bitcoin into p2p_multiple_connections 2016-11-03 10:48:22 +01:00
debris 67aae38673 Merge branch 'master' of github.com:ethcore/parity-bitcoin into p2p_multiple_connections 2016-11-03 00:22:32 +01:00
debris 448259328d connect to multiple nodes automatically 2016-11-03 00:22:23 +01:00
Svyatoslav Nikolsky 3319e5e1f5 serving mempool request 2016-11-02 15:18:52 +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
debris 05ed9567e9 import module 2016-10-31 03:12:44 +01:00
debris bcdbaf4a10 Merge branch 'master' of github.com:ethcore/parity-bitcoin into p2p_tests 2016-10-30 11:44:18 +01:00
debris b32bf9f29f handshake tests 2016-10-30 11:44:10 +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
debris 870ed917d7 updated dependencies and graph 2016-10-28 11:11:42 +02:00
Svyatoslav Nikolsky 6f94a91b82 added option to sync with disk database (#45) 2016-10-27 16:26:12 +02:00
NikVolf 93b765d8ea u32 everywhere 2016-10-26 23:58:19 +03:00
Svyatoslav Nikolsky 98803d6afe integrating sync module with db && verification 2016-10-26 15:56:52 +03:00
debris e1e532d5a6 updated dependencies and graph 2016-10-25 10:07:25 +02:00
Marek Kotewicz 6ac07659b6 seednodes dns lookup (#34)
* fixed compile error after merging 29 & 30

* dns lookup

* connect to seednode
2016-10-25 09:55:43 +02:00
Nikolay Volf fa4cd03713 Basic chain verifier (#28)
* redundant spaces

* chain verifier stub

* test storage stub

* test storage -a

* iteration test layout

* flush work

* nbits check

* age & coinbase

* utils mod

* fix warnings

* transaction verification

* merkle root

* first tx test

* use all

* test storage to db
2016-10-24 17:58:38 +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
Marek Kotewicz 02816aaa4e addr protocol && start of sync protocol (#25)
* 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

* send getaddr on connect

* fixed node_table insert, added insert_many

* addr protocol

* added TODO: remove
2016-10-24 10:42:11 +03:00
Nikolay Volf eb6c0aefa7 Merge pull request #20 from ethcore/test_data_framework
test_data::ChainBuilder for generating transactions in tests
2016-10-20 18:23:11 +03:00
debris 9e29355cca updated dependencies and graph 2016-10-20 16:28:49 +02:00
Svyatoslav Nikolsky e03cf06a16 test_data::ChainBuilder for generating transactions for tests 2016-10-20 17:21:28 +03:00
NikVolf cc8f90fc3b Merge branch 'master' into verification 2016-10-20 17:10:19 +03:00
NikVolf 5405282e8d Merge branch 'master' into test-crate 2016-10-20 17:03:26 +03:00
debris b6584cd2ce Merge branch 'master' of github.com:ethcore/parity-bitcoin into p2p_logging 2016-10-19 15:45:26 +02:00
Marek Kotewicz 92ede43e16 Merge pull request #16 from ethcore/mempool_heapsize
Implemented HeapSizeOf trait for MemoryPool
2016-10-19 15:43:30 +02:00
debris 49bb034bbd added logger to p2p, fixed reading messages 2016-10-19 14:17:18 +02:00
NikVolf cb7766ddd6 more tests 2016-10-19 14:39:58 +03:00
NikVolf 9f49d0c505 Merge branch 'test-crate' into verification 2016-10-19 13:33:18 +03:00
Svyatoslav Nikolsky efdd30da17 implemented HeapSizeOf for MemoryPool 2016-10-19 13:07:11 +03:00
NikVolf 729c920cc4 test data crate 2016-10-18 18:23:40 +03:00
NikVolf eaf2240e6b Merge branch 'master' into verification 2016-10-18 17:55:52 +03:00
NikVolf e50402fb14 basic processing 2016-10-18 16:53:59 +03:00
debris f61f6de84c Merge branch 'master' into p2p 2016-10-18 01:46:03 +02:00
NikVolf 2991cc6193 crate layout 2016-10-17 22:27:45 +03:00
debris f7bfa16195 p2p in progress 2016-10-17 10:52:15 +02:00
Svyatoslav Nikolsky e3968cfa46 Merge branch 'master' into mempool 2016-10-16 21:38:04 +03:00
Svyatoslav Nikolsky 40b1241ccf initial commit for MemoryPool 2016-10-16 21:32:11 +03:00
debris 3625fb06c2 updated dependency graph 2016-10-16 11:55:42 +02:00
NikVolf 8666aae12b Merge branch 'master' into db-store 2016-10-15 12:31:27 +03:00
debris 4bb9726d09 fixed linking parking_lot, remove wildcard imports 2016-10-14 15:02:04 +02:00
debris 47d7149909 Merge branch 'master' into db-kvdb 2016-10-14 14:56:09 +02:00
debris 4b0af4f249 updated dependencies 2016-10-14 11:08:39 +02:00
NikVolf ae2c081c2e more storage methods 2016-10-13 22:06:18 +03:00
NikVolf e3659e44f7 store trait 2016-10-13 15:06:12 +03:00
NikVolf deefe60a13 key-value database initial 2016-10-13 14:13:50 +03:00
debris 67309678c0 removed printlns, updated deps 2016-10-13 09:23:37 +02:00
debris 25c7d20c1e p2p module in progress 2016-10-12 19:39:50 +02:00
debris 5169ea0016 p2p module in progress 2016-10-12 14:30:50 +02:00
debris c0448f3110 p2p streams... 2016-10-05 17:23:50 +02:00
debris ffcb4d5a20 improved p2p interface 2016-10-04 12:33:23 +02:00
debris 742e9a6fff improved connect in main.rs 2016-10-04 02:06:45 +02:00
debris e8de78bc0b few more message types 2016-10-03 23:36:22 +02:00
debris dc21039182 net lib renamed to message 2016-10-03 16:29:07 +02:00