Robert Habermeier
62b340f2b9
Save pending local transactions in the database ( #4566 )
...
* Create new column family for local node info
* remove DBTransaction::new reliance on DB
* KeyValueDB trait
* InMemory KeyValueDB implementation
* journaldb generic over KVDB
* make most of `ethcore` generic over KVDB
* fix json tests compilation
* get all tests compiling
* implement local store (just for transactions)
* finish local store API, test
* put everything into place
* better test for skipping bad transactions
* fix warning
* update local store every 15 minutes
* remove superfluous `{}`s
2017-02-20 17:21:55 +01:00
Robert Habermeier
9316eb4ad3
(most of) parity RPC for light client
2017-02-17 21:38:43 +01:00
Robert Habermeier
baf0dbc6bf
LightProvider struct using light transaction queue
2017-02-09 18:42:18 +01:00
Robert Habermeier
028dbe5fe2
rename get_header to block_header by convention
2017-02-08 20:22:41 +01:00
Robert Habermeier
3b9ac7648c
with_context on LightSync
2017-02-02 17:02:46 +01:00
Robert Habermeier
fd44dcda15
rename LES protocol ID
2017-02-02 15:22:38 +01:00
Gav Wood
8404edb656
Fix whitespace ( #4299 )
...
* Fix whitespace.
* Update copyright years/owner.
* Push release only for tags.
2017-01-25 18:51:41 +01:00
Svyatoslav Nikolsky
092e24b9f2
Integration with zgp whitelist contract ( #4215 )
...
* zgp-transactions checker
* polishing
* rename + refactor
* refuse-service-transactions cl option
* fixed tests compilation
2017-01-22 16:15:22 +01:00
Robert Habermeier
203fd8a471
Memory-based pruning history size ( #4114 )
...
* prune states based on memory param
* pruning memory CLI and usage in sync
* return purged value from memorydb
* calculate memory used incrementally in overlayrecentdb
* refactor shared history pruning code in client
* Fixed usage alignment
* journal_size function for fast memory calculation
2017-01-20 13:25:53 +01:00
Robert Habermeier
a791cb50a6
Light protocol syncing improvements ( #4212 )
...
* remove old lint silencer
* dispatch requests only to peers with higher TD
* dynamic target for sync rounds
* use round pivots instead of frames, fix test
* fix total difficulty calculation for test client
* fix broken reorg algorithm
* fork test, fix ancestor search
2017-01-20 12:41:59 +01:00
Robert Habermeier
3ff9324ec0
LES Peer Info ( #4195 )
...
* connected peers function for network service
* get LES peer info in sync API
* new peer info in RPC
2017-01-20 12:41:49 +01:00
Tomasz Drwięga
24aec5191a
Fixing minimal transaction queue price ( #4204 )
...
* Fixing minimal transaction queue price
* Fixing tests
2017-01-18 19:44:24 +01:00
keorn
73b80869f5
Remove unnecessary Engine method ( #4184 )
...
* remove register_account_provider
* build rpc module
* new dummy client
2017-01-18 18:49:50 +01:00
Tomasz Drwięga
e11353f94c
UnverifiedTransaction type ( #4134 )
...
* Introducing ValidSignedTransaction
* Verifiying transactions in engines
* Widening use of VerifiedSignedTransaction
* Renaming Transactions
* Uncommenting banning queue & Fixing tests
* Fixing json tests
* Fixing pre-homestead test
* Fixing imports
* Addressing grumbles
* Fixing test
2017-01-13 08:51:36 +00:00
Robert Habermeier
7123f19a75
Test harness for lightsync ( #4109 )
...
* make on_connect/disconnect public
* free flow params constructor
* Shared ownership of LES handlers
* light provider impl for test client
* skeleton for testing light sync
* have test_client use actual genesis
* fix underflow in provider
* test harnesses for lightsync
* fix tests
* fix test failure caused by test_client changes
2017-01-11 14:39:03 +01:00
Tomasz Drwięga
21006da125
Get rid of unsafe code in ethkey, propagate incorrect Secret errors. ( #4119 )
...
* Implementing secret
* Fixing tests
2017-01-11 12:16:47 +01:00
keorn
be30c44179
Validator/authority contract ( #3937 )
...
* dir
* simple validator list
* stub validator contract
* make the engine hold Weak<Client> instead of IoChannel
* validator set factory
* register weak client with ValidatorContract
* check chain security
* add address array to generator
* register provider contract
* update validator set on notify
* add validator contract spec
* simple list test
* split update and contract test
* contract change
* use client in tendermint
* fix deadlock
* step duration in params
* adapt tendermint tests
* add storage fields to test spec
* constructor spec
* execute under wrong address
* create under correct address
* revert
* validator contract constructor
* move genesis block lookup
* add removal ability to contract
* validator contract adding validators
* fix basic authority
* validator changing test
* more docs
* update sync tests
* remove env_logger
* another env_logger
* cameltoe
* hold EngineClient instead of Client
* add a comment about lock scope
2017-01-10 12:23:59 +01:00
Arkadiy Paronyan
5c5244911e
No reorg limit for ancient blocks ( #4099 )
2017-01-10 12:22:28 +01:00
keorn
8d256b223d
Fix rebroadcast panic ( #4084 )
...
* fix
* fix compile
* remove peers trace
* simplify
* Fixing 'simplify'
2017-01-09 12:41:19 +01:00
Tomasz Drwięga
4c94878cf7
Sending transactions in chunks. ( #4089 )
2017-01-09 11:20:02 +01:00
Tomasz Drwięga
71e6e24a1f
Improving logs for transactions sync and disable re-broadcasting while syncing ( #4065 )
...
* Improving logs for transaction propagation
* Propagate only on timer
2017-01-08 17:12:17 +01:00
Tomasz Drwięga
1b93d79a90
Re-broadcast transactions to few random peers on each new block. ( #4054 )
...
* Introduce predictable randomness in tests
* Re-broadcasting to few peers
2017-01-06 10:38:49 +01:00
Robert Habermeier
e6324a83f1
Merge branch 'master' into lightsync
2016-12-28 15:53:11 +01:00
Robert Habermeier
fe1f542c4f
Owning views of blockchain data ( #3982 )
...
* owning views of blockchain data
* port blockchain and client traits to owning views
* fix ethcore tests
* use strong headers and bodies in ethcore_light
* port ethsync to use owning views
* port rpc to owning views
* port parity informant and blockchain export
2016-12-28 12:44:51 +00:00
Robert Habermeier
592a3ac623
Merge pull request #3974 from ethcore/mock-net
...
make test network generic over peer type
2016-12-28 13:32:06 +01:00
Robert Habermeier
8125b5690c
Port try
macro to new ?
operator. ( #3962 )
...
* initial untry sweep
* restore try in ipc codegen, fix inference
* change a few missed try instances
2016-12-27 12:53:56 +01:00
Robert Habermeier
84219a0094
make test network generic over peer type
2016-12-27 11:23:57 +01:00
Arkadiy Paronyan
5a3c3bcb45
Sync reorg up to history size ( #3874 )
...
* Allow sync reorg up to pruning history size
* Peer difficulty tracking
* Abort downloading block if received with NewBlock
* Set pruning history to 1200
* Renamed history size field
2016-12-23 18:43:40 +01:00
Robert Habermeier
d0194f3ad3
Merge branch 'master' into lightsync
2016-12-23 13:39:06 +01:00
Nikolay Volf
af501e6467
Custom attribute for binary serialization ( #3922 )
...
* derive(Binary) -> binary
* ethcore types refact
* fixup ethcore
* make binary optional
* fix common types
* fix updater
* remove condition
2016-12-21 15:09:35 +01:00
Robert Habermeier
a48435ca60
Merge branch 'master' into lightsync
2016-12-19 13:15:37 +01:00
Robert Habermeier
d765611050
allow queue to drain fully when idle
2016-12-19 12:41:00 +01:00
Robert Habermeier
ccdf5d5873
increase tick timer and limit peers to one req
2016-12-19 12:28:42 +01:00
Robert Habermeier
893892ca12
remove request limiting from sync service
2016-12-17 00:31:21 +01:00
Robert Habermeier
be914ddfc7
fix check for moving backwards
2016-12-16 23:53:36 +01:00
Robert Habermeier
e57ab96731
fix reverse start block check
2016-12-16 23:21:59 +01:00
Robert Habermeier
08587a1f56
fix subchain request ordering
2016-12-16 23:21:51 +01:00
Robert Habermeier
653363c572
limit to one pending request per peer
2016-12-16 23:21:17 +01:00
Robert Habermeier
a7505be627
fix deadlocks
2016-12-16 22:09:29 +01:00
Robert Habermeier
8b88ef1844
add light sync service to ethsync
2016-12-16 17:38:16 +01:00
Robert Habermeier
f85313fbff
Merge branch 'master' into lightsync
2016-12-16 15:29:11 +01:00
Robert Habermeier
ce84215d93
naive and bad request dispatcher
2016-12-16 15:26:39 +01:00
arkpar
65f07e5aa7
Renamed some functions
2016-12-16 14:54:26 +01:00
Robert Habermeier
0d7b638a2d
ancestor search response handler
2016-12-16 14:53:36 +01:00
arkpar
6c9de9e6f8
Merge branch 'master' of github.com:ethcore/parity into tx-block
2016-12-16 13:36:07 +01:00
Gav Wood
6e5a583cb4
Merge pull request #3505 from ethcore/check-updates
...
Auto-updating
2016-12-16 13:01:49 +01:00
Gav Wood
b437265082
Fix build.
2016-12-16 11:27:00 +01:00
Gav Wood
396ab5b361
Refactor and make is_syncing.
2016-12-16 10:31:10 +01:00
Robert Habermeier
a1f32de2d9
Merge branch 'master' into lightsync
2016-12-15 23:55:04 +01:00
keorn
447196398a
fix start_step
2016-12-15 23:36:06 +01:00
Robert Habermeier
8622ab66dc
skeleton for maintain_sync: all but dispatch
2016-12-15 22:42:24 +01:00
Robert Habermeier
9c7340307e
handle events, minimal state machine
2016-12-15 21:51:08 +01:00
arkpar
f8961484c1
Merge branch 'master' of github.com:ethcore/parity into tx-block
2016-12-15 19:10:33 +01:00
Robert Habermeier
5346539ef8
minimal header import and client service
2016-12-15 18:47:26 +01:00
arkpar
2952ea1b85
Delayed transactions
2016-12-15 18:19:19 +01:00
Robert Habermeier
f776f48023
drain prepared headers from sync round
2016-12-15 17:33:25 +01:00
Robert Habermeier
71e96aca10
handle abandoned requests
2016-12-15 16:19:28 +01:00
Robert Habermeier
ec88a992e3
provide response context to response handler
2016-12-15 15:50:36 +01:00
Robert Habermeier
5d8bfd8758
handle responses for round scaffold and frames
2016-12-15 13:05:38 +01:00
Robert Habermeier
0768a61944
light: add LightChainClient trait
2016-12-14 23:26:15 +01:00
Robert Habermeier
1bcfc9348d
light: specialize Downloader to SyncRound
2016-12-14 23:25:51 +01:00
Robert Habermeier
91b8fa7039
light: downloader state machine stub
2016-12-14 22:57:30 +01:00
Robert Habermeier
0d466fa8d0
light: tests for response module
2016-12-14 20:27:03 +01:00
Robert Habermeier
887bcfb88a
light: response decoding and verification module
2016-12-14 19:36:48 +01:00
Robert Habermeier
359d433292
light: pass incoming responses to peer state machine
2016-12-13 22:26:06 +01:00
Robert Habermeier
6fb71527e4
light: search for common ancestor with peers
2016-12-13 21:09:57 +01:00
Robert Habermeier
8c64400654
light: change sync module name
2016-12-13 21:09:43 +01:00
arkpar
49ae375605
Don't coneect peers on each sync
2016-12-13 13:23:10 +01:00
Robert Habermeier
c2264bed27
light: skeleton for sync service
2016-12-13 00:08:39 +01:00
keorn
fa504e510f
Merge branch 'master' into auth-bft
2016-12-12 21:28:46 +01:00
keorn
19adb84527
TestNet flushing and cleanup
2016-12-12 19:44:24 +01:00
keorn
722cd4d086
AuthorityRound fork test
2016-12-12 17:24:48 +01:00
keorn
8ed89bb74f
propagate proposal to all peers
2016-12-12 13:00:51 +01:00
Gav Wood
c0a2d5c8f5
Merge pull request #3796 from ethcore/tx-broadcast
...
Avoid broadcasting transactions to peers that send them
2016-12-12 04:13:56 +01:00
Gav Wood
58b72c521d
Rename ethcore -> parity in licenses.
2016-12-11 19:31:31 +01:00
Gav Wood
17cc2be4b5
Rename ethcore -> parity in license.
2016-12-11 19:30:54 +01:00
keorn
a4bf914683
Merge branch 'auth-bft' of https://github.com/ethcore/parity into auth-bft
2016-12-11 18:23:54 +01:00
Tomasz Drwięga
b56f12adc6
Merge branch 'master' into tx-broadcast
...
Conflicts:
ethcore/light/src/net/context.rs
ethcore/light/src/net/tests/mod.rs
2016-12-11 17:31:56 +01:00
arkpar
c777362d02
Sync channel for consensus test
2016-12-11 12:32:01 +01:00
Tomasz Drwięga
19ca9ad460
Prevent broadcasting transactions to peer that send them.
2016-12-10 21:22:19 +01:00
keorn
f3af0f46be
Merge branch 'master' into auth-bft
2016-12-10 18:14:35 +01:00
keorn
1611d190ba
initial tendetmint consensus test
2016-12-10 17:40:53 +01:00
Tomasz Drwięga
aaf6da4c00
Returning persistent node id
2016-12-10 16:55:29 +01:00
Robert Habermeier
a6fcd8a0d9
Merge pull request #3794 from ethcore/net-fix
...
Network connectivity fixes
2016-12-10 16:55:17 +01:00
Tomasz Drwięga
704054ef40
Merge branch 'master' into tx-broadcast
...
Conflicts:
ethcore/src/client/traits.rs
2016-12-10 15:23:53 +01:00
Tomasz Drwięga
e1ade5b375
Maintaining a list of transactions propagated from other peers
2016-12-10 15:18:44 +01:00
arkpar
02c788a403
Network connectivity fixes
2016-12-10 14:20:34 +01:00
Gav Wood
82efa2675e
Merge remote-tracking branch 'origin/master' into consistent-id
2016-12-10 13:36:30 +01:00
keorn
e5f8044cad
Merge branch 'master' into auth-bft
2016-12-10 11:01:23 +01:00
Gav Wood
5f1fcf95e0
Make *ID names consistent with std Rust (Id)
2016-12-09 23:01:43 +01:00
Robert Habermeier
503b126c93
Merge branch 'master' into lightserv
2016-12-09 21:37:55 +01:00
arkpar
97f358ced9
AuthorityRound network simulation test
2016-12-09 20:38:06 +01:00
arkpar
ca7406773f
AuthorityRound network simulation test
2016-12-09 19:27:16 +01:00
keorn
762e5f1e3e
proposed block sync tests
2016-12-09 12:05:56 +01:00
Robert Habermeier
e7ce8c9558
light: broadcast status updates to peers
2016-12-08 23:57:09 +01:00
Robert Habermeier
6f5f1f5e26
light: integrate with sync + serve_light CLI
2016-12-08 23:21:47 +01:00
Robert Habermeier
efd66f566d
ethsync: optional ipc codegen
2016-12-08 19:52:48 +01:00
keorn
3ebfa1481d
better proposal block handling
2016-12-08 12:03:34 +01:00
Robert Habermeier
cdc758368a
les: flesh out event handler
2016-12-07 13:52:45 +01:00
keorn
6fc943ca6d
Merge branch 'master' into auth-bft
2016-12-05 16:37:35 +00:00