2019-02-11 11:33:16 +01:00
|
|
|
# This file is automatically @generated by Cargo.
|
|
|
|
# It is not intended for manual editing.
|
2019-07-04 17:50:31 +02:00
|
|
|
[[package]]
|
|
|
|
name = "account-db"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-04 17:50:31 +02:00
|
|
|
"keccak-hasher 0.1.1",
|
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-04 17:50:31 +02:00
|
|
|
]
|
|
|
|
|
2019-07-08 18:17:48 +02:00
|
|
|
[[package]]
|
|
|
|
name = "account-state"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"account-db 0.1.0",
|
|
|
|
"common-types 0.1.0",
|
|
|
|
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"journaldb 0.2.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"keccak-hasher 0.1.1",
|
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 15:36:48 +02:00
|
|
|
"memory-db 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 15:36:48 +02:00
|
|
|
"parity-util-mem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"patricia-trie-ethereum 0.1.0",
|
|
|
|
"pod 0.1.0",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"rlp_compress 0.1.0",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"trace 0.1.0",
|
2019-10-24 16:46:32 +02:00
|
|
|
"trie-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"trie-vm-factories 0.1.0",
|
|
|
|
]
|
|
|
|
|
2019-05-28 07:50:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "aes"
|
|
|
|
version = "0.3.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"aes-soft 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"aesni 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "aes-ctr"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"aes-soft 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"aesni 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ctr 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"stream-cipher 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "aes-soft"
|
|
|
|
version = "0.3.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-05-28 07:50:10 +02:00
|
|
|
"opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "aesni"
|
|
|
|
version = "0.6.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"stream-cipher 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-10-24 16:46:32 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ahash"
|
|
|
|
version = "0.2.16"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"const-random 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "aho-corasick"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.6.8"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
]
|
|
|
|
|
2019-09-27 23:29:14 +02:00
|
|
|
[[package]]
|
|
|
|
name = "aho-corasick"
|
|
|
|
version = "0.7.6"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-09-04 20:13:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ansi_term"
|
|
|
|
version = "0.11.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
]
|
|
|
|
|
2016-12-13 23:38:29 +01:00
|
|
|
[[package]]
|
|
|
|
name = "app_dirs"
|
2018-03-30 10:31:54 +02:00
|
|
|
version = "1.2.1"
|
2018-04-20 10:38:30 +02:00
|
|
|
source = "git+https://github.com/paritytech/app-dirs-rs#0b37f9481ce29e9d5174ad185bca695b206368eb"
|
2016-12-13 23:38:29 +01:00
|
|
|
dependencies = [
|
|
|
|
"ole32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-06-06 10:02:25 +02:00
|
|
|
"shell32-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-12-13 23:38:29 +01:00
|
|
|
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-09-14 19:28:43 +02:00
|
|
|
"xdg 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-12-13 23:38:29 +01:00
|
|
|
]
|
|
|
|
|
2018-10-22 09:40:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "arrayref"
|
|
|
|
version = "0.3.5"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "arrayvec"
|
2019-10-08 14:18:44 +02:00
|
|
|
version = "0.4.11"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-01-19 13:46:11 +01:00
|
|
|
"nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
]
|
|
|
|
|
2019-10-23 13:03:46 +02:00
|
|
|
[[package]]
|
|
|
|
name = "arrayvec"
|
|
|
|
version = "0.5.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-09-05 17:17:12 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ascii"
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
version = "0.9.3"
|
2018-09-05 17:17:12 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-05-09 15:58:02 +02:00
|
|
|
[[package]]
|
|
|
|
name = "assert_matches"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "1.3.0"
|
2018-05-09 15:58:02 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2019-06-27 09:54:54 +02:00
|
|
|
[[package]]
|
|
|
|
name = "attohttpc"
|
|
|
|
version = "0.4.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"http 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-27 09:54:54 +02:00
|
|
|
"url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-07-10 17:42:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "atty"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.2.11"
|
2017-07-10 17:42:10 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-11 12:56:37 +02:00
|
|
|
"termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-10 17:42:10 +02:00
|
|
|
]
|
|
|
|
|
2019-08-22 18:25:49 +02:00
|
|
|
[[package]]
|
|
|
|
name = "authority-round"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"block-reward 0.1.0",
|
|
|
|
"client-traits 0.1.0",
|
|
|
|
"common-types 0.1.0",
|
|
|
|
"engine 0.1.0",
|
|
|
|
"env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethcore 1.12.0",
|
|
|
|
"ethcore-accounts 0.1.0",
|
|
|
|
"ethcore-io 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"ethjson 0.1.0",
|
|
|
|
"itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"machine 0.1.0",
|
|
|
|
"macros 0.1.0",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2019-08-22 18:25:49 +02:00
|
|
|
"state-db 0.1.0",
|
|
|
|
"time-utils 0.1.0",
|
|
|
|
"unexpected 0.1.0",
|
|
|
|
"validator-set 0.1.0",
|
|
|
|
]
|
|
|
|
|
2019-06-27 14:19:56 +02:00
|
|
|
[[package]]
|
|
|
|
name = "autocfg"
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
version = "0.1.7"
|
2019-06-27 14:19:56 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-07-03 07:31:29 +02:00
|
|
|
[[package]]
|
|
|
|
name = "backtrace"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.3.9"
|
2017-07-03 07:31:29 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-03 07:31:29 +02:00
|
|
|
]
|
|
|
|
|
2017-07-11 12:23:46 +02:00
|
|
|
[[package]]
|
|
|
|
name = "backtrace-sys"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.1.24"
|
2017-07-11 12:23:46 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-23 13:03:46 +02:00
|
|
|
"cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-11 12:23:46 +02:00
|
|
|
]
|
|
|
|
|
2017-02-14 19:30:37 +01:00
|
|
|
[[package]]
|
|
|
|
name = "base-x"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.2.3"
|
2017-02-14 19:30:37 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-09-14 19:28:43 +02:00
|
|
|
[[package]]
|
|
|
|
name = "base64"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.9.3"
|
2017-09-14 19:28:43 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-24 06:43:28 +01:00
|
|
|
]
|
|
|
|
|
2019-02-06 17:53:34 +01:00
|
|
|
[[package]]
|
|
|
|
name = "base64"
|
|
|
|
version = "0.10.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-06 17:53:34 +01:00
|
|
|
]
|
|
|
|
|
2019-08-22 18:25:49 +02:00
|
|
|
[[package]]
|
|
|
|
name = "basic-authority"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"client-traits 0.1.0",
|
|
|
|
"common-types 0.1.0",
|
|
|
|
"engine 0.1.0",
|
|
|
|
"ethcore 1.12.0",
|
|
|
|
"ethcore-accounts 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"ethjson 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"machine 0.1.0",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2019-08-22 18:25:49 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"validator-set 0.1.0",
|
|
|
|
]
|
|
|
|
|
2017-05-23 12:31:09 +02:00
|
|
|
[[package]]
|
|
|
|
name = "bincode"
|
2019-06-27 14:19:56 +02:00
|
|
|
version = "1.1.4"
|
2017-05-23 12:31:09 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-02-10 01:07:06 +01:00
|
|
|
]
|
|
|
|
|
2016-07-30 15:38:44 +02:00
|
|
|
[[package]]
|
|
|
|
name = "bit-set"
|
|
|
|
version = "0.4.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2017-09-14 19:28:43 +02:00
|
|
|
"bit-vec 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-07-30 15:38:44 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "bit-vec"
|
2017-09-14 19:28:43 +02:00
|
|
|
version = "0.4.4"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-12-22 18:26:39 +01:00
|
|
|
[[package]]
|
|
|
|
name = "bitflags"
|
|
|
|
version = "0.7.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-07-29 17:12:07 +02:00
|
|
|
[[package]]
|
2018-01-14 22:43:28 +01:00
|
|
|
name = "bitflags"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "1.0.4"
|
2018-01-14 22:43:28 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2017-07-29 17:12:07 +02:00
|
|
|
|
2019-10-08 14:18:44 +02:00
|
|
|
[[package]]
|
|
|
|
name = "bitvec"
|
|
|
|
version = "0.14.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-10-22 09:40:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "block-buffer"
|
|
|
|
version = "0.3.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-05-28 07:50:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "block-buffer"
|
|
|
|
version = "0.7.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-05-28 07:50:10 +02:00
|
|
|
"generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "block-cipher-trait"
|
|
|
|
version = "0.6.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "block-modes"
|
|
|
|
version = "0.3.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "block-padding"
|
|
|
|
version = "0.1.4"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-08-22 18:25:49 +02:00
|
|
|
[[package]]
|
|
|
|
name = "block-reward"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"common-types 0.1.0",
|
|
|
|
"engine 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethabi 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-contract 9.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-derive 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"ethcore 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"machine 0.1.0",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2019-08-22 18:25:49 +02:00
|
|
|
"trace 0.1.0",
|
|
|
|
]
|
|
|
|
|
2018-03-12 21:15:55 +01:00
|
|
|
[[package]]
|
2018-06-20 15:13:07 +02:00
|
|
|
name = "blooms-db"
|
|
|
|
version = "0.1.0"
|
2018-03-12 21:15:55 +01:00
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethbloom 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-12 21:15:55 +01:00
|
|
|
]
|
|
|
|
|
2017-03-22 02:01:46 +01:00
|
|
|
[[package]]
|
|
|
|
name = "bn"
|
2017-03-28 00:42:37 +02:00
|
|
|
version = "0.4.4"
|
2019-06-20 23:16:11 +02:00
|
|
|
source = "git+https://github.com/paritytech/bn#6beba2ed6c9351622f9e948ccee4063846b2b39a"
|
2017-03-22 02:01:46 +01:00
|
|
|
dependencies = [
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-20 23:16:11 +02:00
|
|
|
"rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-03-22 02:01:46 +01:00
|
|
|
]
|
|
|
|
|
2019-09-05 19:28:01 +02:00
|
|
|
[[package]]
|
|
|
|
name = "bstr"
|
|
|
|
version = "0.2.8"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-10-08 14:18:44 +02:00
|
|
|
[[package]]
|
|
|
|
name = "byte-slice-cast"
|
|
|
|
version = "0.3.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-10-22 09:40:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "byte-tools"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2019-05-28 07:50:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "byte-tools"
|
|
|
|
version = "0.3.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-10-03 12:02:43 +02:00
|
|
|
[[package]]
|
|
|
|
name = "byteorder"
|
2019-06-27 14:19:56 +02:00
|
|
|
version = "1.3.2"
|
2016-10-03 12:02:43 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-05-27 13:03:00 +02:00
|
|
|
[[package]]
|
2016-08-08 17:03:25 +02:00
|
|
|
name = "bytes"
|
2019-06-27 09:54:54 +02:00
|
|
|
version = "0.4.12"
|
2017-03-22 07:02:14 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-24 06:43:28 +01:00
|
|
|
"iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-03-22 07:02:14 +01:00
|
|
|
]
|
|
|
|
|
2019-10-02 10:25:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "c2-chacha"
|
|
|
|
version = "0.2.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-02 10:25:51 +02:00
|
|
|
"ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-11-06 14:22:44 +01:00
|
|
|
[[package]]
|
|
|
|
name = "cast"
|
|
|
|
version = "0.2.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-09-25 19:45:33 +02:00
|
|
|
[[package]]
|
|
|
|
name = "cc"
|
2019-10-23 13:03:46 +02:00
|
|
|
version = "1.0.46"
|
2017-09-25 19:45:33 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-09-05 17:17:12 +02:00
|
|
|
[[package]]
|
|
|
|
name = "cesu8"
|
|
|
|
version = "1.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "cfg-if"
|
2019-10-23 13:03:46 +02:00
|
|
|
version = "0.1.10"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-08-02 12:50:36 +02:00
|
|
|
[[package]]
|
|
|
|
name = "chainspec"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"ethjson 0.1.0",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-08-02 12:50:36 +02:00
|
|
|
]
|
|
|
|
|
2018-05-10 12:34:36 +02:00
|
|
|
[[package]]
|
|
|
|
name = "chrono"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.4.6"
|
2018-05-10 12:34:36 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-05-10 12:34:36 +02:00
|
|
|
]
|
|
|
|
|
2017-02-14 19:30:37 +01:00
|
|
|
[[package]]
|
|
|
|
name = "cid"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.3.0"
|
2017-02-14 19:30:37 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"integer-encoding 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-02-14 19:30:37 +01:00
|
|
|
"multibase 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"multihash 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-02-14 19:30:37 +01:00
|
|
|
]
|
|
|
|
|
2017-07-10 17:42:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "clap"
|
2019-09-05 19:28:01 +02:00
|
|
|
version = "2.33.0"
|
2017-07-10 17:42:10 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-10 17:42:10 +02:00
|
|
|
]
|
|
|
|
|
2018-12-28 10:33:49 +01:00
|
|
|
[[package]]
|
|
|
|
name = "cli-signer"
|
|
|
|
version = "1.4.0"
|
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-28 10:33:49 +01:00
|
|
|
"parity-rpc 1.12.0",
|
|
|
|
"parity-rpc-client 1.4.0",
|
|
|
|
"rpassword 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-08-13 12:33:34 +02:00
|
|
|
[[package]]
|
|
|
|
name = "client-traits"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-08-15 17:59:22 +02:00
|
|
|
"account-state 0.1.0",
|
2019-08-13 12:33:34 +02:00
|
|
|
"common-types 0.1.0",
|
2019-08-15 17:59:22 +02:00
|
|
|
"ethcore-blockchain 0.1.0",
|
|
|
|
"ethcore-call-contract 0.1.0",
|
|
|
|
"ethcore-db 0.1.0",
|
|
|
|
"ethcore-miner 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 17:59:22 +02:00
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-03 15:15:25 +02:00
|
|
|
"registrar 0.0.1",
|
2019-08-15 17:59:22 +02:00
|
|
|
"stats 0.1.0",
|
|
|
|
"trace 0.1.0",
|
|
|
|
"vm 0.1.0",
|
2019-08-13 12:33:34 +02:00
|
|
|
]
|
|
|
|
|
2019-08-22 18:25:49 +02:00
|
|
|
[[package]]
|
|
|
|
name = "clique"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"client-traits 0.1.0",
|
|
|
|
"common-types 0.1.0",
|
|
|
|
"engine 0.1.0",
|
|
|
|
"ethcore 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"ethjson 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"machine 0.1.0",
|
|
|
|
"macros 0.1.0",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2019-08-22 18:25:49 +02:00
|
|
|
"state-db 0.1.0",
|
|
|
|
"time-utils 0.1.0",
|
|
|
|
"unexpected 0.1.0",
|
|
|
|
]
|
|
|
|
|
2018-07-25 17:40:33 +02:00
|
|
|
[[package]]
|
|
|
|
name = "cloudabi"
|
|
|
|
version = "0.0.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-07-25 17:40:33 +02:00
|
|
|
]
|
|
|
|
|
2018-07-13 12:25:46 +02:00
|
|
|
[[package]]
|
|
|
|
name = "cmake"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.1.35"
|
2018-07-13 12:25:46 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-23 13:03:46 +02:00
|
|
|
"cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-07-13 12:25:46 +02:00
|
|
|
]
|
|
|
|
|
2018-09-05 17:17:12 +02:00
|
|
|
[[package]]
|
|
|
|
name = "combine"
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
version = "3.8.1"
|
2018-09-05 17:17:12 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"ascii 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-13 12:58:49 +02:00
|
|
|
"either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-13 12:58:49 +02:00
|
|
|
"unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-05 17:17:12 +02:00
|
|
|
]
|
|
|
|
|
2017-07-12 13:09:17 +02:00
|
|
|
[[package]]
|
|
|
|
name = "common-types"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-07-18 12:27:08 +02:00
|
|
|
"derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethbloom 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-18 12:27:08 +02:00
|
|
|
"ethcore-io 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-12 13:09:17 +02:00
|
|
|
"ethjson 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-18 12:27:08 +02:00
|
|
|
"parity-snappy 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 15:36:48 +02:00
|
|
|
"parity-util-mem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-18 12:27:08 +02:00
|
|
|
"patricia-trie-ethereum 0.1.0",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-08-20 06:01:46 +02:00
|
|
|
"rlp_derive 0.1.0",
|
2017-07-12 13:09:17 +02:00
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-04 14:05:46 +01:00
|
|
|
"unexpected 0.1.0",
|
2019-07-18 12:27:08 +02:00
|
|
|
"vm 0.1.0",
|
2017-07-12 13:09:17 +02:00
|
|
|
]
|
|
|
|
|
2019-10-24 16:46:32 +02:00
|
|
|
[[package]]
|
|
|
|
name = "const-random"
|
|
|
|
version = "0.1.6"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"const-random-macro 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"proc-macro-hack 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "const-random-macro"
|
|
|
|
version = "0.1.6"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"proc-macro-hack 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-11-06 14:22:44 +01:00
|
|
|
[[package]]
|
|
|
|
name = "criterion"
|
2019-09-05 19:28:01 +02:00
|
|
|
version = "0.3.0"
|
2018-11-06 14:22:44 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"criterion-plot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand_os 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand_xoshiro 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rayon 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"tinytemplate 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-03 15:36:21 +02:00
|
|
|
"walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-11-06 14:22:44 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "criterion-plot"
|
2019-09-05 19:28:01 +02:00
|
|
|
version = "0.4.0"
|
2018-11-06 14:22:44 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-11-06 14:22:44 +01:00
|
|
|
]
|
|
|
|
|
2018-04-04 14:05:21 +02:00
|
|
|
[[package]]
|
|
|
|
name = "crossbeam-deque"
|
2019-07-06 16:16:53 +02:00
|
|
|
version = "0.6.3"
|
2018-04-04 14:05:21 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-07-29 12:27:18 +02:00
|
|
|
"crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-04 14:05:21 +02:00
|
|
|
]
|
|
|
|
|
2019-10-10 16:56:22 +02:00
|
|
|
[[package]]
|
|
|
|
name = "crossbeam-deque"
|
|
|
|
version = "0.7.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
]
|
|
|
|
|
2018-04-04 15:38:04 +02:00
|
|
|
[[package]]
|
|
|
|
name = "crossbeam-epoch"
|
2019-07-29 12:27:18 +02:00
|
|
|
version = "0.7.2"
|
2018-12-11 13:30:21 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-29 12:27:18 +02:00
|
|
|
"memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-11 13:30:21 +01:00
|
|
|
]
|
|
|
|
|
2018-04-04 14:05:21 +02:00
|
|
|
[[package]]
|
2019-07-06 16:16:53 +02:00
|
|
|
name = "crossbeam-queue"
|
|
|
|
version = "0.1.2"
|
2018-04-04 14:05:21 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-24 16:46:32 +02:00
|
|
|
"crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-04 14:05:21 +02:00
|
|
|
]
|
|
|
|
|
2018-04-04 15:38:04 +02:00
|
|
|
[[package]]
|
|
|
|
name = "crossbeam-utils"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.5.0"
|
2018-04-04 15:38:04 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-12-11 13:30:21 +01:00
|
|
|
[[package]]
|
|
|
|
name = "crossbeam-utils"
|
2019-10-24 16:46:32 +02:00
|
|
|
version = "0.6.6"
|
2018-12-11 13:30:21 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-23 13:03:46 +02:00
|
|
|
"cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-11 13:30:21 +01:00
|
|
|
]
|
|
|
|
|
2017-07-18 15:38:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "crunchy"
|
2017-08-22 17:05:28 +02:00
|
|
|
version = "0.1.6"
|
2017-07-18 15:38:10 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-07-25 17:40:33 +02:00
|
|
|
[[package]]
|
|
|
|
name = "crunchy"
|
2019-10-08 14:18:44 +02:00
|
|
|
version = "0.2.2"
|
2018-07-25 17:40:33 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2019-05-28 07:50:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "crypto-mac"
|
|
|
|
version = "0.7.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-11-06 14:22:44 +01:00
|
|
|
[[package]]
|
|
|
|
name = "csv"
|
2019-09-05 19:28:01 +02:00
|
|
|
version = "1.1.1"
|
2018-11-06 14:22:44 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-11-06 14:22:44 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "csv-core"
|
2019-09-05 19:28:01 +02:00
|
|
|
version = "0.1.6"
|
2018-11-06 14:22:44 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-11-06 14:22:44 +01:00
|
|
|
]
|
|
|
|
|
2018-03-14 13:40:54 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ct-logs"
|
2019-02-06 17:53:34 +01:00
|
|
|
version = "0.5.1"
|
2018-03-14 13:40:54 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-02-06 17:53:34 +01:00
|
|
|
"sct 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-14 13:40:54 +01:00
|
|
|
]
|
|
|
|
|
2019-05-28 07:50:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ctr"
|
|
|
|
version = "0.3.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"stream-cipher 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ctrlc"
|
2016-02-23 10:14:56 +01:00
|
|
|
version = "1.1.1"
|
2017-03-22 07:02:14 +01:00
|
|
|
source = "git+https://github.com/paritytech/rust-ctrlc.git#b523017108bb2d571a7a69bd97bc406e63bc7a9d"
|
2016-02-14 17:35:45 +01:00
|
|
|
dependencies = [
|
2016-04-24 19:10:56 +02:00
|
|
|
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-12-13 23:38:29 +01:00
|
|
|
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
]
|
|
|
|
|
2019-03-27 14:46:05 +01:00
|
|
|
[[package]]
|
|
|
|
name = "derive_more"
|
|
|
|
version = "0.14.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-07-08 18:17:48 +02:00
|
|
|
[[package]]
|
|
|
|
name = "derive_more"
|
|
|
|
version = "0.15.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-04-03 10:27:37 +02:00
|
|
|
[[package]]
|
|
|
|
name = "difference"
|
|
|
|
version = "1.0.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-10-22 09:40:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "digest"
|
|
|
|
version = "0.7.6"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-05-28 07:50:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "digest"
|
|
|
|
version = "0.8.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-12-24 09:34:43 +01:00
|
|
|
[[package]]
|
|
|
|
name = "dir"
|
2018-08-21 15:30:24 +02:00
|
|
|
version = "0.1.2"
|
2017-12-24 09:34:43 +01:00
|
|
|
dependencies = [
|
2018-04-20 10:38:30 +02:00
|
|
|
"app_dirs 1.2.1 (git+https://github.com/paritytech/app-dirs-rs)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-08-21 15:30:24 +02:00
|
|
|
"home 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-07-02 18:50:05 +02:00
|
|
|
"journaldb 0.2.0",
|
2017-12-24 09:34:43 +01:00
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "docopt"
|
2018-11-11 11:19:44 +01:00
|
|
|
version = "1.0.2"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-11-11 11:19:44 +01:00
|
|
|
"strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
]
|
|
|
|
|
2017-12-01 09:40:07 +01:00
|
|
|
[[package]]
|
|
|
|
name = "edit-distance"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "2.0.1"
|
2017-12-01 09:40:07 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2019-09-10 00:26:45 +02:00
|
|
|
[[package]]
|
|
|
|
name = "eip-152"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-10-02 15:32:21 +02:00
|
|
|
"arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-10 00:26:45 +02:00
|
|
|
"rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-10-30 22:12:42 +01:00
|
|
|
[[package]]
|
2018-12-28 10:36:55 +01:00
|
|
|
name = "eip-712"
|
2019-10-03 19:34:06 +02:00
|
|
|
version = "0.1.1"
|
2018-10-30 22:12:42 +01:00
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethabi 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-30 22:12:42 +01:00
|
|
|
"failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-30 22:12:42 +01:00
|
|
|
"itertools 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-30 23:16:30 +02:00
|
|
|
"lunarity-lexer 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-30 22:12:42 +01:00
|
|
|
"rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-30 22:12:42 +01:00
|
|
|
"validator 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"validator_derive 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-02-06 17:21:35 +01:00
|
|
|
[[package]]
|
|
|
|
name = "either"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "1.5.0"
|
2017-02-06 17:21:35 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "elastic-array"
|
2019-06-19 13:54:05 +02:00
|
|
|
version = "0.10.2"
|
2017-04-19 15:35:12 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2016-10-26 13:53:47 +02:00
|
|
|
dependencies = [
|
2019-06-19 13:54:05 +02:00
|
|
|
"heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-10-26 13:53:47 +02:00
|
|
|
]
|
2016-02-14 17:35:45 +01:00
|
|
|
|
2019-08-15 17:59:22 +02:00
|
|
|
[[package]]
|
|
|
|
name = "engine"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"client-traits 0.1.0",
|
|
|
|
"common-types 0.1.0",
|
|
|
|
"ethcore-accounts 0.1.0",
|
|
|
|
"ethcore-blockchain 0.1.0",
|
|
|
|
"ethcore-builtin 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"ethkey 0.4.0",
|
2019-08-15 17:59:22 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"machine 0.1.0",
|
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 17:59:22 +02:00
|
|
|
"vm 0.1.0",
|
|
|
|
]
|
|
|
|
|
2019-02-13 09:20:33 +01:00
|
|
|
[[package]]
|
|
|
|
name = "enum_primitive"
|
|
|
|
version = "0.1.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "env_logger"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.5.13"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-08-10 01:04:10 +02:00
|
|
|
"humantime 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-11-17 17:12:12 +01:00
|
|
|
]
|
2017-09-05 12:14:03 +02:00
|
|
|
|
2019-08-22 18:25:49 +02:00
|
|
|
[[package]]
|
|
|
|
name = "env_logger"
|
|
|
|
version = "0.6.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"humantime 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-06-25 14:20:44 +02:00
|
|
|
[[package]]
|
|
|
|
name = "error-chain"
|
|
|
|
version = "0.12.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-06-25 14:20:44 +02:00
|
|
|
]
|
|
|
|
|
2016-08-23 19:28:21 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ethabi"
|
2019-10-08 14:18:44 +02:00
|
|
|
version = "9.0.1"
|
2016-08-23 19:28:21 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-08-23 19:28:21 +02:00
|
|
|
]
|
|
|
|
|
2018-02-09 09:32:06 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ethabi-contract"
|
2019-10-08 14:18:44 +02:00
|
|
|
version = "9.0.0"
|
2018-02-09 09:32:06 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "ethabi-derive"
|
2019-10-08 14:18:44 +02:00
|
|
|
version = "9.0.1"
|
2018-02-09 09:32:06 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethabi 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-13 12:43:24 +01:00
|
|
|
"heck 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-13 21:37:28 +02:00
|
|
|
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-05 14:31:19 +01:00
|
|
|
"syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-02-09 09:32:06 +01:00
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ethash"
|
2018-04-25 16:25:43 +02:00
|
|
|
version = "1.12.0"
|
2016-02-14 17:35:45 +01:00
|
|
|
dependencies = [
|
2019-08-23 15:32:58 +02:00
|
|
|
"common-types 0.1.0",
|
2019-09-05 19:28:01 +02:00
|
|
|
"criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-01-17 11:45:29 +01:00
|
|
|
"memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-18 01:47:47 +01:00
|
|
|
"primal 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-20 10:05:11 +01:00
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 17:25:49 +02:00
|
|
|
"static_assertions 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
]
|
|
|
|
|
2019-08-22 18:25:49 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ethash-engine"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"block-reward 0.1.0",
|
|
|
|
"common-types 0.1.0",
|
|
|
|
"engine 0.1.0",
|
|
|
|
"ethash 1.12.0",
|
|
|
|
"ethcore 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"ethjson 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"machine 0.1.0",
|
|
|
|
"macros 0.1.0",
|
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2019-08-22 18:25:49 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"unexpected 0.1.0",
|
|
|
|
]
|
|
|
|
|
2018-01-14 22:43:28 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ethbloom"
|
2019-10-08 14:18:44 +02:00
|
|
|
version = "0.8.0"
|
2018-01-14 22:43:28 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"fixed-hash 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-03 15:36:21 +02:00
|
|
|
"impl-rlp 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"impl-serde 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-01-14 22:43:28 +01:00
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ethcore"
|
2018-04-25 16:25:43 +02:00
|
|
|
version = "1.12.0"
|
2016-02-14 17:35:45 +01:00
|
|
|
dependencies = [
|
2019-07-04 17:50:31 +02:00
|
|
|
"account-db 0.1.0",
|
2019-07-08 18:17:48 +02:00
|
|
|
"account-state 0.1.0",
|
2019-06-27 13:34:40 +02:00
|
|
|
"ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"basic-authority 0.1.0",
|
2018-06-20 15:13:07 +02:00
|
|
|
"blooms-db 0.1.0",
|
2019-08-13 12:33:34 +02:00
|
|
|
"client-traits 0.1.0",
|
2017-07-12 13:09:17 +02:00
|
|
|
"common-types 0.1.0",
|
2019-09-05 19:28:01 +02:00
|
|
|
"criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 17:59:22 +02:00
|
|
|
"engine 0.1.0",
|
2019-01-04 14:05:46 +01:00
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethash 1.12.0",
|
2019-02-07 14:34:24 +01:00
|
|
|
"ethcore-accounts 0.1.0",
|
2019-01-04 14:05:46 +01:00
|
|
|
"ethcore-blockchain 0.1.0",
|
2019-07-07 16:59:30 +02:00
|
|
|
"ethcore-builtin 0.1.0",
|
2019-01-16 19:52:21 +01:00
|
|
|
"ethcore-call-contract 0.1.0",
|
2019-01-04 14:05:46 +01:00
|
|
|
"ethcore-db 0.1.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore-io 1.12.0",
|
|
|
|
"ethcore-miner 1.12.0",
|
|
|
|
"ethcore-stratum 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-03-17 15:15:10 +01:00
|
|
|
"ethjson 0.1.0",
|
2017-07-12 13:09:17 +02:00
|
|
|
"evm 0.1.0",
|
2019-08-22 18:25:49 +02:00
|
|
|
"executive-state 0.1.0",
|
2019-02-11 18:08:12 +01:00
|
|
|
"fetch 0.1.0",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-09-14 19:28:43 +02:00
|
|
|
"itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-07-02 18:50:05 +02:00
|
|
|
"journaldb 0.2.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-03 18:40:11 +02:00
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"kvdb-memorydb 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"kvdb-rocksdb 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"machine 0.1.0",
|
2017-10-10 20:01:27 +02:00
|
|
|
"macros 0.1.0",
|
2017-10-16 06:05:54 +02:00
|
|
|
"memory-cache 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-11 18:08:12 +01:00
|
|
|
"parity-runtime 0.1.0",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-07-02 18:50:05 +02:00
|
|
|
"patricia-trie-ethereum 0.1.0",
|
2019-07-08 18:17:48 +02:00
|
|
|
"pod 0.1.0",
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand_xorshift 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-06 16:16:53 +02:00
|
|
|
"rayon 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-03 15:15:25 +02:00
|
|
|
"registrar 0.0.1",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-11 17:35:50 +02:00
|
|
|
"rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-03 11:29:25 +02:00
|
|
|
"snapshot 0.1.0",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2019-07-08 23:01:47 +02:00
|
|
|
"state-db 0.1.0",
|
2017-02-17 16:18:31 +01:00
|
|
|
"stats 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"trace 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"trace-time 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"trie-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 15:36:48 +02:00
|
|
|
"trie-standardmap 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"trie-vm-factories 0.1.0",
|
Delete crates from parity-ethereum and fetch them from parity-common instead (#9083)
Use crates from parity-common: hashdb, keccak-hash, kvdb, kvdb-memorydb, kvdb-rocksdb, memorydb, parity-bytes, parity-crypto, path, patricia_trie, plain_hasher, rlp, target, test-support, trie-standardmap, triehash
2018-07-10 14:59:19 +02:00
|
|
|
"triehash-ethereum 0.2.0",
|
2017-09-05 12:14:03 +02:00
|
|
|
"unexpected 0.1.0",
|
2017-07-29 17:12:07 +02:00
|
|
|
"using_queue 0.1.0",
|
2019-08-28 10:09:42 +02:00
|
|
|
"verification 0.1.0",
|
2017-08-01 12:37:57 +02:00
|
|
|
"vm 0.1.0",
|
2016-02-14 17:35:45 +01:00
|
|
|
]
|
|
|
|
|
2019-02-07 14:34:24 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ethcore-accounts"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"ethkey 0.4.0",
|
2019-02-07 14:34:24 +01:00
|
|
|
"ethstore 0.2.1",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-07 14:34:24 +01:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-01-04 14:05:46 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ethcore-blockchain"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-06-27 13:34:40 +02:00
|
|
|
"ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-04 14:05:46 +01:00
|
|
|
"blooms-db 0.1.0",
|
|
|
|
"common-types 0.1.0",
|
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethcore-db 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-04 14:05:46 +01:00
|
|
|
"itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-04 14:05:46 +01:00
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"kvdb-memorydb 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-04 14:05:46 +01:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 15:36:48 +02:00
|
|
|
"parity-util-mem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-06 16:16:53 +02:00
|
|
|
"rayon 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-04 14:05:46 +01:00
|
|
|
"rlp_compress 0.1.0",
|
|
|
|
"rlp_derive 0.1.0",
|
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 19:21:06 +02:00
|
|
|
"triehash-ethereum 0.2.0",
|
2019-01-04 14:05:46 +01:00
|
|
|
]
|
|
|
|
|
2016-09-29 12:19:39 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ethcore-bloom-journal"
|
|
|
|
version = "0.1.0"
|
2016-10-21 11:57:30 +02:00
|
|
|
dependencies = [
|
2019-06-27 14:34:07 +02:00
|
|
|
"siphasher 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-10-21 11:57:30 +02:00
|
|
|
]
|
2016-09-29 12:19:39 +02:00
|
|
|
|
2019-07-07 16:59:30 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ethcore-builtin"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"bn 0.4.4 (git+https://github.com/paritytech/bn)",
|
2019-09-10 00:26:45 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-09 14:42:03 +02:00
|
|
|
"common-types 0.1.0",
|
2019-09-10 00:26:45 +02:00
|
|
|
"eip-152 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-07 16:59:30 +02:00
|
|
|
"ethjson 0.1.0",
|
2019-09-10 00:26:45 +02:00
|
|
|
"hex-literal 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-31 17:09:08 +01:00
|
|
|
"macros 0.1.0",
|
2019-07-07 16:59:30 +02:00
|
|
|
"num 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-07 16:59:30 +02:00
|
|
|
]
|
|
|
|
|
2019-01-16 19:52:21 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ethcore-call-contract"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"common-types 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-16 19:52:21 +01:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-01-04 14:05:46 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ethcore-db"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"common-types 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-04 14:05:46 +01:00
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 15:36:48 +02:00
|
|
|
"parity-util-mem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-04 14:05:46 +01:00
|
|
|
"rlp_derive 0.1.0",
|
|
|
|
]
|
|
|
|
|
2016-08-05 10:32:04 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ethcore-io"
|
2018-04-25 16:25:43 +02:00
|
|
|
version = "1.12.0"
|
2016-08-05 10:32:04 +02:00
|
|
|
dependencies = [
|
2019-07-06 16:16:53 +02:00
|
|
|
"crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-08 09:41:22 +02:00
|
|
|
"mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-18 12:27:08 +02:00
|
|
|
"num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-05-10 12:34:36 +02:00
|
|
|
"timer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-08-05 10:32:04 +02:00
|
|
|
]
|
|
|
|
|
2016-12-07 13:52:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ethcore-light"
|
2018-04-25 16:25:43 +02:00
|
|
|
version = "1.12.0"
|
2017-03-07 17:29:27 +01:00
|
|
|
dependencies = [
|
2019-06-27 14:19:56 +02:00
|
|
|
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"client-traits 0.1.0",
|
2019-01-04 14:05:46 +01:00
|
|
|
"common-types 0.1.0",
|
2019-06-17 08:44:59 +02:00
|
|
|
"derive_more 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 17:59:22 +02:00
|
|
|
"engine 0.1.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore 1.12.0",
|
2019-01-04 14:05:46 +01:00
|
|
|
"ethcore-blockchain 0.1.0",
|
|
|
|
"ethcore-db 0.1.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore-io 1.12.0",
|
2019-04-12 13:36:49 +02:00
|
|
|
"ethcore-miner 1.12.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore-network 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"executive-state 0.1.0",
|
2018-12-05 10:36:53 +01:00
|
|
|
"failsafe 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-08-09 09:51:48 +02:00
|
|
|
"fastmap 0.1.0",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-20 19:09:34 +01:00
|
|
|
"journaldb 0.2.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"keccak-hasher 0.1.1",
|
2018-09-03 18:40:11 +02:00
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"kvdb-memorydb 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"machine 0.1.0",
|
2017-10-16 06:05:54 +02:00
|
|
|
"memory-cache 0.1.0",
|
2019-08-15 15:36:48 +02:00
|
|
|
"memory-db 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 15:36:48 +02:00
|
|
|
"parity-util-mem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-07-02 18:50:05 +02:00
|
|
|
"patricia-trie-ethereum 0.1.0",
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-08-20 06:01:46 +02:00
|
|
|
"rlp_derive 0.1.0",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-30 23:20:46 +02:00
|
|
|
"smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2017-02-17 17:08:46 +01:00
|
|
|
"stats 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"trie-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
Delete crates from parity-ethereum and fetch them from parity-common instead (#9083)
Use crates from parity-common: hashdb, keccak-hash, kvdb, kvdb-memorydb, kvdb-rocksdb, memorydb, parity-bytes, parity-crypto, path, patricia_trie, plain_hasher, rlp, target, test-support, trie-standardmap, triehash
2018-07-10 14:59:19 +02:00
|
|
|
"triehash-ethereum 0.2.0",
|
2019-08-28 10:09:42 +02:00
|
|
|
"verification 0.1.0",
|
2017-08-01 12:37:57 +02:00
|
|
|
"vm 0.1.0",
|
2016-12-07 13:52:45 +01:00
|
|
|
]
|
|
|
|
|
2016-07-20 18:13:56 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ethcore-logger"
|
2018-04-25 16:25:43 +02:00
|
|
|
version = "1.12.0"
|
2016-07-20 18:13:56 +02:00
|
|
|
dependencies = [
|
2019-06-27 13:34:40 +02:00
|
|
|
"ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-07-20 18:13:56 +02:00
|
|
|
]
|
|
|
|
|
2018-01-11 17:49:10 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ethcore-miner"
|
2018-04-25 16:25:43 +02:00
|
|
|
version = "1.12.0"
|
2018-01-11 17:49:10 +01:00
|
|
|
dependencies = [
|
2019-06-27 13:34:40 +02:00
|
|
|
"ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-04 14:05:46 +01:00
|
|
|
"common-types 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethabi 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-contract 9.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-derive 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethash 1.12.0",
|
2019-01-16 19:52:21 +01:00
|
|
|
"ethcore-call-contract 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-10 13:51:29 +02:00
|
|
|
"fetch 0.1.0",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-06 17:53:34 +01:00
|
|
|
"hyper 0.12.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"parity-runtime 0.1.0",
|
2019-08-15 15:36:48 +02:00
|
|
|
"parity-util-mem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-25 16:25:43 +02:00
|
|
|
"price-info 1.12.0",
|
2019-10-03 15:15:25 +02:00
|
|
|
"registrar 0.0.1",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-01-11 17:49:10 +01:00
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-04-12 13:36:49 +02:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"trace-time 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-11 18:44:31 +02:00
|
|
|
"transaction-pool 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-02 10:25:51 +02:00
|
|
|
"url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-01-11 17:49:10 +01:00
|
|
|
]
|
|
|
|
|
2016-08-05 10:32:04 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ethcore-network"
|
2018-04-25 16:25:43 +02:00
|
|
|
version = "1.12.0"
|
2018-03-05 11:56:35 +01:00
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-17 08:44:59 +02:00
|
|
|
"derive_more 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore-io 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"ipnetwork 0.12.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-03 18:40:11 +02:00
|
|
|
"parity-snappy 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-07 15:27:09 +01:00
|
|
|
"semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-05 11:56:35 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "ethcore-network-devp2p"
|
2018-04-25 16:25:43 +02:00
|
|
|
version = "1.12.0"
|
2016-08-05 10:32:04 +02:00
|
|
|
dependencies = [
|
2019-06-27 13:34:40 +02:00
|
|
|
"ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-27 09:54:54 +02:00
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-08 15:07:20 +01:00
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore-io 1.12.0",
|
|
|
|
"ethcore-network 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-27 09:54:54 +02:00
|
|
|
"igd 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"ipnetwork 0.12.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-29 13:25:15 +01:00
|
|
|
"lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-08 09:41:22 +02:00
|
|
|
"mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-path 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-03 18:40:11 +02:00
|
|
|
"parity-snappy 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-06 11:36:15 +02:00
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-08-05 10:32:04 +02:00
|
|
|
"slab 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-08-05 10:32:04 +02:00
|
|
|
]
|
|
|
|
|
2018-04-09 16:14:33 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ethcore-private-tx"
|
|
|
|
version = "1.0.0"
|
|
|
|
dependencies = [
|
2019-07-08 18:17:48 +02:00
|
|
|
"account-state 0.1.0",
|
2019-08-13 12:33:34 +02:00
|
|
|
"client-traits 0.1.0",
|
2019-01-04 14:05:46 +01:00
|
|
|
"common-types 0.1.0",
|
2019-03-27 14:46:05 +01:00
|
|
|
"derive_more 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-08 15:07:20 +01:00
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethabi 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-contract 9.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-derive 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore 1.12.0",
|
2019-01-17 16:43:08 +01:00
|
|
|
"ethcore-call-contract 0.1.0",
|
2019-08-16 14:45:52 +02:00
|
|
|
"ethcore-db 0.1.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore-io 1.12.0",
|
|
|
|
"ethcore-miner 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-09 16:14:33 +02:00
|
|
|
"ethjson 0.1.0",
|
|
|
|
"fetch 0.1.0",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-16 14:45:52 +02:00
|
|
|
"journaldb 0.2.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-16 14:45:52 +02:00
|
|
|
"keccak-hasher 0.1.1",
|
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"machine 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 15:36:48 +02:00
|
|
|
"parity-util-mem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-07-02 18:50:05 +02:00
|
|
|
"patricia-trie-ethereum 0.1.0",
|
2019-10-03 15:15:25 +02:00
|
|
|
"registrar 0.0.1",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-09 16:14:33 +02:00
|
|
|
"rlp_derive 0.1.0",
|
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2019-07-08 23:01:47 +02:00
|
|
|
"state-db 0.1.0",
|
2019-05-14 11:21:22 +02:00
|
|
|
"time-utils 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"trace 0.1.0",
|
2019-09-11 18:44:31 +02:00
|
|
|
"transaction-pool 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"trie-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-02 10:25:51 +02:00
|
|
|
"url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-16 12:43:47 +02:00
|
|
|
"vm 0.1.0",
|
2018-04-09 16:14:33 +02:00
|
|
|
]
|
|
|
|
|
2017-02-20 16:13:21 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ethcore-secretstore"
|
|
|
|
version = "1.0.0"
|
|
|
|
dependencies = [
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 17:59:22 +02:00
|
|
|
"client-traits 0.1.0",
|
2019-01-04 14:05:46 +01:00
|
|
|
"common-types 0.1.0",
|
2019-01-08 15:07:20 +01:00
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethabi 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-contract 9.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-derive 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore 1.12.0",
|
2019-02-07 14:34:24 +01:00
|
|
|
"ethcore-accounts 0.1.0",
|
2019-01-17 16:43:08 +01:00
|
|
|
"ethcore-call-contract 0.1.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore-sync 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"ethkey 0.4.0",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-06 17:53:34 +01:00
|
|
|
"hyper 0.12.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-26 11:26:04 +02:00
|
|
|
"jsonrpc-server-utils 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-03 18:40:11 +02:00
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"kvdb-rocksdb 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-11-25 18:36:43 +01:00
|
|
|
"parity-runtime 0.1.0",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-02 10:25:51 +02:00
|
|
|
"percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-03 15:15:25 +02:00
|
|
|
"registrar 0.0.1",
|
2017-07-06 11:36:15 +02:00
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-04-03 11:13:51 +02:00
|
|
|
"tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-02 10:25:51 +02:00
|
|
|
"url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-02-20 16:13:21 +01:00
|
|
|
]
|
|
|
|
|
2018-03-13 11:49:57 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ethcore-service"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-06-27 13:34:40 +02:00
|
|
|
"ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-28 10:09:42 +02:00
|
|
|
"client-traits 0.1.0",
|
2019-07-18 12:27:08 +02:00
|
|
|
"common-types 0.1.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore 1.12.0",
|
2019-01-04 14:05:46 +01:00
|
|
|
"ethcore-blockchain 0.1.0",
|
|
|
|
"ethcore-db 0.1.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore-io 1.12.0",
|
2018-04-09 16:14:33 +02:00
|
|
|
"ethcore-private-tx 1.0.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore-sync 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-03 18:40:11 +02:00
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"kvdb-rocksdb 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-03 11:29:25 +02:00
|
|
|
"snapshot 0.1.0",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"trace-time 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-13 11:49:57 +01:00
|
|
|
]
|
|
|
|
|
2016-08-19 10:20:39 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ethcore-stratum"
|
2018-04-25 16:25:43 +02:00
|
|
|
version = "1.12.0"
|
2016-08-19 10:20:39 +02:00
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-26 11:26:04 +02:00
|
|
|
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"jsonrpc-tcp-server 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-08-19 10:20:39 +02:00
|
|
|
]
|
|
|
|
|
2018-04-10 12:13:49 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ethcore-sync"
|
2018-04-25 16:25:43 +02:00
|
|
|
version = "1.12.0"
|
2018-04-10 12:13:49 +02:00
|
|
|
dependencies = [
|
2019-08-13 12:33:34 +02:00
|
|
|
"client-traits 0.1.0",
|
2018-08-13 17:53:19 +02:00
|
|
|
"common-types 0.1.0",
|
2019-08-15 17:59:22 +02:00
|
|
|
"engine 0.1.0",
|
2019-02-13 09:20:33 +01:00
|
|
|
"enum_primitive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore 1.12.0",
|
|
|
|
"ethcore-io 1.12.0",
|
|
|
|
"ethcore-light 1.12.0",
|
|
|
|
"ethcore-network 1.12.0",
|
|
|
|
"ethcore-network-devp2p 1.12.0",
|
2018-04-20 15:45:53 +02:00
|
|
|
"ethcore-private-tx 1.0.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-08-09 09:51:48 +02:00
|
|
|
"fastmap 0.1.0",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"kvdb-memorydb 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"machine 0.1.0",
|
2018-04-10 12:13:49 +02:00
|
|
|
"macros 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-04-02 17:13:55 +02:00
|
|
|
"parity-runtime 0.1.0",
|
2019-08-15 15:36:48 +02:00
|
|
|
"parity-util-mem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand_xorshift 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-10 12:13:49 +02:00
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-03 11:29:25 +02:00
|
|
|
"snapshot 0.1.0",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"trace-time 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
Delete crates from parity-ethereum and fetch them from parity-common instead (#9083)
Use crates from parity-common: hashdb, keccak-hash, kvdb, kvdb-memorydb, kvdb-rocksdb, memorydb, parity-bytes, parity-crypto, path, patricia_trie, plain_hasher, rlp, target, test-support, trie-standardmap, triehash
2018-07-10 14:59:19 +02:00
|
|
|
"triehash-ethereum 0.2.0",
|
2018-04-10 12:13:49 +02:00
|
|
|
]
|
|
|
|
|
2018-01-10 13:35:18 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ethereum-types"
|
2019-10-08 14:18:44 +02:00
|
|
|
version = "0.8.0"
|
2018-02-09 09:32:06 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethbloom 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"fixed-hash 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-03 15:36:21 +02:00
|
|
|
"impl-rlp 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"impl-serde 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"primitive-types 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"uint 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-01-10 13:35:18 +01:00
|
|
|
]
|
|
|
|
|
2016-03-15 18:17:48 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ethjson"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-10 20:46:50 +02:00
|
|
|
"macros 0.1.0",
|
2017-07-06 11:36:15 +02:00
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-03-15 18:17:48 +01:00
|
|
|
]
|
|
|
|
|
2016-06-20 00:10:34 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ethkey"
|
2019-10-23 13:03:46 +02:00
|
|
|
version = "0.4.0"
|
2016-06-20 00:10:34 +02:00
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"edit-distance 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-01 14:31:57 +02:00
|
|
|
"parity-wordlist 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-06-20 00:10:34 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
2017-06-19 11:29:09 +02:00
|
|
|
name = "ethkey-cli"
|
2016-06-20 00:10:34 +02:00
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2018-11-11 11:19:44 +01:00
|
|
|
"docopt 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"ethkey 0.4.0",
|
2017-07-03 07:31:29 +02:00
|
|
|
"panic_hook 0.1.0",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-01 14:31:57 +02:00
|
|
|
"parity-wordlist 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-06 11:36:15 +02:00
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-12-01 09:40:07 +01:00
|
|
|
"threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-06-19 11:29:09 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "ethstore"
|
2019-01-03 14:07:27 +01:00
|
|
|
version = "0.2.1"
|
2017-06-19 11:29:09 +02:00
|
|
|
dependencies = [
|
2018-08-21 15:30:24 +02:00
|
|
|
"dir 0.1.2",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"ethkey 0.4.0",
|
2017-09-14 19:28:43 +02:00
|
|
|
"itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-01 14:31:57 +02:00
|
|
|
"parity-wordlist 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-06 11:36:15 +02:00
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-30 23:20:46 +02:00
|
|
|
"smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-06-20 00:10:34 +02:00
|
|
|
]
|
|
|
|
|
2017-06-19 11:29:09 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ethstore-cli"
|
2019-01-03 14:07:27 +01:00
|
|
|
version = "0.1.1"
|
2017-06-19 11:29:09 +02:00
|
|
|
dependencies = [
|
2018-08-21 15:30:24 +02:00
|
|
|
"dir 0.1.2",
|
2018-11-11 11:19:44 +01:00
|
|
|
"docopt 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-03 14:07:27 +01:00
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"ethkey 0.4.0",
|
2019-01-03 14:07:27 +01:00
|
|
|
"ethstore 0.2.1",
|
2019-07-18 12:27:08 +02:00
|
|
|
"num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-03 07:31:29 +02:00
|
|
|
"panic_hook 0.1.0",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-06 11:36:15 +02:00
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-06-19 11:29:09 +02:00
|
|
|
]
|
|
|
|
|
2017-07-12 13:09:17 +02:00
|
|
|
[[package]]
|
|
|
|
name = "evm"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"bit-set 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-10 00:26:45 +02:00
|
|
|
"hex-literal 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-10-16 06:05:54 +02:00
|
|
|
"memory-cache 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 15:36:48 +02:00
|
|
|
"parity-util-mem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-12 13:09:17 +02:00
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-08-01 12:37:57 +02:00
|
|
|
"vm 0.1.0",
|
2017-07-12 13:09:17 +02:00
|
|
|
]
|
|
|
|
|
2017-02-15 16:58:42 +01:00
|
|
|
[[package]]
|
|
|
|
name = "evmbin"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-07-08 18:17:48 +02:00
|
|
|
"account-state 0.1.0",
|
2019-01-04 14:05:46 +01:00
|
|
|
"common-types 0.1.0",
|
2019-09-05 19:28:01 +02:00
|
|
|
"criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-11-11 11:19:44 +01:00
|
|
|
"docopt 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-08-28 14:25:16 +02:00
|
|
|
"ethjson 0.1.0",
|
2017-07-12 13:09:17 +02:00
|
|
|
"evm 0.1.0",
|
2017-07-03 07:31:29 +02:00
|
|
|
"panic_hook 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"pod 0.1.0",
|
2017-07-06 11:36:15 +02:00
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"trace 0.1.0",
|
2017-08-01 16:41:33 +02:00
|
|
|
"vm 0.1.0",
|
2017-02-15 16:58:42 +01:00
|
|
|
]
|
|
|
|
|
2019-08-22 18:25:49 +02:00
|
|
|
[[package]]
|
|
|
|
name = "executive-state"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"account-db 0.1.0",
|
|
|
|
"account-state 0.1.0",
|
|
|
|
"common-types 0.1.0",
|
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethcore 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"evm 0.1.0",
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"keccak-hasher 0.1.1",
|
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"machine 0.1.0",
|
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"patricia-trie-ethereum 0.1.0",
|
|
|
|
"pod 0.1.0",
|
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2019-08-22 18:25:49 +02:00
|
|
|
"trace 0.1.0",
|
2019-10-24 16:46:32 +02:00
|
|
|
"trie-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"trie-vm-factories 0.1.0",
|
|
|
|
"vm 0.1.0",
|
|
|
|
]
|
|
|
|
|
2018-12-05 10:36:53 +01:00
|
|
|
[[package]]
|
|
|
|
name = "failsafe"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-05 10:36:53 +01:00
|
|
|
"parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-10-30 22:12:42 +01:00
|
|
|
[[package]]
|
|
|
|
name = "failure"
|
|
|
|
version = "0.1.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "failure_derive"
|
|
|
|
version = "0.1.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-05 14:31:19 +01:00
|
|
|
"syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-30 22:12:42 +01:00
|
|
|
"synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-04-11 11:59:04 +02:00
|
|
|
[[package]]
|
|
|
|
name = "fake-fetch"
|
|
|
|
version = "0.0.1"
|
|
|
|
dependencies = [
|
|
|
|
"fetch 0.1.0",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-06 17:53:34 +01:00
|
|
|
"hyper 0.12.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-11 11:59:04 +02:00
|
|
|
]
|
|
|
|
|
2018-10-22 09:40:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "fake-simd"
|
|
|
|
version = "0.1.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-08-09 09:51:48 +02:00
|
|
|
[[package]]
|
|
|
|
name = "fastmap"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"plain_hasher 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-08-09 09:51:48 +02:00
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "fdlimit"
|
2016-12-05 18:15:05 +01:00
|
|
|
version = "0.1.1"
|
2016-12-05 14:25:03 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2016-02-14 17:35:45 +01:00
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
]
|
|
|
|
|
2016-09-27 16:27:06 +02:00
|
|
|
[[package]]
|
|
|
|
name = "fetch"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-06-27 09:54:54 +02:00
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-27 09:54:54 +02:00
|
|
|
"http 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-06 17:53:34 +01:00
|
|
|
"hyper 0.12.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"hyper-rustls 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-02 10:25:51 +02:00
|
|
|
"url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-09-27 16:27:06 +02:00
|
|
|
]
|
|
|
|
|
2018-01-10 13:35:18 +01:00
|
|
|
[[package]]
|
|
|
|
name = "fixed-hash"
|
2019-10-08 14:18:44 +02:00
|
|
|
version = "0.5.0"
|
2018-01-10 13:35:18 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-03 15:36:21 +02:00
|
|
|
"rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"static_assertions 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-01-10 13:35:18 +01:00
|
|
|
]
|
|
|
|
|
2018-05-30 15:42:37 +02:00
|
|
|
[[package]]
|
|
|
|
name = "fixedbitset"
|
|
|
|
version = "0.1.9"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-05-23 12:26:39 +02:00
|
|
|
[[package]]
|
|
|
|
name = "fnv"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "1.0.6"
|
2017-05-23 12:26:39 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-06-20 15:13:07 +02:00
|
|
|
[[package]]
|
|
|
|
name = "fs-swap"
|
2018-09-12 11:32:05 +02:00
|
|
|
version = "0.2.4"
|
2018-06-20 15:13:07 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-07-05 15:18:50 +02:00
|
|
|
"libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-06-20 15:13:07 +02:00
|
|
|
]
|
|
|
|
|
2019-01-29 09:26:22 +01:00
|
|
|
[[package]]
|
|
|
|
name = "fs_extra"
|
|
|
|
version = "1.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2019-10-18 15:12:16 +02:00
|
|
|
[[package]]
|
|
|
|
name = "fuchsia-cprng"
|
|
|
|
version = "0.1.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-01-14 22:43:28 +01:00
|
|
|
[[package]]
|
|
|
|
name = "fuchsia-zircon"
|
2018-01-17 11:45:29 +01:00
|
|
|
version = "0.3.3"
|
2018-01-14 22:43:28 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-01-17 11:45:29 +01:00
|
|
|
"fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-01-14 22:43:28 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "fuchsia-zircon-sys"
|
2018-01-17 11:45:29 +01:00
|
|
|
version = "0.3.3"
|
2018-01-14 22:43:28 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-11-02 17:14:05 +01:00
|
|
|
[[package]]
|
|
|
|
name = "futures"
|
2019-10-10 16:56:22 +02:00
|
|
|
version = "0.1.29"
|
2016-11-02 17:14:05 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-12-22 18:26:39 +01:00
|
|
|
[[package]]
|
|
|
|
name = "futures-cpupool"
|
2018-02-09 09:32:06 +01:00
|
|
|
version = "0.1.8"
|
2016-12-22 18:26:39 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-18 12:27:08 +02:00
|
|
|
"num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-12-22 18:26:39 +01:00
|
|
|
]
|
|
|
|
|
2018-10-30 22:12:42 +01:00
|
|
|
[[package]]
|
|
|
|
name = "fxhash"
|
|
|
|
version = "0.2.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-30 22:12:42 +01:00
|
|
|
]
|
|
|
|
|
2018-10-22 09:40:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "generic-array"
|
|
|
|
version = "0.9.0"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2018-10-22 09:40:50 +02:00
|
|
|
dependencies = [
|
|
|
|
"typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
2016-12-22 18:26:39 +01:00
|
|
|
|
2019-05-28 07:50:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "generic-array"
|
|
|
|
version = "0.12.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-06-22 14:54:08 +02:00
|
|
|
[[package]]
|
|
|
|
name = "getopts"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.2.18"
|
2017-06-22 14:54:08 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2018-09-04 20:13:51 +02:00
|
|
|
dependencies = [
|
|
|
|
"unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
2017-06-22 14:54:08 +02:00
|
|
|
|
2019-09-05 19:28:01 +02:00
|
|
|
[[package]]
|
|
|
|
name = "getrandom"
|
|
|
|
version = "0.1.11"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-23 13:03:46 +02:00
|
|
|
"cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"wasi 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-05-23 12:26:39 +02:00
|
|
|
[[package]]
|
|
|
|
name = "globset"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.4.2"
|
2017-05-23 12:26:39 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"aho-corasick 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "h2"
|
2019-09-27 23:29:14 +02:00
|
|
|
version = "0.1.26"
|
2018-10-22 09:40:50 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-27 09:54:54 +02:00
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-27 09:54:54 +02:00
|
|
|
"http 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-05-23 12:26:39 +02:00
|
|
|
]
|
|
|
|
|
2016-02-18 01:47:47 +01:00
|
|
|
[[package]]
|
|
|
|
name = "hamming"
|
|
|
|
version = "0.1.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-09-06 20:47:45 +02:00
|
|
|
[[package]]
|
2019-02-20 19:09:34 +01:00
|
|
|
name = "hash-db"
|
2019-10-24 16:46:32 +02:00
|
|
|
version = "0.15.2"
|
2019-06-03 15:36:21 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "hash256-std-hasher"
|
2019-08-15 15:36:48 +02:00
|
|
|
version = "0.15.0"
|
2019-06-03 15:36:21 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-03 15:36:21 +02:00
|
|
|
]
|
|
|
|
|
2019-10-24 16:46:32 +02:00
|
|
|
[[package]]
|
|
|
|
name = "hashbrown"
|
|
|
|
version = "0.6.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"ahash 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
]
|
|
|
|
|
2019-06-19 13:54:05 +02:00
|
|
|
[[package]]
|
|
|
|
name = "hashmap_core"
|
|
|
|
version = "0.1.10"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "heapsize"
|
2018-02-09 09:32:06 +01:00
|
|
|
version = "0.4.2"
|
2019-06-19 13:54:05 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2016-02-23 10:14:56 +01:00
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-23 10:14:56 +01:00
|
|
|
]
|
2016-02-14 17:35:45 +01:00
|
|
|
|
2017-04-03 09:40:18 +02:00
|
|
|
[[package]]
|
|
|
|
name = "heck"
|
2018-03-13 12:43:24 +01:00
|
|
|
version = "0.3.0"
|
2017-04-03 09:40:18 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-04-03 09:40:18 +02:00
|
|
|
]
|
|
|
|
|
2019-08-28 16:15:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "hex-literal"
|
2019-09-10 00:26:45 +02:00
|
|
|
version = "0.2.1"
|
2019-08-28 16:15:50 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"hex-literal-impl 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"proc-macro-hack 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "hex-literal-impl"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"proc-macro-hack 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-05-28 07:50:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "hmac"
|
|
|
|
version = "0.7.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-08-21 15:30:24 +02:00
|
|
|
[[package]]
|
|
|
|
name = "home"
|
|
|
|
version = "0.3.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "http"
|
2019-06-27 09:54:54 +02:00
|
|
|
version = "0.1.17"
|
2018-10-22 09:40:50 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 09:54:54 +02:00
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-08-21 15:30:24 +02:00
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "httparse"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "1.3.3"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-08-10 01:04:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "humantime"
|
|
|
|
version = "1.1.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-10-22 09:40:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "hyper"
|
2019-02-06 17:53:34 +01:00
|
|
|
version = "0.12.19"
|
2018-10-22 09:40:50 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 09:54:54 +02:00
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-27 09:54:54 +02:00
|
|
|
"http 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tokio-tcp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio-threadpool 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"want 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-10-05 12:35:01 +02:00
|
|
|
[[package]]
|
2018-03-14 13:40:54 +01:00
|
|
|
name = "hyper-rustls"
|
2019-02-06 17:53:34 +01:00
|
|
|
version = "0.16.0"
|
2017-10-05 12:35:01 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 09:54:54 +02:00
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-06 17:53:34 +01:00
|
|
|
"ct-logs 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-27 09:54:54 +02:00
|
|
|
"http 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-06 17:53:34 +01:00
|
|
|
"hyper 0.12.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rustls 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-06 17:53:34 +01:00
|
|
|
"tokio-rustls 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"tokio-tcp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-06 17:53:34 +01:00
|
|
|
"webpki 0.19.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"webpki-roots 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-02-02 19:11:28 +01:00
|
|
|
]
|
|
|
|
|
2016-04-24 19:10:56 +02:00
|
|
|
[[package]]
|
|
|
|
name = "idna"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.1.5"
|
2016-04-24 19:10:56 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-09-14 19:28:43 +02:00
|
|
|
"unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-04-24 19:10:56 +02:00
|
|
|
]
|
|
|
|
|
2019-10-02 10:25:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "idna"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-10-30 22:12:42 +01:00
|
|
|
[[package]]
|
|
|
|
name = "if_chain"
|
|
|
|
version = "0.1.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "igd"
|
2019-06-27 09:54:54 +02:00
|
|
|
version = "0.9.0"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 09:54:54 +02:00
|
|
|
"attohttpc 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"http 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-27 09:54:54 +02:00
|
|
|
"url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"xmltree 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
]
|
|
|
|
|
2019-06-03 15:36:21 +02:00
|
|
|
[[package]]
|
|
|
|
name = "impl-codec"
|
2019-10-08 14:18:44 +02:00
|
|
|
version = "0.4.1"
|
2019-06-03 15:36:21 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"parity-scale-codec 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-03 15:36:21 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "impl-rlp"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-03 15:36:21 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "impl-serde"
|
2019-10-08 14:18:44 +02:00
|
|
|
version = "0.2.1"
|
2019-06-03 15:36:21 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-03 15:36:21 +02:00
|
|
|
]
|
|
|
|
|
2018-10-22 09:40:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "indexmap"
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
version = "1.3.0"
|
2018-10-22 09:40:50 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
dependencies = [
|
|
|
|
"autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
2018-10-22 09:40:50 +02:00
|
|
|
|
2019-08-22 18:25:49 +02:00
|
|
|
[[package]]
|
|
|
|
name = "instant-seal"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"common-types 0.1.0",
|
|
|
|
"engine 0.1.0",
|
|
|
|
"ethcore 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"ethjson 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"machine 0.1.0",
|
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2019-08-22 18:25:49 +02:00
|
|
|
"trace 0.1.0",
|
|
|
|
]
|
|
|
|
|
2017-02-20 16:42:09 +01:00
|
|
|
[[package]]
|
|
|
|
name = "integer-encoding"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "1.0.5"
|
2017-02-20 16:42:09 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-10-23 03:58:06 +02:00
|
|
|
[[package]]
|
|
|
|
name = "interleaved-ordered"
|
2017-11-14 12:59:01 +01:00
|
|
|
version = "0.1.1"
|
2017-10-23 03:58:06 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-03-22 07:02:14 +01:00
|
|
|
[[package]]
|
|
|
|
name = "iovec"
|
2018-03-24 06:43:28 +01:00
|
|
|
version = "0.1.2"
|
2017-03-22 07:02:14 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-03-22 07:02:14 +01:00
|
|
|
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-07-28 19:06:39 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ipnetwork"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.12.8"
|
2017-07-28 19:06:39 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "itertools"
|
2017-09-14 19:28:43 +02:00
|
|
|
version = "0.5.10"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-09-14 19:28:43 +02:00
|
|
|
]
|
|
|
|
|
2018-10-30 22:12:42 +01:00
|
|
|
[[package]]
|
|
|
|
name = "itertools"
|
|
|
|
version = "0.7.8"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-07-04 15:20:44 +02:00
|
|
|
[[package]]
|
|
|
|
name = "itertools"
|
|
|
|
version = "0.8.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-02-02 19:11:28 +01:00
|
|
|
[[package]]
|
|
|
|
name = "itoa"
|
2018-09-13 12:58:49 +02:00
|
|
|
version = "0.4.3"
|
2017-02-02 19:11:28 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2019-01-29 09:26:22 +01:00
|
|
|
[[package]]
|
|
|
|
name = "jemalloc-sys"
|
|
|
|
version = "0.1.8"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-23 13:03:46 +02:00
|
|
|
"cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-29 09:26:22 +01:00
|
|
|
"fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-29 09:26:22 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "jemallocator"
|
|
|
|
version = "0.1.9"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"jemalloc-sys 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-29 09:26:22 +01:00
|
|
|
]
|
|
|
|
|
2018-09-05 17:17:12 +02:00
|
|
|
[[package]]
|
|
|
|
name = "jni"
|
2019-02-21 17:26:01 +01:00
|
|
|
version = "0.11.0"
|
2018-09-05 17:17:12 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"cesu8 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"combine 3.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-13 12:58:49 +02:00
|
|
|
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-05 17:17:12 +02:00
|
|
|
"jni-sys 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-03 15:36:21 +02:00
|
|
|
"walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-05 17:17:12 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "jni-sys"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-10-17 06:20:24 +02:00
|
|
|
[[package]]
|
|
|
|
name = "journaldb"
|
2018-07-02 18:50:05 +02:00
|
|
|
version = "0.2.0"
|
2017-10-17 06:20:24 +02:00
|
|
|
dependencies = [
|
2019-01-08 15:07:20 +01:00
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-08-09 09:51:48 +02:00
|
|
|
"fastmap 0.1.0",
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"keccak-hasher 0.1.1",
|
2018-09-03 18:40:11 +02:00
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"kvdb-memorydb 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 15:36:48 +02:00
|
|
|
"memory-db 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 15:36:48 +02:00
|
|
|
"parity-util-mem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-10-17 06:20:24 +02:00
|
|
|
]
|
|
|
|
|
2016-05-04 15:37:09 +02:00
|
|
|
[[package]]
|
2016-11-22 11:56:27 +01:00
|
|
|
name = "jsonrpc-core"
|
2019-10-26 11:26:04 +02:00
|
|
|
version = "14.0.3"
|
2019-04-20 07:31:37 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-04-20 07:31:37 +02:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-04-20 07:31:37 +02:00
|
|
|
]
|
|
|
|
|
2019-02-05 14:31:19 +01:00
|
|
|
[[package]]
|
|
|
|
name = "jsonrpc-derive"
|
2019-10-26 11:26:04 +02:00
|
|
|
version = "14.0.3"
|
2019-02-05 14:31:19 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-07-05 10:24:24 +02:00
|
|
|
"proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-19 14:14:25 +02:00
|
|
|
"proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-05 14:31:19 +01:00
|
|
|
]
|
|
|
|
|
2016-11-22 11:56:27 +01:00
|
|
|
[[package]]
|
|
|
|
name = "jsonrpc-http-server"
|
2019-10-26 11:26:04 +02:00
|
|
|
version = "14.0.3"
|
2019-02-05 14:31:19 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2016-11-22 11:56:27 +01:00
|
|
|
dependencies = [
|
2019-02-06 17:53:34 +01:00
|
|
|
"hyper 0.12.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-26 11:26:04 +02:00
|
|
|
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"jsonrpc-server-utils 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-02 10:25:51 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-11-22 11:56:27 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "jsonrpc-ipc-server"
|
2019-10-26 11:26:04 +02:00
|
|
|
version = "14.0.3"
|
2019-02-05 14:31:19 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2016-05-06 12:58:37 +02:00
|
|
|
dependencies = [
|
2019-10-26 11:26:04 +02:00
|
|
|
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"jsonrpc-server-utils 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-02 10:25:51 +02:00
|
|
|
"parity-tokio-ipc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-03-22 07:02:14 +01:00
|
|
|
"tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-05-06 12:58:37 +02:00
|
|
|
]
|
|
|
|
|
2017-03-22 07:02:14 +01:00
|
|
|
[[package]]
|
|
|
|
name = "jsonrpc-pubsub"
|
2019-10-26 11:26:04 +02:00
|
|
|
version = "14.0.3"
|
2019-02-05 14:31:19 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2017-03-22 07:02:14 +01:00
|
|
|
dependencies = [
|
2019-10-26 11:26:04 +02:00
|
|
|
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-02 10:25:51 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-03-22 07:02:14 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "jsonrpc-server-utils"
|
2019-10-26 11:26:04 +02:00
|
|
|
version = "14.0.3"
|
2019-04-20 07:31:37 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 09:54:54 +02:00
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-04-20 07:31:37 +02:00
|
|
|
"globset 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-26 11:26:04 +02:00
|
|
|
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-04-20 07:31:37 +02:00
|
|
|
"tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-08-19 10:20:39 +02:00
|
|
|
[[package]]
|
2016-11-22 11:56:27 +01:00
|
|
|
name = "jsonrpc-tcp-server"
|
2019-10-26 11:26:04 +02:00
|
|
|
version = "14.0.3"
|
2019-02-05 14:31:19 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2016-08-19 10:20:39 +02:00
|
|
|
dependencies = [
|
2019-10-26 11:26:04 +02:00
|
|
|
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"jsonrpc-server-utils 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-02 10:25:51 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-01-25 11:03:36 +01:00
|
|
|
"tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-05-14 13:29:26 +02:00
|
|
|
]
|
|
|
|
|
2017-04-13 16:32:07 +02:00
|
|
|
[[package]]
|
|
|
|
name = "jsonrpc-ws-server"
|
2019-10-26 11:26:04 +02:00
|
|
|
version = "14.0.3"
|
2019-02-05 14:31:19 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2017-04-13 16:32:07 +02:00
|
|
|
dependencies = [
|
2019-10-26 11:26:04 +02:00
|
|
|
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"jsonrpc-server-utils 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-02 10:25:51 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-02 10:25:51 +02:00
|
|
|
"ws 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-04-13 16:32:07 +02:00
|
|
|
]
|
|
|
|
|
2017-11-10 19:04:55 +01:00
|
|
|
[[package]]
|
|
|
|
name = "keccak-hash"
|
2019-10-08 14:18:44 +02:00
|
|
|
version = "0.4.0"
|
2018-09-04 20:13:51 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2017-11-10 19:04:55 +01:00
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"primitive-types 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-11-10 19:04:55 +01:00
|
|
|
]
|
|
|
|
|
2018-07-02 18:50:05 +02:00
|
|
|
[[package]]
|
|
|
|
name = "keccak-hasher"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.1.1"
|
2018-07-02 18:50:05 +02:00
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"plain_hasher 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-07-02 18:50:05 +02:00
|
|
|
]
|
|
|
|
|
2019-06-03 15:36:21 +02:00
|
|
|
[[package]]
|
|
|
|
name = "keccak-hasher"
|
2019-08-15 15:36:48 +02:00
|
|
|
version = "0.15.0"
|
2019-06-03 15:36:21 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 15:36:48 +02:00
|
|
|
"hash256-std-hasher 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-03 15:36:21 +02:00
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "kernel32-sys"
|
2016-04-24 19:10:56 +02:00
|
|
|
version = "0.2.2"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2016-12-13 23:38:29 +01:00
|
|
|
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-10-10 20:01:27 +02:00
|
|
|
[[package]]
|
|
|
|
name = "kvdb"
|
|
|
|
version = "0.1.0"
|
2018-09-03 18:40:11 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2017-10-10 20:01:27 +02:00
|
|
|
dependencies = [
|
2019-06-19 13:54:05 +02:00
|
|
|
"elastic-array 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-03 18:40:11 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-10-12 15:36:27 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "kvdb-memorydb"
|
2019-09-27 23:29:14 +02:00
|
|
|
version = "0.1.2"
|
2018-09-03 18:40:11 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2017-10-12 15:36:27 +02:00
|
|
|
dependencies = [
|
2018-09-03 18:40:11 +02:00
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-10-12 15:36:27 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "kvdb-rocksdb"
|
2019-09-27 23:29:14 +02:00
|
|
|
version = "0.1.5"
|
2018-09-03 18:40:11 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2017-10-12 15:36:27 +02:00
|
|
|
dependencies = [
|
2019-06-19 13:54:05 +02:00
|
|
|
"elastic-array 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-12 11:32:05 +02:00
|
|
|
"fs-swap 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-11-14 12:59:01 +01:00
|
|
|
"interleaved-ordered 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-03 18:40:11 +02:00
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-18 12:27:08 +02:00
|
|
|
"num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-05-28 07:50:10 +02:00
|
|
|
"parity-rocksdb 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-10-10 20:01:27 +02:00
|
|
|
]
|
|
|
|
|
2018-01-04 16:12:12 +01:00
|
|
|
[[package]]
|
|
|
|
name = "lazy_static"
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
version = "1.4.0"
|
2018-01-04 16:12:12 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-10-30 09:56:34 +01:00
|
|
|
[[package]]
|
|
|
|
name = "lazycell"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "1.2.0"
|
2017-03-22 07:02:14 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-12-04 15:30:52 +01:00
|
|
|
[[package]]
|
2018-12-13 19:07:56 +01:00
|
|
|
name = "len-caching-lock"
|
|
|
|
version = "0.1.1"
|
2018-12-04 15:30:52 +01:00
|
|
|
dependencies = [
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-04 15:30:52 +01:00
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "libc"
|
2019-09-05 19:28:01 +02:00
|
|
|
version = "0.2.62"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-07-05 15:18:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "libloading"
|
|
|
|
version = "0.5.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-23 13:03:46 +02:00
|
|
|
"cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-07-05 15:18:50 +02:00
|
|
|
]
|
|
|
|
|
2016-08-30 14:04:52 +02:00
|
|
|
[[package]]
|
|
|
|
name = "linked-hash-map"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.5.1"
|
2016-08-30 14:04:52 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-06-22 14:54:08 +02:00
|
|
|
[[package]]
|
|
|
|
name = "local-encoding"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"skeptic 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-07-03 17:31:08 +02:00
|
|
|
[[package]]
|
|
|
|
name = "lock_api"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.1.4"
|
2018-07-03 17:31:08 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-07-03 17:31:08 +02:00
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
2019-09-27 23:29:14 +02:00
|
|
|
name = "lock_api"
|
|
|
|
version = "0.3.1"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2018-03-14 13:40:54 +01:00
|
|
|
dependencies = [
|
2019-09-27 23:29:14 +02:00
|
|
|
"scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-14 13:40:54 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "log"
|
2019-08-13 12:33:34 +02:00
|
|
|
version = "0.4.8"
|
2018-03-14 13:40:54 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-23 13:03:46 +02:00
|
|
|
"cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-14 13:40:54 +01:00
|
|
|
]
|
2016-02-14 17:35:45 +01:00
|
|
|
|
2019-09-30 23:16:30 +02:00
|
|
|
[[package]]
|
|
|
|
name = "logos"
|
|
|
|
version = "0.7.7"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"logos-derive 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"toolshed 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "logos-derive"
|
|
|
|
version = "0.7.7"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"utf8-ranges 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-09-27 18:02:11 +02:00
|
|
|
[[package]]
|
|
|
|
name = "lru-cache"
|
2019-03-29 13:25:15 +01:00
|
|
|
version = "0.1.2"
|
2017-09-14 19:28:43 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-03-29 13:25:15 +01:00
|
|
|
"linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-09-14 19:28:43 +02:00
|
|
|
]
|
|
|
|
|
2018-10-30 22:12:42 +01:00
|
|
|
[[package]]
|
|
|
|
name = "lunarity-lexer"
|
2019-09-30 23:16:30 +02:00
|
|
|
version = "0.2.1"
|
2018-10-30 22:12:42 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-09-30 23:16:30 +02:00
|
|
|
"logos 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-30 22:12:42 +01:00
|
|
|
]
|
|
|
|
|
2019-08-13 12:33:34 +02:00
|
|
|
[[package]]
|
|
|
|
name = "machine"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"account-state 0.1.0",
|
|
|
|
"client-traits 0.1.0",
|
|
|
|
"common-types 0.1.0",
|
2019-10-31 17:09:08 +01:00
|
|
|
"criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethabi 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-contract 9.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-derive 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"ethcore 1.12.0",
|
|
|
|
"ethcore-builtin 0.1.0",
|
|
|
|
"ethcore-call-contract 0.1.0",
|
|
|
|
"ethcore-io 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"ethjson 0.1.0",
|
|
|
|
"evm 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"macros 0.1.0",
|
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2019-08-13 12:33:34 +02:00
|
|
|
"state-db 0.1.0",
|
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"trace 0.1.0",
|
|
|
|
"trie-vm-factories 0.1.0",
|
|
|
|
"vm 0.1.0",
|
|
|
|
]
|
|
|
|
|
2017-10-10 20:01:27 +02:00
|
|
|
[[package]]
|
|
|
|
name = "macros"
|
|
|
|
version = "0.1.0"
|
|
|
|
|
2019-06-19 13:54:05 +02:00
|
|
|
[[package]]
|
|
|
|
name = "malloc_size_of_derive"
|
|
|
|
version = "0.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "matches"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.1.8"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "memchr"
|
2019-09-05 19:28:01 +02:00
|
|
|
version = "2.2.1"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-09-25 19:45:33 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "memmap"
|
2018-01-17 11:45:29 +01:00
|
|
|
version = "0.6.2"
|
2017-09-25 19:45:33 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
]
|
|
|
|
|
2018-04-04 14:05:21 +02:00
|
|
|
[[package]]
|
|
|
|
name = "memoffset"
|
2019-07-29 12:27:18 +02:00
|
|
|
version = "0.5.1"
|
2018-04-04 14:05:21 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2019-07-29 12:27:18 +02:00
|
|
|
dependencies = [
|
|
|
|
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
2018-04-04 14:05:21 +02:00
|
|
|
|
2017-10-15 13:40:00 +02:00
|
|
|
[[package]]
|
2017-10-16 06:05:54 +02:00
|
|
|
name = "memory-cache"
|
2017-10-15 13:40:00 +02:00
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-03-29 13:25:15 +01:00
|
|
|
"lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 15:36:48 +02:00
|
|
|
"parity-util-mem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-10-15 13:40:00 +02:00
|
|
|
]
|
|
|
|
|
2018-03-12 12:37:32 +01:00
|
|
|
[[package]]
|
2019-02-20 19:09:34 +01:00
|
|
|
name = "memory-db"
|
2019-08-15 15:36:48 +02:00
|
|
|
version = "0.15.0"
|
2018-03-12 12:37:32 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2019-02-20 19:09:34 +01:00
|
|
|
dependencies = [
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-19 13:54:05 +02:00
|
|
|
"hashmap_core 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 15:36:48 +02:00
|
|
|
"parity-util-mem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-20 19:09:34 +01:00
|
|
|
]
|
2018-03-12 12:37:32 +01:00
|
|
|
|
2017-09-06 20:47:45 +02:00
|
|
|
[[package]]
|
2019-02-20 19:09:34 +01:00
|
|
|
name = "memory_units"
|
2018-10-09 22:07:25 +02:00
|
|
|
version = "0.3.0"
|
2018-09-04 20:13:51 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2017-09-06 20:47:45 +02:00
|
|
|
|
2017-10-10 20:01:27 +02:00
|
|
|
[[package]]
|
2018-04-13 21:14:53 +02:00
|
|
|
name = "migration-rocksdb"
|
2017-10-10 20:01:27 +02:00
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2018-09-03 18:40:11 +02:00
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"kvdb-rocksdb 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-10-10 20:01:27 +02:00
|
|
|
"macros 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-10-10 20:01:27 +02:00
|
|
|
]
|
|
|
|
|
2017-09-25 19:45:33 +02:00
|
|
|
[[package]]
|
|
|
|
name = "mime"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.3.12"
|
2017-09-25 19:45:33 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-09-25 19:45:33 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "mime_guess"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "2.0.0-alpha.6"
|
2017-09-25 19:45:33 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"mime 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"phf 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"phf_codegen 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-09-25 19:45:33 +02:00
|
|
|
"unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "mio"
|
2019-08-08 09:41:22 +02:00
|
|
|
version = "0.6.19"
|
2017-03-22 07:02:14 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2016-08-08 17:03:25 +02:00
|
|
|
dependencies = [
|
2018-03-24 06:43:28 +01:00
|
|
|
"fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-08-08 17:03:25 +02:00
|
|
|
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-04-08 11:26:16 +02:00
|
|
|
"miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-12-13 23:38:29 +01:00
|
|
|
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-08-08 17:03:25 +02:00
|
|
|
]
|
|
|
|
|
2019-01-11 16:55:03 +01:00
|
|
|
[[package]]
|
|
|
|
name = "mio-extras"
|
|
|
|
version = "2.0.5"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"lazycell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-08 09:41:22 +02:00
|
|
|
"mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-11 16:55:03 +01:00
|
|
|
"slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-10-30 09:56:34 +01:00
|
|
|
[[package]]
|
2017-03-22 07:02:14 +01:00
|
|
|
name = "mio-named-pipes"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.1.6"
|
2018-10-22 09:40:50 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2016-10-30 09:56:34 +01:00
|
|
|
dependencies = [
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-08 09:41:22 +02:00
|
|
|
"mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"miow 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-10-30 09:56:34 +01:00
|
|
|
]
|
|
|
|
|
2016-12-22 18:26:39 +01:00
|
|
|
[[package]]
|
2017-03-22 07:02:14 +01:00
|
|
|
name = "mio-uds"
|
2018-09-13 12:58:49 +02:00
|
|
|
version = "0.6.7"
|
2016-12-22 18:26:39 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-08 09:41:22 +02:00
|
|
|
"mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-12-22 18:26:39 +01:00
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "miow"
|
2017-03-22 07:02:14 +01:00
|
|
|
version = "0.2.1"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2016-04-24 19:10:56 +02:00
|
|
|
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-12-13 23:38:29 +01:00
|
|
|
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
"ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-06-13 13:02:16 +02:00
|
|
|
[[package]]
|
|
|
|
name = "miow"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.3.3"
|
2018-06-13 13:02:16 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-13 12:58:49 +02:00
|
|
|
"socket2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-06-13 13:02:16 +02:00
|
|
|
]
|
|
|
|
|
2017-02-14 19:30:37 +01:00
|
|
|
[[package]]
|
|
|
|
name = "multibase"
|
|
|
|
version = "0.6.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"base-x 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-02-14 19:30:37 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "multihash"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.8.0"
|
2017-02-14 19:30:37 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"sha1 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"sha2 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-02-14 19:30:37 +01:00
|
|
|
]
|
|
|
|
|
2018-04-26 14:00:42 +02:00
|
|
|
[[package]]
|
|
|
|
name = "nan-preserving-float"
|
|
|
|
version = "0.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "net2"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.2.33"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-23 13:03:46 +02:00
|
|
|
"cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
]
|
|
|
|
|
2017-08-29 14:38:01 +02:00
|
|
|
[[package]]
|
|
|
|
name = "node-filter"
|
2018-04-25 16:25:43 +02:00
|
|
|
version = "1.12.0"
|
2017-08-29 14:38:01 +02:00
|
|
|
dependencies = [
|
2019-08-15 17:59:22 +02:00
|
|
|
"client-traits 0.1.0",
|
2019-08-13 12:33:34 +02:00
|
|
|
"common-types 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethabi 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-contract 9.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-derive 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore 1.12.0",
|
|
|
|
"ethcore-io 1.12.0",
|
2018-05-22 06:34:01 +02:00
|
|
|
"ethcore-network 1.12.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore-network-devp2p 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"kvdb-memorydb 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-29 13:25:15 +01:00
|
|
|
"lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-08-29 14:38:01 +02:00
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "nodrop"
|
2018-01-19 13:46:11 +01:00
|
|
|
version = "0.1.12"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2019-08-22 18:25:49 +02:00
|
|
|
[[package]]
|
|
|
|
name = "null-engine"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"block-reward 0.1.0",
|
|
|
|
"common-types 0.1.0",
|
|
|
|
"engine 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"ethjson 0.1.0",
|
|
|
|
"machine 0.1.0",
|
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "num"
|
2018-03-27 04:35:51 +02:00
|
|
|
version = "0.1.42"
|
2016-04-24 19:10:56 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"num-bigint 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"num-iter 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-04-24 19:10:56 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "num-bigint"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.1.44"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-09-14 19:28:43 +02:00
|
|
|
"rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
]
|
|
|
|
|
2016-04-24 19:10:56 +02:00
|
|
|
[[package]]
|
|
|
|
name = "num-integer"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.1.39"
|
2016-04-24 19:10:56 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-04-24 19:10:56 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "num-iter"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.1.37"
|
2016-04-24 19:10:56 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-04-24 19:10:56 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
2018-03-27 04:35:51 +02:00
|
|
|
name = "num-traits"
|
2018-04-04 15:38:04 +02:00
|
|
|
version = "0.1.43"
|
2016-04-24 19:10:56 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2018-04-04 15:38:04 +02:00
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-04 15:38:04 +02:00
|
|
|
]
|
2016-04-24 19:10:56 +02:00
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "num-traits"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.2.6"
|
2016-04-24 19:10:56 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-12-22 18:26:39 +01:00
|
|
|
[[package]]
|
|
|
|
name = "num_cpus"
|
2019-07-18 12:27:08 +02:00
|
|
|
version = "1.10.1"
|
2016-12-22 18:26:39 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-12-22 18:26:39 +01:00
|
|
|
]
|
|
|
|
|
2016-02-25 14:09:39 +01:00
|
|
|
[[package]]
|
|
|
|
name = "number_prefix"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.2.8"
|
2016-02-25 14:09:39 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-25 14:09:39 +01:00
|
|
|
]
|
|
|
|
|
2016-12-13 23:38:29 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ole32-sys"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-05-28 07:50:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "opaque-debug"
|
|
|
|
version = "0.2.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-02-04 22:18:19 +01:00
|
|
|
[[package]]
|
|
|
|
name = "order-stat"
|
|
|
|
version = "0.1.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-05-30 15:42:37 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ordermap"
|
|
|
|
version = "0.3.5"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-10-19 18:35:56 +02:00
|
|
|
[[package]]
|
|
|
|
name = "owning_ref"
|
2017-03-28 19:06:08 +02:00
|
|
|
version = "0.3.3"
|
2016-10-19 18:35:56 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2017-03-28 19:06:08 +02:00
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-03-28 19:06:08 +02:00
|
|
|
]
|
2016-10-19 18:35:56 +02:00
|
|
|
|
2017-07-03 07:31:29 +02:00
|
|
|
[[package]]
|
|
|
|
name = "panic_hook"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-03 07:31:29 +02:00
|
|
|
]
|
|
|
|
|
2018-09-03 18:40:11 +02:00
|
|
|
[[package]]
|
|
|
|
name = "parity-bytes"
|
|
|
|
version = "0.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-07-11 13:35:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "parity-clib"
|
2018-04-25 16:25:43 +02:00
|
|
|
version = "1.12.0"
|
2018-07-11 13:35:10 +02:00
|
|
|
dependencies = [
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-21 17:26:01 +01:00
|
|
|
"jni 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-08-10 11:06:30 +02:00
|
|
|
"panic_hook 0.1.0",
|
2019-07-05 11:49:51 +02:00
|
|
|
"parity-ethereum 2.7.0",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-07-11 13:35:10 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "parity-crypto"
|
2019-10-23 13:03:46 +02:00
|
|
|
version = "0.4.2"
|
2018-09-04 20:13:51 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2018-07-11 13:35:10 +02:00
|
|
|
dependencies = [
|
2019-05-28 07:50:10 +02:00
|
|
|
"aes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"aes-ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"block-modes 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-05-28 07:50:10 +02:00
|
|
|
"hmac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-secp256k1 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-05-28 07:50:10 +02:00
|
|
|
"pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-05-28 07:50:10 +02:00
|
|
|
"ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-05-28 07:50:10 +02:00
|
|
|
"scrypt 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"subtle 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"zeroize 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-07-11 13:35:10 +02:00
|
|
|
]
|
|
|
|
|
2019-02-01 19:31:02 +01:00
|
|
|
[[package]]
|
|
|
|
name = "parity-daemonize"
|
2019-02-18 13:38:46 +01:00
|
|
|
version = "0.3.0"
|
2019-02-01 19:31:02 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-08 09:41:22 +02:00
|
|
|
"mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-01 19:31:02 +01:00
|
|
|
]
|
|
|
|
|
2018-07-11 13:35:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "parity-ethereum"
|
2019-07-05 11:49:51 +02:00
|
|
|
version = "2.7.0"
|
2017-05-23 12:28:22 +02:00
|
|
|
dependencies = [
|
2019-06-27 13:34:40 +02:00
|
|
|
"ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-06-20 15:13:07 +02:00
|
|
|
"blooms-db 0.1.0",
|
2019-09-05 19:28:01 +02:00
|
|
|
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-28 10:33:49 +01:00
|
|
|
"cli-signer 1.4.0",
|
2019-08-13 12:33:34 +02:00
|
|
|
"client-traits 0.1.0",
|
2019-01-04 14:05:46 +01:00
|
|
|
"common-types 0.1.0",
|
2017-05-23 12:28:22 +02:00
|
|
|
"ctrlc 1.1.1 (git+https://github.com/paritytech/rust-ctrlc.git)",
|
2018-08-21 15:30:24 +02:00
|
|
|
"dir 0.1.2",
|
2018-11-11 11:19:44 +01:00
|
|
|
"docopt 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 17:59:22 +02:00
|
|
|
"engine 0.1.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore 1.12.0",
|
2019-02-07 14:34:24 +01:00
|
|
|
"ethcore-accounts 0.1.0",
|
2019-01-04 14:05:46 +01:00
|
|
|
"ethcore-blockchain 0.1.0",
|
|
|
|
"ethcore-db 0.1.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore-io 1.12.0",
|
|
|
|
"ethcore-light 1.12.0",
|
|
|
|
"ethcore-logger 1.12.0",
|
|
|
|
"ethcore-miner 1.12.0",
|
|
|
|
"ethcore-network 1.12.0",
|
2018-04-09 16:14:33 +02:00
|
|
|
"ethcore-private-tx 1.0.0",
|
2017-05-23 12:28:22 +02:00
|
|
|
"ethcore-secretstore 1.0.0",
|
2018-03-13 11:49:57 +01:00
|
|
|
"ethcore-service 0.1.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore-sync 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"ethkey 0.4.0",
|
2019-01-04 19:57:01 +01:00
|
|
|
"ethstore 0.2.1",
|
2018-04-11 11:59:04 +02:00
|
|
|
"fake-fetch 0.0.1",
|
2017-05-23 12:28:22 +02:00
|
|
|
"fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"ipnetwork 0.12.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-07-02 18:50:05 +02:00
|
|
|
"journaldb 0.2.0",
|
2019-10-26 11:26:04 +02:00
|
|
|
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-03 18:40:11 +02:00
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"kvdb-rocksdb 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-13 21:14:53 +02:00
|
|
|
"migration-rocksdb 0.1.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"node-filter 1.12.0",
|
2019-07-18 12:27:08 +02:00
|
|
|
"num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"number_prefix 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-03 07:31:29 +02:00
|
|
|
"panic_hook 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-18 13:38:46 +01:00
|
|
|
"parity-daemonize 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-25 16:25:43 +02:00
|
|
|
"parity-hash-fetch 1.12.0",
|
|
|
|
"parity-ipfs-api 1.12.0",
|
2017-05-23 12:28:22 +02:00
|
|
|
"parity-local-store 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-path 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-25 16:25:43 +02:00
|
|
|
"parity-rpc 1.12.0",
|
2018-10-22 09:40:50 +02:00
|
|
|
"parity-runtime 0.1.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"parity-updater 1.12.0",
|
2019-08-15 15:36:48 +02:00
|
|
|
"parity-util-mem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-05 11:49:51 +02:00
|
|
|
"parity-version 2.7.0",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-05-23 12:28:22 +02:00
|
|
|
"pretty_assertions 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-12 21:46:27 +01:00
|
|
|
"registrar 0.0.1",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-10-16 10:20:55 +02:00
|
|
|
"rpassword 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-06 11:36:15 +02:00
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-04 11:54:41 +02:00
|
|
|
"semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-03 11:29:25 +02:00
|
|
|
"snapshot 0.1.0",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-01-31 09:50:52 +01:00
|
|
|
"term_size 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"textwrap 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-28 10:09:42 +02:00
|
|
|
"verification 0.1.0",
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-05-23 12:28:22 +02:00
|
|
|
]
|
|
|
|
|
2016-12-11 19:14:42 +01:00
|
|
|
[[package]]
|
|
|
|
name = "parity-hash-fetch"
|
2018-04-25 16:25:43 +02:00
|
|
|
version = "1.12.0"
|
2016-12-11 19:14:42 +01:00
|
|
|
dependencies = [
|
2019-10-03 15:15:25 +02:00
|
|
|
"common-types 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethabi 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-contract 9.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-derive 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-03 15:15:25 +02:00
|
|
|
"ethcore-call-contract 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-11 11:59:04 +02:00
|
|
|
"fake-fetch 0.0.1",
|
2016-12-11 19:14:42 +01:00
|
|
|
"fetch 0.1.0",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"mime 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"mime_guess 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"parity-runtime 0.1.0",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-12 21:46:27 +01:00
|
|
|
"registrar 0.0.1",
|
2017-07-06 11:36:15 +02:00
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-12-15 18:24:18 +01:00
|
|
|
]
|
|
|
|
|
2017-02-14 19:30:37 +01:00
|
|
|
[[package]]
|
2017-02-16 14:51:33 +01:00
|
|
|
name = "parity-ipfs-api"
|
2018-04-25 16:25:43 +02:00
|
|
|
version = "1.12.0"
|
2017-02-14 19:30:37 +01:00
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"cid 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 17:59:22 +02:00
|
|
|
"client-traits 0.1.0",
|
2019-08-13 12:33:34 +02:00
|
|
|
"common-types 0.1.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-26 11:26:04 +02:00
|
|
|
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"jsonrpc-http-server 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"multihash 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-02-14 19:30:37 +01:00
|
|
|
]
|
|
|
|
|
2017-02-20 17:21:55 +01:00
|
|
|
[[package]]
|
|
|
|
name = "parity-local-store"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-01-04 14:05:46 +01:00
|
|
|
"common-types 0.1.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore-io 1.12.0",
|
2019-10-23 13:03:46 +02:00
|
|
|
"ethkey 0.4.0",
|
2018-09-03 18:40:11 +02:00
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"kvdb-memorydb 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-02-20 17:21:55 +01:00
|
|
|
]
|
|
|
|
|
2018-09-04 20:13:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "parity-path"
|
|
|
|
version = "0.1.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-09-03 18:40:11 +02:00
|
|
|
[[package]]
|
|
|
|
name = "parity-rocksdb"
|
2019-05-28 07:50:10 +02:00
|
|
|
version = "0.5.1"
|
2018-09-03 18:40:11 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-03 18:40:11 +02:00
|
|
|
"local-encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-05-28 07:50:10 +02:00
|
|
|
"parity-rocksdb-sys 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-03 18:40:11 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "parity-rocksdb-sys"
|
2019-05-28 07:50:10 +02:00
|
|
|
version = "0.5.6"
|
2018-09-03 18:40:11 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"cmake 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-03 18:40:11 +02:00
|
|
|
"local-encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-18 21:26:01 +01:00
|
|
|
"parity-snappy-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-03 18:40:11 +02:00
|
|
|
]
|
|
|
|
|
2017-04-13 16:32:07 +02:00
|
|
|
[[package]]
|
|
|
|
name = "parity-rpc"
|
2018-04-25 16:25:43 +02:00
|
|
|
version = "1.12.0"
|
2017-04-13 16:32:07 +02:00
|
|
|
dependencies = [
|
2019-07-08 18:17:48 +02:00
|
|
|
"account-state 0.1.0",
|
2019-06-27 13:34:40 +02:00
|
|
|
"ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"cid 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"client-traits 0.1.0",
|
2019-01-04 14:05:46 +01:00
|
|
|
"common-types 0.1.0",
|
2019-10-03 19:34:06 +02:00
|
|
|
"eip-712 0.1.1",
|
2019-08-15 17:59:22 +02:00
|
|
|
"engine 0.1.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethash 1.12.0",
|
|
|
|
"ethcore 1.12.0",
|
2019-02-07 14:34:24 +01:00
|
|
|
"ethcore-accounts 0.1.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore-io 1.12.0",
|
|
|
|
"ethcore-light 1.12.0",
|
|
|
|
"ethcore-logger 1.12.0",
|
|
|
|
"ethcore-miner 1.12.0",
|
|
|
|
"ethcore-network 1.12.0",
|
2018-04-09 16:14:33 +02:00
|
|
|
"ethcore-private-tx 1.0.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore-sync 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-04-13 16:32:07 +02:00
|
|
|
"ethjson 0.1.0",
|
2019-10-23 13:03:46 +02:00
|
|
|
"ethkey 0.4.0",
|
2019-01-03 14:07:27 +01:00
|
|
|
"ethstore 0.2.1",
|
2018-04-11 11:59:04 +02:00
|
|
|
"fake-fetch 0.0.1",
|
2018-08-25 23:06:01 +02:00
|
|
|
"fastmap 0.1.0",
|
2017-04-13 16:32:07 +02:00
|
|
|
"fetch 0.1.0",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-09-14 19:28:43 +02:00
|
|
|
"itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-26 11:26:04 +02:00
|
|
|
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"jsonrpc-derive 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"jsonrpc-http-server 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"jsonrpc-ipc-server 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"jsonrpc-pubsub 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"jsonrpc-ws-server 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"machine 0.1.0",
|
2017-10-10 20:01:27 +02:00
|
|
|
"macros 0.1.0",
|
2018-10-22 09:40:50 +02:00
|
|
|
"multihash 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-04-13 16:32:07 +02:00
|
|
|
"order-stat 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"parity-runtime 0.1.0",
|
2018-04-25 16:25:43 +02:00
|
|
|
"parity-updater 1.12.0",
|
2019-07-05 11:49:51 +02:00
|
|
|
"parity-version 2.7.0",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-04-27 18:23:22 +02:00
|
|
|
"pretty_assertions 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand_xorshift 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-06 11:36:15 +02:00
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-04 11:54:41 +02:00
|
|
|
"semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-03 11:29:25 +02:00
|
|
|
"snapshot 0.1.0",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2017-04-13 16:32:07 +02:00
|
|
|
"stats 0.1.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-09-14 19:28:43 +02:00
|
|
|
"tokio-timer 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"trace 0.1.0",
|
2019-09-11 18:44:31 +02:00
|
|
|
"transaction-pool 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"transient-hashmap 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-28 10:09:42 +02:00
|
|
|
"verification 0.1.0",
|
2017-08-01 12:37:57 +02:00
|
|
|
"vm 0.1.0",
|
2017-04-13 16:32:07 +02:00
|
|
|
]
|
|
|
|
|
2016-11-02 17:14:05 +01:00
|
|
|
[[package]]
|
|
|
|
name = "parity-rpc-client"
|
|
|
|
version = "1.4.0"
|
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-26 11:26:04 +02:00
|
|
|
"jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"jsonrpc-ws-server 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-25 16:25:43 +02:00
|
|
|
"parity-rpc 1.12.0",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-02 10:25:51 +02:00
|
|
|
"url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-03-22 07:02:14 +01:00
|
|
|
]
|
|
|
|
|
2018-10-22 09:40:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "parity-runtime"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
]
|
|
|
|
|
2019-10-08 14:18:44 +02:00
|
|
|
[[package]]
|
|
|
|
name = "parity-scale-codec"
|
|
|
|
version = "1.0.5"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"bitvec 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"byte-slice-cast 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-10-23 13:03:46 +02:00
|
|
|
[[package]]
|
|
|
|
name = "parity-secp256k1"
|
|
|
|
version = "0.7.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-09-03 18:40:11 +02:00
|
|
|
[[package]]
|
|
|
|
name = "parity-snappy"
|
|
|
|
version = "0.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-18 21:26:01 +01:00
|
|
|
"parity-snappy-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-03 18:40:11 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "parity-snappy-sys"
|
2018-12-18 21:26:01 +01:00
|
|
|
version = "0.1.2"
|
2018-09-03 18:40:11 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"cmake 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-03 18:40:11 +02:00
|
|
|
]
|
|
|
|
|
2017-03-22 07:02:14 +01:00
|
|
|
[[package]]
|
|
|
|
name = "parity-tokio-ipc"
|
2019-10-02 10:25:51 +02:00
|
|
|
version = "0.2.0"
|
2018-10-22 09:40:50 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2017-03-22 07:02:14 +01:00
|
|
|
dependencies = [
|
2019-06-27 09:54:54 +02:00
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"mio-named-pipes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"miow 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-02 10:25:51 +02:00
|
|
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"tokio-named-pipes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-11-02 17:14:05 +01:00
|
|
|
]
|
|
|
|
|
2016-12-11 19:14:42 +01:00
|
|
|
[[package]]
|
|
|
|
name = "parity-updater"
|
2018-04-25 16:25:43 +02:00
|
|
|
version = "1.12.0"
|
2016-12-11 19:14:42 +01:00
|
|
|
dependencies = [
|
2019-08-15 17:59:22 +02:00
|
|
|
"client-traits 0.1.0",
|
2019-01-04 14:05:46 +01:00
|
|
|
"common-types 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethabi 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-contract 9.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-derive 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-25 16:25:43 +02:00
|
|
|
"ethcore 1.12.0",
|
|
|
|
"ethcore-sync 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-25 16:25:43 +02:00
|
|
|
"parity-hash-fetch 1.12.0",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-path 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-05 11:49:51 +02:00
|
|
|
"parity-version 2.7.0",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-04 11:54:41 +02:00
|
|
|
"semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-12-17 14:36:30 +01:00
|
|
|
"target_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-12-11 19:14:42 +01:00
|
|
|
]
|
|
|
|
|
2019-06-19 13:54:05 +02:00
|
|
|
[[package]]
|
|
|
|
name = "parity-util-mem"
|
2019-08-15 15:36:48 +02:00
|
|
|
version = "0.2.0"
|
2019-06-19 13:54:05 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-23 13:03:46 +02:00
|
|
|
"cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-19 13:54:05 +02:00
|
|
|
"elastic-array 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-19 13:54:05 +02:00
|
|
|
"jemallocator 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"malloc_size_of_derive 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-19 13:54:05 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-12-22 14:37:39 +01:00
|
|
|
[[package]]
|
|
|
|
name = "parity-version"
|
2019-07-05 11:49:51 +02:00
|
|
|
version = "2.7.0"
|
2017-12-22 14:37:39 +01:00
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-12-22 14:37:39 +01:00
|
|
|
"target_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-12-22 14:37:39 +01:00
|
|
|
"vergen 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-07-10 17:42:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "parity-wasm"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.31.3"
|
2017-07-11 11:06:35 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2017-07-10 17:42:10 +02:00
|
|
|
dependencies = [
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-10 17:42:10 +02:00
|
|
|
]
|
|
|
|
|
2017-04-01 08:26:44 +02:00
|
|
|
[[package]]
|
|
|
|
name = "parity-wordlist"
|
2019-07-01 14:31:57 +02:00
|
|
|
version = "1.3.0"
|
2017-04-01 08:26:44 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-01 14:31:57 +02:00
|
|
|
"rand 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-04-01 08:26:44 +02:00
|
|
|
]
|
|
|
|
|
2018-01-19 13:46:11 +01:00
|
|
|
[[package]]
|
|
|
|
name = "parking_lot"
|
2018-09-13 12:58:49 +02:00
|
|
|
version = "0.6.4"
|
2018-01-19 13:46:11 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"lock_api 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-13 12:58:49 +02:00
|
|
|
"parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-01-19 13:46:11 +01:00
|
|
|
]
|
|
|
|
|
2019-09-27 23:29:14 +02:00
|
|
|
[[package]]
|
|
|
|
name = "parking_lot"
|
|
|
|
version = "0.9.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-10-19 18:35:56 +02:00
|
|
|
[[package]]
|
|
|
|
name = "parking_lot_core"
|
2018-09-13 12:58:49 +02:00
|
|
|
version = "0.3.1"
|
2016-07-13 19:59:59 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2018-12-11 17:22:55 +01:00
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-11 17:22:55 +01:00
|
|
|
"rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-30 23:20:46 +02:00
|
|
|
"smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-11 17:22:55 +01:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-09-27 23:29:14 +02:00
|
|
|
[[package]]
|
|
|
|
name = "parking_lot_core"
|
|
|
|
version = "0.6.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2019-07-05 10:24:24 +02:00
|
|
|
dependencies = [
|
2019-07-05 15:19:38 +02:00
|
|
|
"backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-05 10:24:24 +02:00
|
|
|
"cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-05 15:19:38 +02:00
|
|
|
"petgraph 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-05 10:24:24 +02:00
|
|
|
"redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-05 15:19:38 +02:00
|
|
|
"thread-id 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-05 10:24:24 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-07-02 18:50:05 +02:00
|
|
|
[[package]]
|
|
|
|
name = "patricia-trie-ethereum"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-06-19 13:54:05 +02:00
|
|
|
"elastic-array 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-20 19:09:34 +01:00
|
|
|
"journaldb 0.2.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"keccak-hasher 0.1.1",
|
2019-08-15 15:36:48 +02:00
|
|
|
"memory-db 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"trie-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-07-02 18:50:05 +02:00
|
|
|
]
|
|
|
|
|
2019-05-28 07:50:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "pbkdf2"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-05-28 07:50:10 +02:00
|
|
|
"crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"hmac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-09-14 19:28:43 +02:00
|
|
|
[[package]]
|
|
|
|
name = "percent-encoding"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "1.0.1"
|
2017-09-14 19:28:43 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2019-10-02 10:25:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "percent-encoding"
|
|
|
|
version = "2.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-05-30 15:42:37 +02:00
|
|
|
[[package]]
|
|
|
|
name = "petgraph"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.4.13"
|
2018-05-30 15:42:37 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"fixedbitset 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ordermap 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-04-07 12:10:26 +02:00
|
|
|
[[package]]
|
2016-05-26 18:21:15 +02:00
|
|
|
name = "phf"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.7.23"
|
2016-05-26 18:21:15 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-05-26 18:21:15 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "phf_codegen"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.7.23"
|
2016-05-26 18:21:15 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"phf_generator 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-05-26 18:21:15 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "phf_generator"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.7.23"
|
2016-05-26 18:21:15 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-05-26 18:21:15 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "phf_shared"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.7.23"
|
2016-05-26 18:21:15 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-09-14 19:28:43 +02:00
|
|
|
"unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-05-26 18:21:15 +02:00
|
|
|
]
|
2016-04-07 12:10:26 +02:00
|
|
|
|
2017-08-17 20:40:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "plain_hasher"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2017-08-17 20:40:10 +02:00
|
|
|
dependencies = [
|
2017-08-28 12:40:29 +02:00
|
|
|
"crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-12-19 10:20:49 +01:00
|
|
|
]
|
|
|
|
|
2019-07-04 15:20:44 +02:00
|
|
|
[[package]]
|
2019-07-08 18:17:48 +02:00
|
|
|
name = "pod"
|
2019-07-04 15:20:44 +02:00
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"common-types 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-04 15:20:44 +02:00
|
|
|
"ethjson 0.1.0",
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-04 15:20:44 +02:00
|
|
|
"itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-04 15:20:44 +02:00
|
|
|
"keccak-hasher 0.1.1",
|
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-04 15:20:44 +02:00
|
|
|
"macros 0.1.0",
|
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"patricia-trie-ethereum 0.1.0",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-04 15:20:44 +02:00
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"trie-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-04 15:20:44 +02:00
|
|
|
"triehash-ethereum 0.2.0",
|
|
|
|
]
|
|
|
|
|
2019-10-02 10:25:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ppv-lite86"
|
|
|
|
version = "0.2.5"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-04-03 10:27:37 +02:00
|
|
|
[[package]]
|
|
|
|
name = "pretty_assertions"
|
|
|
|
version = "0.1.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"difference 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-07-16 18:22:45 +02:00
|
|
|
[[package]]
|
|
|
|
name = "price-info"
|
2018-04-25 16:25:43 +02:00
|
|
|
version = "1.12.0"
|
2017-07-16 18:22:45 +02:00
|
|
|
dependencies = [
|
2018-04-11 11:59:04 +02:00
|
|
|
"fake-fetch 0.0.1",
|
2017-07-16 18:22:45 +02:00
|
|
|
"fetch 0.1.0",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"parity-runtime 0.1.0",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-16 18:22:45 +02:00
|
|
|
]
|
|
|
|
|
2016-02-18 01:47:47 +01:00
|
|
|
[[package]]
|
|
|
|
name = "primal"
|
|
|
|
version = "0.2.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-03-27 04:35:51 +02:00
|
|
|
"primal-check 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-18 01:47:47 +01:00
|
|
|
"primal-estimate 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"primal-sieve 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-18 01:47:47 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "primal-bit"
|
2017-09-14 19:28:43 +02:00
|
|
|
version = "0.2.4"
|
2016-02-18 01:47:47 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"hamming 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "primal-check"
|
2018-03-27 04:35:51 +02:00
|
|
|
version = "0.2.3"
|
2016-02-18 01:47:47 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-18 01:47:47 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "primal-estimate"
|
|
|
|
version = "0.2.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "primal-sieve"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.2.9"
|
2016-02-18 01:47:47 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"hamming 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-09-14 19:28:43 +02:00
|
|
|
"primal-bit 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-18 01:47:47 +01:00
|
|
|
"primal-estimate 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-30 23:20:46 +02:00
|
|
|
"smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-18 01:47:47 +01:00
|
|
|
]
|
|
|
|
|
2019-06-03 15:36:21 +02:00
|
|
|
[[package]]
|
|
|
|
name = "primitive-types"
|
2019-10-08 14:18:44 +02:00
|
|
|
version = "0.6.0"
|
2019-06-03 15:36:21 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"fixed-hash 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"impl-codec 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-03 15:36:21 +02:00
|
|
|
"impl-rlp 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"impl-serde 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"uint 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-03 15:36:21 +02:00
|
|
|
]
|
|
|
|
|
2019-07-05 10:24:24 +02:00
|
|
|
[[package]]
|
|
|
|
name = "proc-macro-crate"
|
|
|
|
version = "0.1.4"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"toml 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-08-28 16:15:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "proc-macro-hack"
|
|
|
|
version = "0.5.9"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-19 14:14:25 +02:00
|
|
|
"syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-28 16:15:50 +02:00
|
|
|
]
|
|
|
|
|
2018-09-04 20:13:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "proc-macro2"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.4.20"
|
2018-03-13 12:43:24 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-08-28 16:15:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "proc-macro2"
|
|
|
|
version = "1.0.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-06-22 14:54:08 +02:00
|
|
|
[[package]]
|
|
|
|
name = "pulldown-cmark"
|
|
|
|
version = "0.0.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-09-14 19:28:43 +02:00
|
|
|
]
|
|
|
|
|
2017-11-25 21:27:58 +01:00
|
|
|
[[package]]
|
|
|
|
name = "pwasm-run-test"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-08 15:07:20 +01:00
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-11-25 21:27:58 +01:00
|
|
|
"ethjson 0.1.0",
|
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-11-25 21:27:58 +01:00
|
|
|
"vm 0.1.0",
|
|
|
|
"wasm 0.1.0",
|
|
|
|
]
|
|
|
|
|
2018-03-26 10:55:48 +02:00
|
|
|
[[package]]
|
|
|
|
name = "pwasm-utils"
|
2019-01-04 16:56:56 +01:00
|
|
|
version = "0.6.1"
|
2018-03-26 10:55:48 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-26 10:55:48 +02:00
|
|
|
]
|
|
|
|
|
2018-05-05 11:02:33 +02:00
|
|
|
[[package]]
|
|
|
|
name = "quick-error"
|
2018-06-25 14:20:44 +02:00
|
|
|
version = "1.2.2"
|
2018-05-05 11:02:33 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-09-04 20:13:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "quote"
|
|
|
|
version = "0.6.8"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-13 12:43:24 +01:00
|
|
|
]
|
2017-01-11 20:02:27 +01:00
|
|
|
|
2019-08-28 16:15:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "quote"
|
|
|
|
version = "1.0.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-01-14 22:43:28 +01:00
|
|
|
[[package]]
|
|
|
|
name = "rand"
|
2019-10-18 15:12:16 +02:00
|
|
|
version = "0.4.6"
|
2018-01-14 22:43:28 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-18 15:12:16 +02:00
|
|
|
"fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-01-14 22:43:28 +01:00
|
|
|
]
|
|
|
|
|
2018-07-25 17:40:33 +02:00
|
|
|
[[package]]
|
|
|
|
name = "rand"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.5.5"
|
2018-07-25 17:40:33 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"rand_core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-07-25 17:40:33 +02:00
|
|
|
]
|
|
|
|
|
2018-12-11 17:22:55 +01:00
|
|
|
[[package]]
|
|
|
|
name = "rand"
|
|
|
|
version = "0.6.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-11 17:22:55 +01:00
|
|
|
"rand_chacha 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-11 17:22:55 +01:00
|
|
|
"rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand_pcg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-03 15:36:21 +02:00
|
|
|
"rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-11 17:22:55 +01:00
|
|
|
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-10-02 10:25:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "rand"
|
|
|
|
version = "0.7.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"getrandom 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-12-11 17:22:55 +01:00
|
|
|
[[package]]
|
|
|
|
name = "rand_chacha"
|
|
|
|
version = "0.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-11 17:22:55 +01:00
|
|
|
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-10-02 10:25:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "rand_chacha"
|
|
|
|
version = "0.2.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-07-25 17:40:33 +02:00
|
|
|
[[package]]
|
|
|
|
name = "rand_core"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.2.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "rand_core"
|
2019-10-18 15:12:16 +02:00
|
|
|
version = "0.3.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "rand_core"
|
|
|
|
version = "0.4.2"
|
2018-07-25 17:40:33 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2019-06-03 15:36:21 +02:00
|
|
|
[[package]]
|
|
|
|
name = "rand_core"
|
2019-09-05 19:28:01 +02:00
|
|
|
version = "0.5.1"
|
2019-06-03 15:36:21 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2019-09-05 19:28:01 +02:00
|
|
|
dependencies = [
|
|
|
|
"getrandom 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
2019-06-03 15:36:21 +02:00
|
|
|
|
2018-12-11 17:22:55 +01:00
|
|
|
[[package]]
|
|
|
|
name = "rand_hc"
|
|
|
|
version = "0.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-11 17:22:55 +01:00
|
|
|
]
|
|
|
|
|
2019-10-02 10:25:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "rand_hc"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-12-11 17:22:55 +01:00
|
|
|
[[package]]
|
|
|
|
name = "rand_isaac"
|
|
|
|
version = "0.1.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-11 17:22:55 +01:00
|
|
|
]
|
|
|
|
|
2019-06-03 15:36:21 +02:00
|
|
|
[[package]]
|
|
|
|
name = "rand_os"
|
2019-09-05 19:28:01 +02:00
|
|
|
version = "0.2.2"
|
2019-06-03 15:36:21 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"getrandom 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-03 15:36:21 +02:00
|
|
|
]
|
|
|
|
|
2018-12-11 17:22:55 +01:00
|
|
|
[[package]]
|
|
|
|
name = "rand_pcg"
|
|
|
|
version = "0.1.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-11 17:22:55 +01:00
|
|
|
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "rand_xorshift"
|
2019-06-03 15:36:21 +02:00
|
|
|
version = "0.1.1"
|
2018-12-11 17:22:55 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "rand_xorshift"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-12-11 17:22:55 +01:00
|
|
|
]
|
|
|
|
|
2019-09-05 19:28:01 +02:00
|
|
|
[[package]]
|
|
|
|
name = "rand_xoshiro"
|
|
|
|
version = "0.3.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-03-14 13:40:54 +01:00
|
|
|
[[package]]
|
|
|
|
name = "rayon"
|
2019-07-06 16:16:53 +02:00
|
|
|
version = "1.1.0"
|
2018-03-14 13:40:54 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-07-06 16:16:53 +02:00
|
|
|
"crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-06 16:16:53 +02:00
|
|
|
"rayon-core 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-14 13:40:54 +01:00
|
|
|
]
|
|
|
|
|
2017-06-07 12:31:12 +02:00
|
|
|
[[package]]
|
|
|
|
name = "rayon-core"
|
2019-07-06 16:16:53 +02:00
|
|
|
version = "1.5.0"
|
2017-06-07 12:31:12 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-07-06 16:16:53 +02:00
|
|
|
"crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-18 12:27:08 +02:00
|
|
|
"num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-06-07 12:31:12 +02:00
|
|
|
]
|
|
|
|
|
2019-10-18 15:12:16 +02:00
|
|
|
[[package]]
|
|
|
|
name = "rdrand"
|
|
|
|
version = "0.4.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-09-14 19:28:43 +02:00
|
|
|
[[package]]
|
|
|
|
name = "redox_syscall"
|
2018-06-13 13:02:16 +02:00
|
|
|
version = "0.1.40"
|
2017-09-14 19:28:43 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-04-11 12:56:37 +02:00
|
|
|
[[package]]
|
|
|
|
name = "redox_termios"
|
|
|
|
version = "0.1.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-06-13 13:02:16 +02:00
|
|
|
"redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-11 12:56:37 +02:00
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "regex"
|
2019-09-27 23:29:14 +02:00
|
|
|
version = "1.3.1"
|
2018-08-10 01:04:10 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-09-27 23:29:14 +02:00
|
|
|
"aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-08-10 01:04:10 +02:00
|
|
|
]
|
|
|
|
|
2019-09-05 19:28:01 +02:00
|
|
|
[[package]]
|
|
|
|
name = "regex-automata"
|
|
|
|
version = "0.1.8"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-03-28 19:06:08 +02:00
|
|
|
[[package]]
|
|
|
|
name = "regex-syntax"
|
2019-09-27 23:29:14 +02:00
|
|
|
version = "0.6.12"
|
2018-08-10 01:04:10 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-03-12 21:46:27 +01:00
|
|
|
[[package]]
|
|
|
|
name = "registrar"
|
|
|
|
version = "0.0.1"
|
|
|
|
dependencies = [
|
2019-10-03 15:15:25 +02:00
|
|
|
"common-types 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethabi 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-contract 9.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-derive 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-03 15:15:25 +02:00
|
|
|
"ethcore-call-contract 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-12 21:46:27 +01:00
|
|
|
]
|
|
|
|
|
2018-09-04 20:13:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "remove_dir_all"
|
|
|
|
version = "0.5.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-24 06:43:28 +01:00
|
|
|
]
|
|
|
|
|
2017-02-14 19:30:37 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ring"
|
2019-05-13 11:25:56 +02:00
|
|
|
version = "0.14.6"
|
2018-10-22 09:40:50 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2017-02-14 19:30:37 +01:00
|
|
|
dependencies = [
|
2019-10-23 13:03:46 +02:00
|
|
|
"cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-27 23:59:39 +02:00
|
|
|
"spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-05-13 11:25:56 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-02-14 19:30:37 +01:00
|
|
|
]
|
|
|
|
|
2019-05-28 07:50:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ripemd160"
|
|
|
|
version = "0.8.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-09-01 13:36:32 +02:00
|
|
|
[[package]]
|
|
|
|
name = "rlp"
|
2019-08-13 12:33:34 +02:00
|
|
|
version = "0.4.2"
|
2018-10-09 22:07:25 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-02-23 10:12:52 +01:00
|
|
|
[[package]]
|
|
|
|
name = "rlp_compress"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-06-19 13:54:05 +02:00
|
|
|
"elastic-array 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-02-23 10:12:52 +01:00
|
|
|
]
|
|
|
|
|
2017-08-20 06:01:46 +02:00
|
|
|
[[package]]
|
|
|
|
name = "rlp_derive"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-13 21:37:28 +02:00
|
|
|
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-05 14:31:19 +01:00
|
|
|
"syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-08-20 06:01:46 +02:00
|
|
|
]
|
|
|
|
|
2016-03-09 14:11:15 +01:00
|
|
|
[[package]]
|
|
|
|
name = "rpassword"
|
2017-10-16 10:20:55 +02:00
|
|
|
version = "1.0.2"
|
2016-11-02 17:14:05 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-10-16 10:20:55 +02:00
|
|
|
"rprompt 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-12-15 18:23:53 +01:00
|
|
|
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-11-02 17:14:05 +01:00
|
|
|
]
|
|
|
|
|
2017-10-16 10:20:55 +02:00
|
|
|
[[package]]
|
|
|
|
name = "rprompt"
|
|
|
|
version = "1.0.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-07-11 12:23:46 +02:00
|
|
|
[[package]]
|
|
|
|
name = "rustc-demangle"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.1.9"
|
2017-07-11 12:23:46 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-07-06 11:36:15 +02:00
|
|
|
[[package]]
|
|
|
|
name = "rustc-hex"
|
|
|
|
version = "1.0.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-09-04 20:13:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "rustc-hex"
|
|
|
|
version = "2.0.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "rustc-serialize"
|
2017-09-14 19:28:43 +02:00
|
|
|
version = "0.3.24"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-03-15 14:03:11 +01:00
|
|
|
[[package]]
|
|
|
|
name = "rustc_version"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.2.3"
|
2017-03-15 14:03:11 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-04-04 11:54:41 +02:00
|
|
|
"semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-03-15 14:03:11 +01:00
|
|
|
]
|
|
|
|
|
2017-09-14 19:28:43 +02:00
|
|
|
[[package]]
|
2018-03-14 13:40:54 +01:00
|
|
|
name = "rustls"
|
2019-02-06 17:53:34 +01:00
|
|
|
version = "0.15.1"
|
2017-09-14 19:28:43 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2018-03-14 13:40:54 +01:00
|
|
|
dependencies = [
|
2019-02-06 17:53:34 +01:00
|
|
|
"base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-05-13 11:25:56 +02:00
|
|
|
"ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-06 17:53:34 +01:00
|
|
|
"sct 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-06 17:53:34 +01:00
|
|
|
"webpki 0.19.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-14 13:40:54 +01:00
|
|
|
]
|
2017-09-14 19:28:43 +02:00
|
|
|
|
2018-09-04 20:13:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ryu"
|
2019-08-22 18:25:49 +02:00
|
|
|
version = "1.0.0"
|
2018-09-04 20:13:51 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-09-03 01:34:32 +02:00
|
|
|
[[package]]
|
2018-03-14 13:40:54 +01:00
|
|
|
name = "safemem"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.3.0"
|
2016-12-22 18:26:39 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-09-05 17:17:12 +02:00
|
|
|
[[package]]
|
|
|
|
name = "same-file"
|
|
|
|
version = "1.0.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-09-10 18:03:35 +02:00
|
|
|
[[package]]
|
|
|
|
name = "scopeguard"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.3.3"
|
2017-09-10 18:03:35 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2019-07-05 10:24:24 +02:00
|
|
|
[[package]]
|
|
|
|
name = "scopeguard"
|
|
|
|
version = "1.0.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2019-05-28 07:50:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "scrypt"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-05-28 07:50:10 +02:00
|
|
|
"hmac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-12-22 18:26:39 +01:00
|
|
|
[[package]]
|
2018-03-14 13:40:54 +01:00
|
|
|
name = "sct"
|
2019-02-06 17:53:34 +01:00
|
|
|
version = "0.5.0"
|
2016-12-22 18:26:39 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-05-13 11:25:56 +02:00
|
|
|
"ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-09-03 01:34:32 +02:00
|
|
|
]
|
|
|
|
|
2017-03-15 14:03:11 +01:00
|
|
|
[[package]]
|
|
|
|
name = "semver"
|
2018-04-04 11:54:41 +02:00
|
|
|
version = "0.9.0"
|
2017-03-15 14:03:11 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-03-15 14:03:11 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "semver-parser"
|
|
|
|
version = "0.7.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-02-27 13:14:58 +01:00
|
|
|
[[package]]
|
|
|
|
name = "serde"
|
2019-08-22 18:25:49 +02:00
|
|
|
version = "1.0.99"
|
2016-02-15 10:47:56 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2019-06-19 12:20:50 +02:00
|
|
|
dependencies = [
|
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
2016-09-01 12:00:00 +02:00
|
|
|
|
2017-05-23 12:31:09 +02:00
|
|
|
[[package]]
|
|
|
|
name = "serde_derive"
|
2019-03-28 16:31:06 +01:00
|
|
|
version = "1.0.89"
|
2017-05-23 12:31:09 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-05 14:31:19 +01:00
|
|
|
"syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-12-22 18:26:39 +01:00
|
|
|
]
|
|
|
|
|
2017-02-02 19:11:28 +01:00
|
|
|
[[package]]
|
|
|
|
name = "serde_json"
|
2019-08-22 18:25:49 +02:00
|
|
|
version = "1.0.40"
|
2017-02-02 19:11:28 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-13 12:58:49 +02:00
|
|
|
"itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-02-02 19:11:28 +01:00
|
|
|
]
|
|
|
|
|
2016-05-27 13:03:00 +02:00
|
|
|
[[package]]
|
2019-07-05 10:24:24 +02:00
|
|
|
name = "sha-1"
|
|
|
|
version = "0.8.1"
|
2016-05-27 13:03:00 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2019-07-05 10:24:24 +02:00
|
|
|
dependencies = [
|
|
|
|
"block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
2016-05-27 13:03:00 +02:00
|
|
|
|
2018-10-22 09:40:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "sha1"
|
2019-07-05 10:24:24 +02:00
|
|
|
version = "0.5.0"
|
2018-10-22 09:40:50 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "sha2"
|
|
|
|
version = "0.7.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-05-28 07:50:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "sha2"
|
|
|
|
version = "0.8.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-12-13 23:38:29 +01:00
|
|
|
[[package]]
|
|
|
|
name = "shell32-sys"
|
2018-06-06 10:02:25 +02:00
|
|
|
version = "0.1.2"
|
2016-12-13 23:38:29 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-06-06 10:02:25 +02:00
|
|
|
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-12-13 23:38:29 +01:00
|
|
|
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-10-21 11:57:30 +02:00
|
|
|
[[package]]
|
|
|
|
name = "siphasher"
|
2019-06-27 14:34:07 +02:00
|
|
|
version = "0.2.3"
|
2017-09-14 19:28:43 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "siphasher"
|
2019-06-27 14:34:07 +02:00
|
|
|
version = "0.3.0"
|
2016-10-21 11:57:30 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-06-22 14:54:08 +02:00
|
|
|
[[package]]
|
|
|
|
name = "skeptic"
|
|
|
|
version = "0.4.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"pulldown-cmark 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-06-22 14:54:08 +02:00
|
|
|
]
|
|
|
|
|
2016-06-02 11:49:56 +02:00
|
|
|
[[package]]
|
|
|
|
name = "slab"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-10-30 09:56:34 +01:00
|
|
|
[[package]]
|
|
|
|
name = "slab"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-03-24 06:43:28 +01:00
|
|
|
[[package]]
|
|
|
|
name = "slab"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.4.1"
|
2018-03-24 06:43:28 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-09-04 20:13:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "smallvec"
|
2019-06-30 23:20:46 +02:00
|
|
|
version = "0.6.10"
|
2018-09-04 20:13:51 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2019-09-03 11:29:25 +02:00
|
|
|
[[package]]
|
|
|
|
name = "snapshot"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"account-db 0.1.0",
|
|
|
|
"account-state 0.1.0",
|
|
|
|
"client-traits 0.1.0",
|
|
|
|
"common-types 0.1.0",
|
2019-10-24 16:46:32 +02:00
|
|
|
"crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-03 11:29:25 +02:00
|
|
|
"engine 0.1.0",
|
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethabi 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-contract 9.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-derive 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-03 11:29:25 +02:00
|
|
|
"ethcore 1.12.0",
|
|
|
|
"ethcore-accounts 0.1.0",
|
|
|
|
"ethcore-blockchain 0.1.0",
|
|
|
|
"ethcore-bloom-journal 0.1.0",
|
|
|
|
"ethcore-db 0.1.0",
|
|
|
|
"ethcore-io 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"ethkey 0.4.0",
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-03 11:29:25 +02:00
|
|
|
"itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"journaldb 0.2.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-03 11:29:25 +02:00
|
|
|
"keccak-hasher 0.1.1",
|
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"kvdb-rocksdb 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-03 11:29:25 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"parity-snappy 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-03 11:29:25 +02:00
|
|
|
"patricia-trie-ethereum 0.1.0",
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand_xorshift 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-03 11:29:25 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rlp_derive 0.1.0",
|
2019-10-24 16:46:32 +02:00
|
|
|
"scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-10 22:44:33 +02:00
|
|
|
"snapshot-tests 0.1.0",
|
2019-09-03 11:29:25 +02:00
|
|
|
"spec 0.1.0",
|
|
|
|
"state-db 0.1.0",
|
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"trie-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-03 11:29:25 +02:00
|
|
|
"trie-standardmap 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"triehash-ethereum 0.2.0",
|
|
|
|
]
|
|
|
|
|
2019-09-10 22:44:33 +02:00
|
|
|
[[package]]
|
|
|
|
name = "snapshot-tests"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"account-db 0.1.0",
|
|
|
|
"account-state 0.1.0",
|
|
|
|
"client-traits 0.1.0",
|
|
|
|
"common-types 0.1.0",
|
|
|
|
"engine 0.1.0",
|
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethabi 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-contract 9.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-derive 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-10 22:44:33 +02:00
|
|
|
"ethcore 1.12.0",
|
|
|
|
"ethcore-accounts 0.1.0",
|
|
|
|
"ethcore-blockchain 0.1.0",
|
|
|
|
"ethcore-db 0.1.0",
|
|
|
|
"ethcore-io 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-10 22:44:33 +02:00
|
|
|
"journaldb 0.2.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-10 22:44:33 +02:00
|
|
|
"keccak-hasher 0.1.1",
|
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"kvdb-rocksdb 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-10 22:44:33 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-10 22:44:33 +02:00
|
|
|
"parity-snappy 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-10 22:44:33 +02:00
|
|
|
"patricia-trie-ethereum 0.1.0",
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand_xorshift 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-10 22:44:33 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"snapshot 0.1.0",
|
|
|
|
"spec 0.1.0",
|
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"trie-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-10 22:44:33 +02:00
|
|
|
"trie-standardmap 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"triehash-ethereum 0.2.0",
|
|
|
|
]
|
|
|
|
|
2018-06-13 13:02:16 +02:00
|
|
|
[[package]]
|
|
|
|
name = "socket2"
|
2018-09-13 12:58:49 +02:00
|
|
|
version = "0.3.8"
|
2018-06-13 13:02:16 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-23 13:03:46 +02:00
|
|
|
"cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-06-13 13:02:16 +02:00
|
|
|
"redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-06-13 13:02:16 +02:00
|
|
|
]
|
|
|
|
|
2019-08-23 15:32:58 +02:00
|
|
|
[[package]]
|
|
|
|
name = "spec"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"account-state 0.1.0",
|
|
|
|
"authority-round 0.1.0",
|
|
|
|
"basic-authority 0.1.0",
|
|
|
|
"clique 0.1.0",
|
|
|
|
"common-types 0.1.0",
|
|
|
|
"engine 0.1.0",
|
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethash 1.12.0",
|
|
|
|
"ethash-engine 0.1.0",
|
|
|
|
"ethcore 1.12.0",
|
|
|
|
"ethcore-builtin 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-23 15:32:58 +02:00
|
|
|
"ethjson 0.1.0",
|
|
|
|
"evm 0.1.0",
|
|
|
|
"executive-state 0.1.0",
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-23 15:32:58 +02:00
|
|
|
"instant-seal 0.1.0",
|
|
|
|
"journaldb 0.2.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"kvdb-memorydb 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-23 15:32:58 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"machine 0.1.0",
|
|
|
|
"null-engine 0.1.0",
|
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"pod 0.1.0",
|
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"trace 0.1.0",
|
|
|
|
"trie-vm-factories 0.1.0",
|
|
|
|
"vm 0.1.0",
|
|
|
|
]
|
|
|
|
|
2019-05-13 11:25:56 +02:00
|
|
|
[[package]]
|
|
|
|
name = "spin"
|
2019-08-27 23:59:39 +02:00
|
|
|
version = "0.5.2"
|
2019-05-13 11:25:56 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-03-28 19:06:08 +02:00
|
|
|
[[package]]
|
|
|
|
name = "stable_deref_trait"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "1.1.1"
|
2017-03-28 19:06:08 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2019-07-08 23:01:47 +02:00
|
|
|
[[package]]
|
|
|
|
name = "state-db"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"account-state 0.1.0",
|
|
|
|
"common-types 0.1.0",
|
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethcore 1.12.0",
|
|
|
|
"ethcore-bloom-journal 0.1.0",
|
|
|
|
"ethcore-db 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 23:01:47 +02:00
|
|
|
"journaldb 0.2.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 23:01:47 +02:00
|
|
|
"keccak-hasher 0.1.1",
|
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 23:01:47 +02:00
|
|
|
"lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"memory-cache 0.1.0",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 23:01:47 +02:00
|
|
|
]
|
|
|
|
|
2019-06-03 15:36:21 +02:00
|
|
|
[[package]]
|
|
|
|
name = "static_assertions"
|
|
|
|
version = "0.2.5"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2019-07-08 17:25:49 +02:00
|
|
|
[[package]]
|
|
|
|
name = "static_assertions"
|
|
|
|
version = "0.3.3"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-02-17 16:18:31 +01:00
|
|
|
[[package]]
|
|
|
|
name = "stats"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-02-17 16:18:31 +01:00
|
|
|
]
|
|
|
|
|
2019-05-28 07:50:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "stream-cipher"
|
|
|
|
version = "0.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-10-22 09:40:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "string"
|
2019-09-27 23:29:14 +02:00
|
|
|
version = "0.2.1"
|
2018-10-22 09:40:50 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2019-09-27 23:29:14 +02:00
|
|
|
dependencies = [
|
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
2018-10-22 09:40:50 +02:00
|
|
|
|
2018-09-04 20:13:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "strsim"
|
|
|
|
version = "0.7.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2019-05-28 07:50:10 +02:00
|
|
|
[[package]]
|
2019-09-05 19:28:01 +02:00
|
|
|
name = "strsim"
|
|
|
|
version = "0.8.0"
|
2019-05-28 07:50:10 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "subtle"
|
2019-09-05 19:28:01 +02:00
|
|
|
version = "1.0.0"
|
2019-05-28 07:50:10 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-11-06 14:22:44 +01:00
|
|
|
[[package]]
|
2019-09-05 19:28:01 +02:00
|
|
|
name = "subtle"
|
|
|
|
version = "2.1.0"
|
2018-11-06 14:22:44 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-09-04 20:13:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "syn"
|
2019-02-05 14:31:19 +01:00
|
|
|
version = "0.15.26"
|
2018-09-04 20:13:51 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-13 12:43:24 +01:00
|
|
|
"unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-01-11 20:02:27 +01:00
|
|
|
]
|
|
|
|
|
2019-08-28 16:15:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "syn"
|
2019-10-19 14:14:25 +02:00
|
|
|
version = "1.0.5"
|
2019-08-28 16:15:50 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-10-30 22:12:42 +01:00
|
|
|
[[package]]
|
|
|
|
name = "synstructure"
|
|
|
|
version = "0.10.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-05 14:31:19 +01:00
|
|
|
"syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-30 22:12:42 +01:00
|
|
|
"unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-02-22 09:04:44 +01:00
|
|
|
[[package]]
|
|
|
|
name = "target_info"
|
|
|
|
version = "0.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-11-02 17:14:05 +01:00
|
|
|
[[package]]
|
|
|
|
name = "tempdir"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.3.7"
|
2016-11-02 17:14:05 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-18 15:12:16 +02:00
|
|
|
"rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-11-02 17:14:05 +01:00
|
|
|
]
|
|
|
|
|
2018-01-31 09:50:52 +01:00
|
|
|
[[package]]
|
|
|
|
name = "term_size"
|
|
|
|
version = "0.3.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-01-31 09:50:52 +01:00
|
|
|
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-08-10 01:04:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "termcolor"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "1.0.4"
|
2018-08-10 01:04:10 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-08-10 01:04:10 +02:00
|
|
|
]
|
|
|
|
|
2018-04-11 12:56:37 +02:00
|
|
|
[[package]]
|
|
|
|
name = "termion"
|
|
|
|
version = "1.5.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-06-13 13:02:16 +02:00
|
|
|
"redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-11 12:56:37 +02:00
|
|
|
"redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-04-24 19:10:56 +02:00
|
|
|
[[package]]
|
2017-09-14 19:28:43 +02:00
|
|
|
name = "textwrap"
|
2018-01-17 11:45:29 +01:00
|
|
|
version = "0.9.0"
|
2016-04-24 19:10:56 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "textwrap"
|
2019-09-05 19:28:01 +02:00
|
|
|
version = "0.11.0"
|
2018-09-04 20:13:51 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-04-24 19:10:56 +02:00
|
|
|
]
|
|
|
|
|
2018-05-30 15:42:37 +02:00
|
|
|
[[package]]
|
|
|
|
name = "thread-id"
|
|
|
|
version = "3.3.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-06-13 13:02:16 +02:00
|
|
|
"redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-05-30 15:42:37 +02:00
|
|
|
]
|
|
|
|
|
2016-04-24 19:10:56 +02:00
|
|
|
[[package]]
|
|
|
|
name = "thread_local"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.3.6"
|
2016-04-24 19:10:56 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-03-09 14:11:15 +01:00
|
|
|
]
|
|
|
|
|
2017-12-01 09:40:07 +01:00
|
|
|
[[package]]
|
|
|
|
name = "threadpool"
|
|
|
|
version = "1.7.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-07-18 12:27:08 +02:00
|
|
|
"num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-12-01 09:40:07 +01:00
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "time"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.1.40"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-06-13 13:02:16 +02:00
|
|
|
"redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
]
|
|
|
|
|
2019-03-19 23:17:05 +01:00
|
|
|
[[package]]
|
|
|
|
name = "time-utils"
|
|
|
|
version = "0.1.0"
|
|
|
|
|
2018-05-10 12:34:36 +02:00
|
|
|
[[package]]
|
|
|
|
name = "timer"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-05-10 12:34:36 +02:00
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "tiny-keccak"
|
2019-10-08 14:18:44 +02:00
|
|
|
version = "1.5.0"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2018-03-01 09:54:50 +01:00
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-01 09:54:50 +01:00
|
|
|
]
|
2016-02-14 17:35:45 +01:00
|
|
|
|
2019-09-05 19:28:01 +02:00
|
|
|
[[package]]
|
|
|
|
name = "tinytemplate"
|
|
|
|
version = "1.0.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-04-04 15:38:04 +02:00
|
|
|
[[package]]
|
|
|
|
name = "tokio"
|
2019-10-10 16:56:22 +02:00
|
|
|
version = "0.1.22"
|
2018-09-04 20:13:51 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 09:54:54 +02:00
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-08 09:41:22 +02:00
|
|
|
"mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tokio-fs 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio-sync 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"tokio-tcp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio-threadpool 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"tokio-udp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "tokio-codec"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.1.1"
|
2018-04-04 15:38:04 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 09:54:54 +02:00
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-04 15:38:04 +02:00
|
|
|
]
|
|
|
|
|
2018-09-04 20:13:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "tokio-current-thread"
|
2019-10-10 16:56:22 +02:00
|
|
|
version = "0.1.6"
|
2018-09-04 20:13:51 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-04 15:38:04 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "tokio-executor"
|
2019-10-10 16:56:22 +02:00
|
|
|
version = "0.1.8"
|
2018-04-04 15:38:04 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-24 16:46:32 +02:00
|
|
|
"crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "tokio-fs"
|
2019-10-10 16:56:22 +02:00
|
|
|
version = "0.1.6"
|
2018-09-04 20:13:51 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio-threadpool 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-12-22 18:26:39 +01:00
|
|
|
]
|
|
|
|
|
2017-03-22 07:02:14 +01:00
|
|
|
[[package]]
|
|
|
|
name = "tokio-io"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.1.9"
|
2017-03-22 07:02:14 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 09:54:54 +02:00
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-04-03 10:27:37 +02:00
|
|
|
]
|
|
|
|
|
2017-03-22 07:02:14 +01:00
|
|
|
[[package]]
|
|
|
|
name = "tokio-named-pipes"
|
2018-09-24 12:27:51 +02:00
|
|
|
version = "0.1.0"
|
2017-01-25 11:03:36 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 09:54:54 +02:00
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-08 09:41:22 +02:00
|
|
|
"mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"mio-named-pipes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-01-25 11:03:36 +01:00
|
|
|
]
|
|
|
|
|
2018-04-04 15:38:04 +02:00
|
|
|
[[package]]
|
|
|
|
name = "tokio-reactor"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.1.6"
|
2018-04-04 15:38:04 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-08 09:41:22 +02:00
|
|
|
"mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-18 12:27:08 +02:00
|
|
|
"num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-13 12:58:49 +02:00
|
|
|
"parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-04 15:38:04 +02:00
|
|
|
]
|
|
|
|
|
2017-01-25 11:03:36 +01:00
|
|
|
[[package]]
|
2018-03-14 13:40:54 +01:00
|
|
|
name = "tokio-rustls"
|
2019-02-06 17:53:34 +01:00
|
|
|
version = "0.9.0"
|
2017-01-25 11:03:36 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-06 17:53:34 +01:00
|
|
|
"rustls 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"webpki 0.19.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-03-22 07:02:14 +01:00
|
|
|
]
|
|
|
|
|
2017-05-06 13:24:18 +02:00
|
|
|
[[package]]
|
2018-03-14 13:40:54 +01:00
|
|
|
name = "tokio-service"
|
|
|
|
version = "0.1.0"
|
2017-05-06 13:24:18 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "tokio-sync"
|
|
|
|
version = "0.1.6"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-04 15:38:04 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "tokio-tcp"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.1.2"
|
2018-04-04 15:38:04 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 09:54:54 +02:00
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-04 15:38:04 +02:00
|
|
|
"iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-08 09:41:22 +02:00
|
|
|
"mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-04 15:38:04 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "tokio-threadpool"
|
2019-10-10 16:56:22 +02:00
|
|
|
version = "0.1.16"
|
2018-04-04 15:38:04 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-10 16:56:22 +02:00
|
|
|
"crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-18 12:27:08 +02:00
|
|
|
"num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-05-06 13:24:18 +02:00
|
|
|
]
|
|
|
|
|
2017-10-05 12:35:01 +02:00
|
|
|
[[package]]
|
2018-03-14 13:40:54 +01:00
|
|
|
name = "tokio-timer"
|
|
|
|
version = "0.1.2"
|
2017-10-05 12:35:01 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-14 13:40:54 +01:00
|
|
|
"slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-10-05 12:35:01 +02:00
|
|
|
]
|
|
|
|
|
2018-04-04 15:38:04 +02:00
|
|
|
[[package]]
|
|
|
|
name = "tokio-timer"
|
2019-10-10 16:56:22 +02:00
|
|
|
version = "0.2.11"
|
2018-04-04 15:38:04 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-24 16:46:32 +02:00
|
|
|
"crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-04 15:38:04 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "tokio-udp"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.1.2"
|
2018-04-04 15:38:04 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 09:54:54 +02:00
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-08 09:41:22 +02:00
|
|
|
"mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-04 15:38:04 +02:00
|
|
|
]
|
|
|
|
|
2017-03-22 07:02:14 +01:00
|
|
|
[[package]]
|
|
|
|
name = "tokio-uds"
|
2019-10-10 16:56:22 +02:00
|
|
|
version = "0.2.5"
|
2018-09-04 20:13:51 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 09:54:54 +02:00
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-08 09:41:22 +02:00
|
|
|
"mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-13 12:58:49 +02:00
|
|
|
"mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-10 16:56:22 +02:00
|
|
|
"tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-01-25 11:03:36 +01:00
|
|
|
]
|
|
|
|
|
2016-09-10 11:37:14 +02:00
|
|
|
[[package]]
|
|
|
|
name = "toml"
|
2019-03-28 16:31:06 +01:00
|
|
|
version = "0.4.10"
|
2016-09-10 11:37:14 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-09-10 11:37:14 +02:00
|
|
|
]
|
|
|
|
|
2019-07-05 10:24:24 +02:00
|
|
|
[[package]]
|
|
|
|
name = "toml"
|
|
|
|
version = "0.5.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-05 10:24:24 +02:00
|
|
|
]
|
|
|
|
|
2018-10-30 22:12:42 +01:00
|
|
|
[[package]]
|
|
|
|
name = "toolshed"
|
2019-09-30 23:16:30 +02:00
|
|
|
version = "0.6.3"
|
2018-10-30 22:12:42 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-07-08 18:17:48 +02:00
|
|
|
[[package]]
|
|
|
|
name = "trace"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"ethcore 1.12.0",
|
|
|
|
"ethcore-blockchain 0.1.0",
|
|
|
|
"ethcore-db 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"evm 0.1.0",
|
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 15:36:48 +02:00
|
|
|
"parity-util-mem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"rlp_derive 0.1.0",
|
|
|
|
"vm 0.1.0",
|
|
|
|
]
|
|
|
|
|
2018-02-23 19:49:08 +01:00
|
|
|
[[package]]
|
|
|
|
name = "trace-time"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.1.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2018-02-23 19:49:08 +01:00
|
|
|
dependencies = [
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-02-23 19:49:08 +01:00
|
|
|
]
|
|
|
|
|
2017-12-19 10:20:49 +01:00
|
|
|
[[package]]
|
|
|
|
name = "transaction-pool"
|
2019-09-11 18:44:31 +02:00
|
|
|
version = "2.0.1"
|
2018-09-04 20:13:51 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2017-12-19 10:20:49 +01:00
|
|
|
dependencies = [
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-30 23:20:46 +02:00
|
|
|
"smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"trace-time 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-12-19 10:20:49 +01:00
|
|
|
]
|
|
|
|
|
2016-02-23 18:51:29 +01:00
|
|
|
[[package]]
|
|
|
|
name = "transient-hashmap"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.4.1"
|
2016-02-27 15:56:41 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2017-09-14 19:28:43 +02:00
|
|
|
|
2019-02-20 19:09:34 +01:00
|
|
|
[[package]]
|
|
|
|
name = "trie-db"
|
2019-10-24 16:46:32 +02:00
|
|
|
version = "0.15.2"
|
2019-02-20 19:09:34 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-19 13:54:05 +02:00
|
|
|
"elastic-array 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-20 19:09:34 +01:00
|
|
|
"rand 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-02-19 12:03:54 +01:00
|
|
|
[[package]]
|
|
|
|
name = "trie-standardmap"
|
2019-08-15 15:36:48 +02:00
|
|
|
version = "0.15.0"
|
2018-09-04 20:13:51 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2018-02-19 12:03:54 +01:00
|
|
|
dependencies = [
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-15 15:36:48 +02:00
|
|
|
"keccak-hasher 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-02-19 12:03:54 +01:00
|
|
|
]
|
|
|
|
|
2019-07-08 18:17:48 +02:00
|
|
|
[[package]]
|
|
|
|
name = "trie-vm-factories"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"account-db 0.1.0",
|
|
|
|
"evm 0.1.0",
|
|
|
|
"keccak-hasher 0.1.1",
|
|
|
|
"patricia-trie-ethereum 0.1.0",
|
2019-10-24 16:46:32 +02:00
|
|
|
"trie-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-08 18:17:48 +02:00
|
|
|
"vm 0.1.0",
|
|
|
|
"wasm 0.1.0",
|
|
|
|
]
|
|
|
|
|
2017-09-03 09:11:14 +02:00
|
|
|
[[package]]
|
|
|
|
name = "triehash"
|
2019-08-15 15:36:48 +02:00
|
|
|
version = "0.8.0"
|
2018-09-04 20:13:51 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2017-09-03 09:11:14 +02:00
|
|
|
dependencies = [
|
2019-10-24 16:46:32 +02:00
|
|
|
"hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-09-03 09:11:14 +02:00
|
|
|
]
|
|
|
|
|
2018-07-02 18:50:05 +02:00
|
|
|
[[package]]
|
Delete crates from parity-ethereum and fetch them from parity-common instead (#9083)
Use crates from parity-common: hashdb, keccak-hash, kvdb, kvdb-memorydb, kvdb-rocksdb, memorydb, parity-bytes, parity-crypto, path, patricia_trie, plain_hasher, rlp, target, test-support, trie-standardmap, triehash
2018-07-10 14:59:19 +02:00
|
|
|
name = "triehash-ethereum"
|
|
|
|
version = "0.2.0"
|
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"keccak-hasher 0.1.1",
|
2019-08-15 15:36:48 +02:00
|
|
|
"triehash 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
Delete crates from parity-ethereum and fetch them from parity-common instead (#9083)
Use crates from parity-common: hashdb, keccak-hash, kvdb, kvdb-memorydb, kvdb-rocksdb, memorydb, parity-bytes, parity-crypto, path, patricia_trie, plain_hasher, rlp, target, test-support, trie-standardmap, triehash
2018-07-10 14:59:19 +02:00
|
|
|
]
|
2018-07-02 18:50:05 +02:00
|
|
|
|
2018-10-22 09:40:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "try-lock"
|
|
|
|
version = "0.2.2"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "typenum"
|
|
|
|
version = "1.10.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-01-10 13:35:18 +01:00
|
|
|
[[package]]
|
|
|
|
name = "uint"
|
2019-10-08 14:18:44 +02:00
|
|
|
version = "0.8.1"
|
2018-01-10 13:35:18 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-01-10 13:35:18 +01:00
|
|
|
]
|
|
|
|
|
2017-09-05 12:14:03 +02:00
|
|
|
[[package]]
|
|
|
|
name = "unexpected"
|
|
|
|
version = "0.1.0"
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "unicase"
|
2017-09-14 19:28:43 +02:00
|
|
|
version = "1.4.2"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
]
|
|
|
|
|
2017-09-25 19:45:33 +02:00
|
|
|
[[package]]
|
|
|
|
name = "unicase"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "2.2.0"
|
2017-09-25 19:45:33 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-09-25 19:45:33 +02:00
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "unicode-bidi"
|
2017-09-14 19:28:43 +02:00
|
|
|
version = "0.3.4"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "unicode-normalization"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.1.7"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-04-03 09:40:18 +02:00
|
|
|
[[package]]
|
|
|
|
name = "unicode-segmentation"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "1.2.1"
|
2017-04-03 09:40:18 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-07-10 17:42:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "unicode-width"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.1.5"
|
2017-07-10 17:42:10 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-03-13 12:43:24 +01:00
|
|
|
[[package]]
|
|
|
|
name = "unicode-xid"
|
|
|
|
version = "0.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2019-08-28 16:15:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "unicode-xid"
|
|
|
|
version = "0.2.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-02-14 19:30:37 +01:00
|
|
|
[[package]]
|
2017-09-14 19:28:43 +02:00
|
|
|
name = "unreachable"
|
|
|
|
version = "1.0.0"
|
2017-02-14 19:30:37 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2017-09-14 19:28:43 +02:00
|
|
|
dependencies = [
|
|
|
|
"void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
2017-02-14 19:30:37 +01:00
|
|
|
|
2016-04-24 19:10:56 +02:00
|
|
|
[[package]]
|
2017-09-14 19:28:43 +02:00
|
|
|
name = "untrusted"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.6.2"
|
2016-04-24 19:10:56 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2016-02-14 17:35:45 +01:00
|
|
|
|
2016-12-22 18:26:39 +01:00
|
|
|
[[package]]
|
2017-09-14 19:28:43 +02:00
|
|
|
name = "url"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "1.7.1"
|
2016-12-22 18:26:39 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-12-22 18:26:39 +01:00
|
|
|
]
|
|
|
|
|
2019-10-02 10:25:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "url"
|
|
|
|
version = "2.1.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-08-01 12:37:57 +02:00
|
|
|
[[package]]
|
|
|
|
name = "using_queue"
|
|
|
|
version = "0.1.0"
|
|
|
|
|
2019-09-30 23:16:30 +02:00
|
|
|
[[package]]
|
|
|
|
name = "utf8-ranges"
|
|
|
|
version = "1.0.4"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-10-30 22:12:42 +01:00
|
|
|
[[package]]
|
|
|
|
name = "validator"
|
|
|
|
version = "0.8.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-03-28 16:31:06 +01:00
|
|
|
"serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-30 22:12:42 +01:00
|
|
|
"url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-08-22 18:25:49 +02:00
|
|
|
[[package]]
|
|
|
|
name = "validator-set"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"client-traits 0.1.0",
|
|
|
|
"common-types 0.1.0",
|
|
|
|
"engine 0.1.0",
|
|
|
|
"env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethabi 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-contract 9.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"ethabi-derive 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"ethcore 1.12.0",
|
|
|
|
"ethcore-accounts 0.1.0",
|
|
|
|
"ethcore-call-contract 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"ethjson 0.1.0",
|
|
|
|
"executive-state 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"machine 0.1.0",
|
|
|
|
"memory-cache 0.1.0",
|
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"parity-util-mem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-22 18:25:49 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-23 15:32:58 +02:00
|
|
|
"spec 0.1.0",
|
2019-08-22 18:25:49 +02:00
|
|
|
"triehash-ethereum 0.2.0",
|
|
|
|
"unexpected 0.1.0",
|
|
|
|
"vm 0.1.0",
|
|
|
|
]
|
|
|
|
|
2018-10-30 22:12:42 +01:00
|
|
|
[[package]]
|
|
|
|
name = "validator_derive"
|
|
|
|
version = "0.8.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"if_chain 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-30 22:12:42 +01:00
|
|
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-05 14:31:19 +01:00
|
|
|
"syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-30 22:12:42 +01:00
|
|
|
"validator 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2017-07-10 17:42:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "vec_map"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "0.8.1"
|
2017-07-10 17:42:10 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-02-21 21:14:09 +01:00
|
|
|
[[package]]
|
|
|
|
name = "vergen"
|
2017-09-14 19:28:43 +02:00
|
|
|
version = "0.1.1"
|
2016-02-21 21:14:09 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2017-09-14 19:28:43 +02:00
|
|
|
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-21 21:14:09 +01:00
|
|
|
]
|
|
|
|
|
2019-08-28 10:09:42 +02:00
|
|
|
[[package]]
|
|
|
|
name = "verification"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
|
|
|
"client-traits 0.1.0",
|
|
|
|
"common-types 0.1.0",
|
2019-09-11 14:15:19 +02:00
|
|
|
"criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-28 10:09:42 +02:00
|
|
|
"engine 0.1.0",
|
2019-09-11 14:15:19 +02:00
|
|
|
"ethash-engine 0.1.0",
|
2019-08-28 10:09:42 +02:00
|
|
|
"ethcore 1.12.0",
|
|
|
|
"ethcore-blockchain 0.1.0",
|
|
|
|
"ethcore-call-contract 0.1.0",
|
|
|
|
"ethcore-io 1.12.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-28 10:09:42 +02:00
|
|
|
"len-caching-lock 0.1.1",
|
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"machine 0.1.0",
|
|
|
|
"null-engine 0.1.0",
|
|
|
|
"num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-23 13:03:46 +02:00
|
|
|
"parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-28 10:09:42 +02:00
|
|
|
"parity-util-mem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-27 23:29:14 +02:00
|
|
|
"parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-28 10:09:42 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"spec 0.1.0",
|
2019-09-11 14:15:19 +02:00
|
|
|
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-28 10:09:42 +02:00
|
|
|
"time-utils 0.1.0",
|
|
|
|
"triehash-ethereum 0.2.0",
|
|
|
|
"unexpected 0.1.0",
|
|
|
|
]
|
|
|
|
|
2017-09-14 19:28:43 +02:00
|
|
|
[[package]]
|
|
|
|
name = "version_check"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.1.5"
|
2017-09-14 19:28:43 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-08-01 12:37:57 +02:00
|
|
|
[[package]]
|
|
|
|
name = "vm"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-08-01 12:37:57 +02:00
|
|
|
"ethjson 0.1.0",
|
2019-10-08 14:18:44 +02:00
|
|
|
"keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-07-02 18:50:05 +02:00
|
|
|
"patricia-trie-ethereum 0.1.0",
|
2019-08-13 12:33:34 +02:00
|
|
|
"rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-08-01 12:37:57 +02:00
|
|
|
]
|
|
|
|
|
2016-04-07 14:24:52 +02:00
|
|
|
[[package]]
|
|
|
|
name = "void"
|
2016-04-24 19:10:56 +02:00
|
|
|
version = "1.0.2"
|
2016-04-07 14:24:52 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-09-05 17:17:12 +02:00
|
|
|
[[package]]
|
|
|
|
name = "walkdir"
|
2019-06-03 15:36:21 +02:00
|
|
|
version = "2.2.7"
|
2018-09-05 17:17:12 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"same-file 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-05 17:17:12 +02:00
|
|
|
"winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2018-10-22 09:40:50 +02:00
|
|
|
[[package]]
|
|
|
|
name = "want"
|
|
|
|
version = "0.0.6"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-10 16:56:22 +02:00
|
|
|
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2019-09-05 19:28:01 +02:00
|
|
|
[[package]]
|
|
|
|
name = "wasi"
|
|
|
|
version = "0.5.0"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2017-11-08 12:33:56 +01:00
|
|
|
[[package]]
|
|
|
|
name = "wasm"
|
|
|
|
version = "0.1.0"
|
|
|
|
dependencies = [
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-08 15:07:20 +01:00
|
|
|
"env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-08 14:18:44 +02:00
|
|
|
"ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-09-05 19:28:01 +02:00
|
|
|
"libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-01-04 16:56:56 +01:00
|
|
|
"pwasm-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-11-08 12:33:56 +01:00
|
|
|
"vm 0.1.0",
|
2018-07-05 09:09:01 +02:00
|
|
|
"wasmi 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-02-05 20:59:27 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "wasmi"
|
2018-07-05 09:09:01 +02:00
|
|
|
version = "0.3.0"
|
2018-03-21 10:47:25 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2018-02-05 20:59:27 +01:00
|
|
|
dependencies = [
|
2019-06-27 14:19:56 +02:00
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-12 12:37:32 +01:00
|
|
|
"memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-04-26 14:00:42 +02:00
|
|
|
"nan-preserving-float 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2017-07-10 17:42:10 +02:00
|
|
|
]
|
|
|
|
|
2018-03-14 13:40:54 +01:00
|
|
|
[[package]]
|
|
|
|
name = "webpki"
|
2019-02-06 17:53:34 +01:00
|
|
|
version = "0.19.1"
|
2018-03-14 13:40:54 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-05-13 11:25:56 +02:00
|
|
|
"ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-10-22 09:40:50 +02:00
|
|
|
"untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-14 13:40:54 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "webpki-roots"
|
2019-02-06 17:53:34 +01:00
|
|
|
version = "0.16.0"
|
2018-03-14 13:40:54 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-02-06 17:53:34 +01:00
|
|
|
"webpki 0.19.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-03-14 13:40:54 +01:00
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "winapi"
|
2016-12-13 23:38:29 +01:00
|
|
|
version = "0.2.8"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-01-17 11:45:29 +01:00
|
|
|
[[package]]
|
|
|
|
name = "winapi"
|
2018-10-22 09:40:50 +02:00
|
|
|
version = "0.3.6"
|
2018-01-17 11:45:29 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-02-09 09:32:06 +01:00
|
|
|
"winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-01-17 11:45:29 +01:00
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "winapi-build"
|
|
|
|
version = "0.1.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-01-17 11:45:29 +01:00
|
|
|
[[package]]
|
|
|
|
name = "winapi-i686-pc-windows-gnu"
|
2018-02-09 09:32:06 +01:00
|
|
|
version = "0.4.0"
|
2018-01-17 11:45:29 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-09-04 20:13:51 +02:00
|
|
|
[[package]]
|
|
|
|
name = "winapi-util"
|
|
|
|
version = "0.1.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
]
|
|
|
|
|
2018-01-17 11:45:29 +01:00
|
|
|
[[package]]
|
|
|
|
name = "winapi-x86_64-pc-windows-gnu"
|
2018-02-09 09:32:06 +01:00
|
|
|
version = "0.4.0"
|
2018-01-17 11:45:29 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2018-08-10 01:04:10 +02:00
|
|
|
[[package]]
|
|
|
|
name = "wincolor"
|
2018-09-04 20:13:51 +02:00
|
|
|
version = "1.0.1"
|
2018-08-10 01:04:10 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-10-22 09:40:50 +02:00
|
|
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-09-04 20:13:51 +02:00
|
|
|
"winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2018-08-10 01:04:10 +02:00
|
|
|
]
|
|
|
|
|
2019-07-05 10:24:24 +02:00
|
|
|
[[package]]
|
|
|
|
name = "ws"
|
2019-10-02 10:25:51 +02:00
|
|
|
version = "0.9.0"
|
2019-07-05 10:24:24 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-13 12:33:34 +02:00
|
|
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-08-08 09:41:22 +02:00
|
|
|
"mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-05 10:24:24 +02:00
|
|
|
"mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"rand 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-10-02 10:25:51 +02:00
|
|
|
"url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-07-05 10:24:24 +02:00
|
|
|
]
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "ws2_32-sys"
|
|
|
|
version = "0.2.1"
|
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2016-12-13 23:38:29 +01:00
|
|
|
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-12-13 23:38:29 +01:00
|
|
|
[[package]]
|
|
|
|
name = "xdg"
|
2017-09-14 19:28:43 +02:00
|
|
|
version = "2.1.0"
|
2016-12-13 23:38:29 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
|
2016-02-14 17:35:45 +01:00
|
|
|
[[package]]
|
|
|
|
name = "xml-rs"
|
2018-04-10 19:25:27 +02:00
|
|
|
version = "0.7.0"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-09-04 20:13:51 +02:00
|
|
|
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "xmltree"
|
2019-06-27 09:54:54 +02:00
|
|
|
version = "0.8.0"
|
2016-02-14 17:35:45 +01:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2018-04-10 19:25:27 +02:00
|
|
|
"xml-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
2016-02-14 17:35:45 +01:00
|
|
|
]
|
|
|
|
|
2019-06-29 11:23:58 +02:00
|
|
|
[[package]]
|
|
|
|
name = "zeroize"
|
2019-10-23 13:03:46 +02:00
|
|
|
version = "0.9.3"
|
2019-06-29 11:23:58 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
2019-10-23 13:03:46 +02:00
|
|
|
"zeroize_derive 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
2019-06-29 11:23:58 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
[[package]]
|
|
|
|
name = "zeroize_derive"
|
2019-10-23 13:03:46 +02:00
|
|
|
version = "0.9.3"
|
2019-06-29 11:23:58 +02:00
|
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
|
dependencies = [
|
|
|
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
"synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
|
|
]
|
|
|
|
|
2016-08-03 19:01:48 +02:00
|
|
|
[metadata]
|
2019-05-28 07:50:10 +02:00
|
|
|
"checksum aes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "54eb1d8fe354e5fc611daf4f2ea97dd45a765f4f1e4512306ec183ae2e8f20c9"
|
|
|
|
"checksum aes-ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2e5b0458ea3beae0d1d8c0f3946564f8e10f90646cf78c06b4351052058d1ee"
|
|
|
|
"checksum aes-soft 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cfd7e7ae3f9a1fb5c03b389fc6bb9a51400d0c13053f0dca698c832bfd893a0d"
|
|
|
|
"checksum aesni 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f70a6b5f971e473091ab7cfb5ffac6cde81666c4556751d8d5620ead8abf100"
|
2019-10-24 16:46:32 +02:00
|
|
|
"checksum ahash 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)" = "b35dfc96a657c1842b4eb73180b65e37152d4b94d0eb5cb51708aee7826950b4"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum aho-corasick 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "68f56c7353e5a9547cbd76ed90f7bb5ffc3ba09d4ea9bd1d8c06c8b1142eeb5a"
|
2019-09-27 23:29:14 +02:00
|
|
|
"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
|
2018-04-20 10:38:30 +02:00
|
|
|
"checksum app_dirs 1.2.1 (git+https://github.com/paritytech/app-dirs-rs)" = "<none>"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
|
2019-10-08 14:18:44 +02:00
|
|
|
"checksum arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d73f9beda665eaa98ab9e4f7442bd4e7de6652587de55b2525e52e29c1b0ba"
|
2019-10-23 13:03:46 +02:00
|
|
|
"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"checksum ascii 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7deb0a829ca7bcfaf5da70b073a8d128619259a7be8216a355e23f00763059e5"
|
2019-06-27 09:54:54 +02:00
|
|
|
"checksum attohttpc 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eaf0ec4b0e00f61ee75556ca027485b7b354f4a714d88cc03f4468abd9378c86"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a"
|
|
|
|
"checksum backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c66d56ac8dabd07f6aacdaf633f4b8262f5b3601a810a0dcddffd5c22c69daa0"
|
|
|
|
"checksum base-x 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "5cda5d0f5584d129112ad8bf4775b9fd2b9f1e30738c7b1a25314ba2244d6a51"
|
2019-02-06 17:53:34 +01:00
|
|
|
"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
|
2019-06-27 14:19:56 +02:00
|
|
|
"checksum bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "9f04a5e50dc80b3d5d35320889053637d15011aed5e66b66b37ae798c65da6f7"
|
2016-08-03 19:01:48 +02:00
|
|
|
"checksum bit-set 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9bf6104718e80d7b26a68fdbacff3481cfc05df670821affc7e9cbc1884400c"
|
2017-09-14 19:28:43 +02:00
|
|
|
"checksum bit-vec 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "02b4ff8b16e6076c3e14220b39fbc1fabb6737522281a388998046859400895f"
|
2016-12-22 18:26:39 +01:00
|
|
|
"checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
|
2019-10-08 14:18:44 +02:00
|
|
|
"checksum bitvec 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9633b74910e1870f50f5af189b08487195cdb83c0e27a71d6f64d5e09dd0538b"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a076c298b9ecdb530ed9d967e74a6027d6a7478924520acddcddc24c1c8ab3ab"
|
2019-05-28 07:50:10 +02:00
|
|
|
"checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
|
|
|
|
"checksum block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1c924d49bd09e7c06003acda26cd9742e796e34282ec6c1189404dee0c1f4774"
|
|
|
|
"checksum block-modes 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "31aa8410095e39fdb732909fb5730a48d5bd7c2e3cd76bd1b07b3dbea130c529"
|
|
|
|
"checksum block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6d4dc3af3ee2e12f3e5d224e5e1e3d73668abbeb69e566d361f7d5563a4fdf09"
|
2017-03-28 00:42:37 +02:00
|
|
|
"checksum bn 0.4.4 (git+https://github.com/paritytech/bn)" = "<none>"
|
2019-09-05 19:28:01 +02:00
|
|
|
"checksum bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245"
|
2019-10-08 14:18:44 +02:00
|
|
|
"checksum byte-slice-cast 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7cbcbf18128ec71d8d4a0d054461ec59fff5b75b7d10a4c9b7c7cb1a379c3e77"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40"
|
2019-05-28 07:50:10 +02:00
|
|
|
"checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
|
2019-06-27 14:19:56 +02:00
|
|
|
"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
|
2019-06-27 09:54:54 +02:00
|
|
|
"checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
|
2019-10-02 10:25:51 +02:00
|
|
|
"checksum c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101"
|
2018-11-06 14:22:44 +01:00
|
|
|
"checksum cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "926013f2860c46252efceabb19f4a6b308197505082c609025aa6706c011d427"
|
2019-10-23 13:03:46 +02:00
|
|
|
"checksum cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)" = "0213d356d3c4ea2c18c40b037c3be23cd639825c18f25ee670ac7813beeef99c"
|
2018-09-05 17:17:12 +02:00
|
|
|
"checksum cesu8 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
|
2019-10-23 13:03:46 +02:00
|
|
|
"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum cid 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c0e37fba0087d9f3f4e269827a55dc511abf3e440cc097a0c154ff4e6584f988"
|
2019-09-05 19:28:01 +02:00
|
|
|
"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
|
2018-07-25 17:40:33 +02:00
|
|
|
"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum cmake 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)" = "6ec65ee4f9c9d16f335091d23693457ed4928657ba4982289d7fafee03bc614a"
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"checksum combine 3.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680"
|
2019-10-24 16:46:32 +02:00
|
|
|
"checksum const-random 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7b641a8c9867e341f3295564203b1c250eb8ce6cb6126e007941f78c4d2ed7fe"
|
|
|
|
"checksum const-random-macro 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c750ec12b83377637110d5a57f5ae08e895b06c4b16e2bdbf1a94ef717428c59"
|
2019-09-05 19:28:01 +02:00
|
|
|
"checksum criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "938703e165481c8d612ea3479ac8342e5615185db37765162e762ec3523e2fc6"
|
|
|
|
"checksum criterion-plot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "eccdc6ce8bbe352ca89025bee672aa6d24f4eb8c53e3a8b5d1bc58011da072a2"
|
2019-07-06 16:16:53 +02:00
|
|
|
"checksum crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "05e44b8cf3e1a625844d1750e1f7820da46044ff6d28f4d43e455ba3e5bb2c13"
|
2019-10-10 16:56:22 +02:00
|
|
|
"checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71"
|
2019-07-29 12:27:18 +02:00
|
|
|
"checksum crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9"
|
2019-07-06 16:16:53 +02:00
|
|
|
"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "677d453a17e8bd2b913fa38e8b9cf04bcdbb5be790aa294f2389661d72036015"
|
2019-10-24 16:46:32 +02:00
|
|
|
"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
|
2017-08-22 17:05:28 +02:00
|
|
|
"checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda"
|
2019-10-08 14:18:44 +02:00
|
|
|
"checksum crunchy 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
|
2019-05-28 07:50:10 +02:00
|
|
|
"checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5"
|
2019-09-05 19:28:01 +02:00
|
|
|
"checksum csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37519ccdfd73a75821cac9319d4fce15a81b9fcf75f951df5b9988aa3a0af87d"
|
|
|
|
"checksum csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9b5cadb6b25c77aeff80ba701712494213f4a8418fcda2ee11b6560c3ad0bf4c"
|
2019-02-06 17:53:34 +01:00
|
|
|
"checksum ct-logs 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1b4660f8b07a560a88c02d76286edb9f0d5d64e495d2b0f233186155aa51be1f"
|
2019-05-28 07:50:10 +02:00
|
|
|
"checksum ctr 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "022cd691704491df67d25d006fe8eca083098253c4d43516c2206479c58c6736"
|
2017-03-22 07:02:14 +01:00
|
|
|
"checksum ctrlc 1.1.1 (git+https://github.com/paritytech/rust-ctrlc.git)" = "<none>"
|
2019-03-27 14:46:05 +01:00
|
|
|
"checksum derive_more 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fbe9f11be34f800b3ecaaed0ec9ec2e015d1d0ba0c8644c1310f73d6e8994615"
|
2019-07-08 18:17:48 +02:00
|
|
|
"checksum derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a141330240c921ec6d074a3e188a7c7ef95668bb95e7d44fa0e5778ec2a7afe"
|
2017-04-03 10:27:37 +02:00
|
|
|
"checksum difference 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3304d19798a8e067e48d8e69b2c37f0b5e9b4e462504ad9e27e9f3fce02bba8"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "03b072242a8cbaf9c145665af9d250c59af3b958f83ed6824e13533cf76d5b90"
|
2019-05-28 07:50:10 +02:00
|
|
|
"checksum digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c"
|
2018-11-11 11:19:44 +01:00
|
|
|
"checksum docopt 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "db2906c2579b5b7207fc1e328796a9a8835dc44e22dbe8e460b1d636f9a7b225"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum edit-distance 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3bd26878c3d921f89797a4e1a1711919f999a9f6946bb6f5a4ffda126d297b7e"
|
|
|
|
"checksum either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3be565ca5c557d7f59e7cfcf1844f9e3033650c929c6566f511e8005f205c1d0"
|
2019-06-19 13:54:05 +02:00
|
|
|
"checksum elastic-array 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "073be79b6538296faf81c631872676600616073817dd9a440c477ad09b408983"
|
2019-02-13 09:20:33 +01:00
|
|
|
"checksum enum_primitive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be4551092f4d519593039259a9ed8daedf0da12e5109c5280338073eaeb81180"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)" = "15b0a4d2e39f8420210be8b27eeda28029729e2fd4291019455016c348240c38"
|
2019-08-22 18:25:49 +02:00
|
|
|
"checksum env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3"
|
2018-06-25 14:20:44 +02:00
|
|
|
"checksum error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "07e791d3be96241c77c43846b665ef1384606da2cd2a48730abe606a12906e02"
|
2019-10-08 14:18:44 +02:00
|
|
|
"checksum ethabi 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "965126c64662832991f5a748893577630b558e47fa94e7f35aefcd20d737cef7"
|
|
|
|
"checksum ethabi-contract 9.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf407dce0290374bfbb1528493bc14320e663f75856b73a5b76262d8e2cec3c9"
|
|
|
|
"checksum ethabi-derive 9.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bd0753d4f9e1dba99450da5f2400b20527702ae8ce0309a5f7c239d305539884"
|
|
|
|
"checksum ethbloom 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee6ee7065ba6a1597cff1e0598cfc3b0b41b5f65ccdf605560a296e7d94e93bf"
|
|
|
|
"checksum ethereum-types 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba744248e3553a393143d5ebb68939fc3a4ec0c22a269682535f5ffe7fed728c"
|
2018-12-05 10:36:53 +01:00
|
|
|
"checksum failsafe 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad3bf1642583ea2f1fa38a1e8546613a7488816941b33e5f0fccceac61879118"
|
2018-10-30 22:12:42 +01:00
|
|
|
"checksum failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6dd377bcc1b1b7ce911967e3ec24fa19c3224394ec05b54aa7b083d498341ac7"
|
|
|
|
"checksum failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "64c2d913fe8ed3b6c6518eedf4538255b989945c14c2a7d5cbff62a5e2120596"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
|
2016-12-05 18:15:05 +01:00
|
|
|
"checksum fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b1ee15a7050e5580b3712877157068ea713b245b080ff302ae2ca973cfcd9baa"
|
2019-10-08 14:18:44 +02:00
|
|
|
"checksum fixed-hash 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6357b15872f8126e4ea7cf79d579473f132ccd2de239494ad1bf4aa892faea68"
|
2018-05-30 15:42:37 +02:00
|
|
|
"checksum fixedbitset 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "86d4de0081402f5e88cdac65c8dcdcc73118c1a7a465e2a05f0da05843a8ea33"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
|
2018-09-12 11:32:05 +02:00
|
|
|
"checksum fs-swap 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "921d332c89b3b61a826de38c61ee5b6e02c56806cade1b0e5d81bd71f57a71bb"
|
2019-01-29 09:26:22 +01:00
|
|
|
"checksum fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674"
|
2019-10-18 15:12:16 +02:00
|
|
|
"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
|
2018-01-17 11:45:29 +01:00
|
|
|
"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
|
|
|
|
"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
|
2019-10-10 16:56:22 +02:00
|
|
|
"checksum futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef"
|
2018-02-09 09:32:06 +01:00
|
|
|
"checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
|
2018-10-30 22:12:42 +01:00
|
|
|
"checksum fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
|
2019-05-28 07:50:10 +02:00
|
|
|
"checksum generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c0f28c2f5bfb5960175af447a2da7c18900693738343dc896ffbcabd9839592"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef25c5683767570c2bbd7deba372926a55eaae9982d7726ee2a1050239d45b9d"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "0a7292d30132fb5424b354f5dc02512a86e4c516fe544bb7a25e7f266951b797"
|
2019-09-05 19:28:01 +02:00
|
|
|
"checksum getrandom 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "fc344b02d3868feb131e8b5fe2b9b0a1cc42942679af493061fc13b853243872"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum globset 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4743617a7464bbda3c8aec8558ff2f9429047e025771037df561d383337ff865"
|
2019-09-27 23:29:14 +02:00
|
|
|
"checksum h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)" = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462"
|
2016-08-03 19:01:48 +02:00
|
|
|
"checksum hamming 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "65043da274378d68241eb9a8f8f8aa54e349136f7b8e12f63e3ef44043cc30e1"
|
2019-10-24 16:46:32 +02:00
|
|
|
"checksum hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a"
|
2019-08-15 15:36:48 +02:00
|
|
|
"checksum hash256-std-hasher 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "16293646125e09e5bc216d9f73fa81ab31c4f97007d56c036bbf15a58e970540"
|
2019-10-24 16:46:32 +02:00
|
|
|
"checksum hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6587d09be37fb98a11cb08b9000a3f592451c1b1b613ca69d949160e313a430a"
|
2019-06-19 13:54:05 +02:00
|
|
|
"checksum hashmap_core 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "8e04cb7a5051270ef3fa79f8c7604d581ecfa73d520e74f554e45541c4b5881a"
|
|
|
|
"checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461"
|
2018-03-13 12:43:24 +01:00
|
|
|
"checksum heck 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea04fa3ead4e05e51a7c806fc07271fdbde4e246a6c6d1efd52e72230b771b82"
|
2019-09-10 00:26:45 +02:00
|
|
|
"checksum hex-literal 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "961de220ec9a91af2e1e5bd80d02109155695e516771762381ef8581317066e0"
|
2019-08-28 16:15:50 +02:00
|
|
|
"checksum hex-literal-impl 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "06095d08c7c05760f11a071b3e1d4c5b723761c01bd8d7201c30a9536668a612"
|
2019-05-28 07:50:10 +02:00
|
|
|
"checksum hmac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f127a908633569f208325f86f71255d3363c79721d7f9fe31cd5569908819771"
|
2018-08-21 15:30:24 +02:00
|
|
|
"checksum home 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "80dff82fb58cfbbc617fb9a9184b010be0529201553cda50ad04372bc2333aff"
|
2019-06-27 09:54:54 +02:00
|
|
|
"checksum http 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "eed324f0f0daf6ec10c474f150505af2c143f251722bf9dbd1261bd1f2ee2c1a"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83"
|
2018-08-10 01:04:10 +02:00
|
|
|
"checksum humantime 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0484fda3e7007f2a4a0d9c3a703ca38c71c54c55602ce4660c419fd32e188c9e"
|
2019-02-06 17:53:34 +01:00
|
|
|
"checksum hyper 0.12.19 (registry+https://github.com/rust-lang/crates.io-index)" = "f1ebec079129e43af5e234ef36ee3d7e6085687d145b7ea653b262d16c6b65f1"
|
|
|
|
"checksum hyper-rustls 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff2c61fbda2bc72e793e329190a3e8f0ae74cb896905c8b301304c4c93f2755"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
|
2019-10-02 10:25:51 +02:00
|
|
|
"checksum idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
|
2018-10-30 22:12:42 +01:00
|
|
|
"checksum if_chain 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4bac95d9aa0624e7b78187d6fb8ab012b41d9f6f54b1bcb61e61c4845f8357ec"
|
2019-06-27 09:54:54 +02:00
|
|
|
"checksum igd 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "96f0f346ff76d5143011b2de50fbe72c3e521304868dfbd0d781b4f262a75dd5"
|
2019-10-08 14:18:44 +02:00
|
|
|
"checksum impl-codec 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3fa0086251524c50fd53b32e7b05eb6d79e2f97221eaf0c53c0ca9c3096f21d3"
|
2019-06-03 15:36:21 +02:00
|
|
|
"checksum impl-rlp 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f39b9963cf5f12fcc4ae4b30a6927ed67d6b4ea4cbe7d17a41131163b401303b"
|
2019-10-08 14:18:44 +02:00
|
|
|
"checksum impl-serde 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bbb1ea6188aca47a0eaeeb330d8a82f16cd500f30b897062d23922568727333a"
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum integer-encoding 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "26746cbc2e680af687e88d717f20ff90079bd10fc984ad57d277cd0e37309fa5"
|
2017-11-14 12:59:01 +01:00
|
|
|
"checksum interleaved-ordered 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "141340095b15ed7491bd3d4ced9d20cebfb826174b6bb03386381f62b01e3d77"
|
2018-03-24 06:43:28 +01:00
|
|
|
"checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum ipnetwork 0.12.8 (registry+https://github.com/rust-lang/crates.io-index)" = "70783119ac90828aaba91eae39db32c6c1b8838deea3637e5238efa0130801ab"
|
2017-09-14 19:28:43 +02:00
|
|
|
"checksum itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4833d6978da405305126af4ac88569b5d71ff758581ce5a987dbfa3755f694fc"
|
2018-10-30 22:12:42 +01:00
|
|
|
"checksum itertools 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)" = "f58856976b776fedd95533137617a02fb25719f40e7d9b01c7043cd65474f450"
|
2019-07-04 15:20:44 +02:00
|
|
|
"checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358"
|
2018-09-13 12:58:49 +02:00
|
|
|
"checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b"
|
2019-01-29 09:26:22 +01:00
|
|
|
"checksum jemalloc-sys 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "bfc62c8e50e381768ce8ee0428ee53741929f7ebd73e4d83f669bcf7693e00ae"
|
|
|
|
"checksum jemallocator 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "9f0cd42ac65f758063fea55126b0148b1ce0a6354ff78e07a4d6806bc65c4ab3"
|
2019-02-21 17:26:01 +01:00
|
|
|
"checksum jni 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "294eca097d1dc0bf59de5ab9f7eafa5f77129e9f6464c957ed3ddeb705fb4292"
|
2018-09-05 17:17:12 +02:00
|
|
|
"checksum jni-sys 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
|
2019-10-26 11:26:04 +02:00
|
|
|
"checksum jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "34651edf3417637cc45e70ed0182ecfa9ced0b7e8131805fccf7400d989845ca"
|
|
|
|
"checksum jsonrpc-derive 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d5d5c31575cc70a8b21542599028472c80a9248394aeea4d8918a045a0ab08a3"
|
|
|
|
"checksum jsonrpc-http-server 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "aa54c4c2d88cb5e04b251a5031ba0f2ee8c6ef30970e31228955b89a80c3b611"
|
|
|
|
"checksum jsonrpc-ipc-server 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b579cd0840d7db3ebaadf52f6f31ec601a260e78d610e44f68634f919e34497a"
|
|
|
|
"checksum jsonrpc-pubsub 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3ee1b8da0b9219a231c4b7cbc7110bfdb457cbcd8d90a6224d0b3cab8aae8443"
|
|
|
|
"checksum jsonrpc-server-utils 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "87bc3c0a9a282211b2ec14abb3e977de33016bbec495332e9f7be858de7c5117"
|
|
|
|
"checksum jsonrpc-tcp-server 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9c7807563cd721401285b59b54358f5b2325b4de6ff6f1de5494a5879e890fc1"
|
|
|
|
"checksum jsonrpc-ws-server 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "af36a129cef77a9db8028ac7552d927e1bb7b6928cd96b23dd25cc38bff974ab"
|
2019-10-08 14:18:44 +02:00
|
|
|
"checksum keccak-hash 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e563fa6fe52b2686094846118bf2cb2e6f75e6b8cec6c3aba09be8e835c7f998"
|
2019-08-15 15:36:48 +02:00
|
|
|
"checksum keccak-hasher 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bf18164fd7ce989041f8fc4a1ae72a8bd1bec3575f2aeaf1d4968fc053aabef"
|
2016-08-03 19:01:48 +02:00
|
|
|
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
|
2018-09-03 18:40:11 +02:00
|
|
|
"checksum kvdb 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "72ae89206cea31c32014b39d5a454b96135894221610dbfd19cf4d2d044fa546"
|
2019-09-27 23:29:14 +02:00
|
|
|
"checksum kvdb-memorydb 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "296c12309ed36cb74d59206406adbf1971c3baa56d5410efdb508d8f1c60a351"
|
|
|
|
"checksum kvdb-rocksdb 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96eb0e0112bb66fe5401294ca0f43c9cb771456af9270443545026e55fd00912"
|
Snapshot restoration overhaul (#11219)
* Comments and todos
Use `snapshot_sync` as logging target
* fix compilation
* More todos, more logs
* Fix picking snapshot peer: prefer the one with the highest block number
More docs, comments, todos
* Adjust WAIT_PEERS_TIMEOUT to be a multiple of MAINTAIN_SYNC_TIMER to try to fix snapshot startup problems
Docs, todos, comments
* Tabs
* Formatting
* Don't build new rlp::EMPTY_LIST_RLP instances
* Dial down debug logging
* Don't warn about missing hashes in the manifest: it's normal
Log client version on peer connect
* Cleanup
* Do not skip snapshots further away than 30k block from the highest block seen
Currently we look for peers that seed snapshots that are close to the highest block seen on the network (where "close" means withing 30k blocks). When a node starts up we wait for some time (5sec, increased here to 10sec) to let peers connect and if we have found a suitable peer to sync a snapshot from at the end of that delay, we start the download; if none is found and --warp-barrier is used we stall, otherwise we start a slow-sync.
When looking for a suitable snapshot, we use the highest block seen on the network to check if a peer has a snapshot that is within 30k blocks of that highest block number. This means that in a situation where all available snapshots are older than that, we will often fail to start a snapshot at all. What's worse is that the longer we delay starting a snapshot sync (to let more peers connect, in the hope of finding a good snapshot), the more likely we are to have seen a high block and thus the more likely we become to accept a snapshot.
This commit removes this comparison with the highest blocknumber criteria entirely and picks the best snapshot we find in 10sec.
* lockfile
* Add a `ChunkType::Dupe` variant so that we do not disconnect a peer if they happen to send us a duplicate chunk (just ignore the chunk and keep going)
Resolve some documentation todos, add more
* tweak log message
* Don't warp sync twice
Check if our own block is beyond the given warp barrier (can happen after we've completed a warp sync but are not quite yet synced up to the tip) and if so, don't sync.
More docs, resolve todos.
Dial down some `sync` debug level logging to trace
* Avoid iterating over all snapshot block/state hashes to find the next work item
Use a HashSet instead of a Vec and remove items from the set as chunks are processed. Calculate and store the total number of chunks in the `Snapshot` struct instead of counting pending chunks each time.
* Address review grumbles
* Log correct number of bytes written to disk
* Revert ChunkType::Dup change
* whitespace grumble
* Cleanup debugging code
* Fix docs
* Fix import and a typo
* Fix test impl
* Use `indexmap::IndexSet` to ensure chunk hashes are accessed in order
* Revert increased SNAPSHOT_MANIFEST_TIMEOUT: 5sec should be enough
2019-10-31 16:07:21 +01:00
|
|
|
"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum lazycell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ddba4c30a78328befecec92fc94970e53b3ae385827d28620f0f5bb2493081e0"
|
2019-09-05 19:28:01 +02:00
|
|
|
"checksum libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "34fcd2c08d2f832f376f4173a231990fa5aef4e99fb569867318a227ef4c06ba"
|
2018-07-05 15:18:50 +02:00
|
|
|
"checksum libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3ad660d7cb8c5822cd83d10897b0f1f1526792737a179e73896152f85b88c2"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "70fb39025bc7cdd76305867c4eccf2f2dcf6e9a57f5b21a93e1c2d86cd03ec9e"
|
2017-06-22 14:54:08 +02:00
|
|
|
"checksum local-encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1ceb20f39ff7ae42f3ff9795f3986b1daad821caaa1e1732a0944103a5a1a66"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum lock_api 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775751a3e69bde4df9b38dd00a1b5d6ac13791e4223d4a0506577f0dd27cfb7a"
|
2019-09-27 23:29:14 +02:00
|
|
|
"checksum lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8912e782533a93a167888781b836336a6ca5da6175c05944c86cf28c31104dc"
|
2019-08-13 12:33:34 +02:00
|
|
|
"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
|
2019-09-30 23:16:30 +02:00
|
|
|
"checksum logos 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)" = "60ca690691528b32832c7e8aaae8ae1edcdee4e9ffde55b2d31a4795bc7a12d0"
|
|
|
|
"checksum logos-derive 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)" = "917dccdd529d5681f3d28b26bcfdafd2ed67fe4f26d15b5ac679f67b55279f3d"
|
2019-03-29 13:25:15 +01:00
|
|
|
"checksum lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c"
|
2019-09-30 23:16:30 +02:00
|
|
|
"checksum lunarity-lexer 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "28a5446c03ed5bd4ae2cca322c4c84d9bd9741b6788f75c404719474cb63d3b7"
|
2019-06-19 13:54:05 +02:00
|
|
|
"checksum malloc_size_of_derive 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "35adee9ed962cf7d07d62cb58bc45029f3227f5b5b86246caa8632f06c187bc3"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
|
2019-09-05 19:28:01 +02:00
|
|
|
"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
|
2018-01-17 11:45:29 +01:00
|
|
|
"checksum memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e2ffa2c986de11a9df78620c01eeaaf27d94d3ff02bf81bfcca953102dd0c6ff"
|
2019-07-29 12:27:18 +02:00
|
|
|
"checksum memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce6075db033bbbb7ee5a0bbd3a3186bbae616f57fb001c485c7ff77955f8177f"
|
2019-08-15 15:36:48 +02:00
|
|
|
"checksum memory-db 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a688133a81c915553c1dd9c3e859949f43a854cb8f8773e690e849b53b1f89f0"
|
2018-03-12 12:37:32 +01:00
|
|
|
"checksum memory_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum mime 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)" = "0a907b83e7b9e987032439a387e187119cddafc92d5c2aaeb1d92580a793f630"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum mime_guess 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)" = "30de2e4613efcba1ec63d8133f344076952090c122992a903359be5a4f99c3ed"
|
2019-08-08 09:41:22 +02:00
|
|
|
"checksum mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)" = "83f51996a3ed004ef184e16818edc51fadffe8e7ca68be67f9dee67d84d0ff23"
|
2019-01-11 16:55:03 +01:00
|
|
|
"checksum mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "46e73a04c2fa6250b8d802134d56d554a9ec2922bf977777c805ea5def61ce40"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum mio-named-pipes 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f5e374eff525ce1c5b7687c4cef63943e7686524a387933ad27ca7ec43779cb3"
|
2018-09-13 12:58:49 +02:00
|
|
|
"checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125"
|
2017-03-22 07:02:14 +01:00
|
|
|
"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum miow 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "396aa0f2003d7df8395cb93e09871561ccc3e785f0acb369170e8cc74ddf9226"
|
2017-02-14 19:30:37 +01:00
|
|
|
"checksum multibase 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b9c35dac080fd6e16a99924c8dfdef0af89d797dd851adab25feaffacf7850d6"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum multihash 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c62469025f45dee2464ef9fc845f4683c543993792c1993e7d903c17a4546b74"
|
2018-04-26 14:00:42 +02:00
|
|
|
"checksum nan-preserving-float 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34d4f00fcc2f4c9efa8cc971db0da9e28290e28e97af47585e48691ef10ff31f"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
|
2018-01-19 13:46:11 +01:00
|
|
|
"checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2"
|
2018-03-27 04:35:51 +02:00
|
|
|
"checksum num 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "4703ad64153382334aa8db57c637364c322d3372e097840c72000dabdcf6156e"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum num-bigint 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)" = "e63899ad0da84ce718c14936262a41cee2c79c981fc0a0e7c7beb47d5a07e8c1"
|
|
|
|
"checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea"
|
|
|
|
"checksum num-iter 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "af3fdbbc3291a5464dc57b03860ec37ca6bf915ed6ee385e7c6c052c422b2124"
|
2018-04-04 15:38:04 +02:00
|
|
|
"checksum num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
|
2019-07-18 12:27:08 +02:00
|
|
|
"checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum number_prefix 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dbf9993e59c894e3c08aa1c2712914e9e6bf1fcbfc6bef283e2183df345a4fee"
|
2016-12-13 23:38:29 +01:00
|
|
|
"checksum ole32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5d2c49021782e5233cd243168edfa8037574afed4eba4bbaf538b3d8d1789d8c"
|
2019-05-28 07:50:10 +02:00
|
|
|
"checksum opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "93f5bb2e8e8dec81642920ccff6b61f1eb94fa3020c5a325c9851ff604152409"
|
2017-02-04 22:18:19 +01:00
|
|
|
"checksum order-stat 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "efa535d5117d3661134dbf1719b6f0ffe06f2375843b13935db186cd094105eb"
|
2018-05-30 15:42:37 +02:00
|
|
|
"checksum ordermap 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a86ed3f5f244b372d6b1a00b72ef7f8876d0bc6a78a4c9985c53614041512063"
|
2017-03-28 19:06:08 +02:00
|
|
|
"checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37"
|
2018-09-03 18:40:11 +02:00
|
|
|
"checksum parity-bytes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fa5168b4cf41f3835e4bc6ffb32f51bc9365dc50cb351904595b3931d917fd0c"
|
2019-10-23 13:03:46 +02:00
|
|
|
"checksum parity-crypto 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "27a9c2b525c93d717a234eb220c26474f8d97b08ac50d79faeac4cb6c74bf0b9"
|
2019-02-18 13:38:46 +01:00
|
|
|
"checksum parity-daemonize 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "69b1910b2793ff52713fca0a4ee92544ebec59ccd218ea74560be6f947b4ca77"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum parity-path 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5962540f99d3895d9addf535f37ab1397886bc2c68e59efd040ef458e5f8c3f7"
|
2019-05-28 07:50:10 +02:00
|
|
|
"checksum parity-rocksdb 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d17caf6640e24b70242f3f48615e3f0764f98871e8c7aea25584e29833eb5a8"
|
|
|
|
"checksum parity-rocksdb-sys 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9581e6b8c63f3808500638372ee56faaaffb57c4d349974bff591606b94d5f57"
|
2019-10-08 14:18:44 +02:00
|
|
|
"checksum parity-scale-codec 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "65582b5c02128a4b0fa60fb3e070216e9c84be3e4a8f1b74bc37e15a25e58daf"
|
2019-10-23 13:03:46 +02:00
|
|
|
"checksum parity-secp256k1 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4fca4f82fccae37e8bbdaeb949a4a218a1bbc485d11598f193d2a908042e5fc1"
|
2018-09-03 18:40:11 +02:00
|
|
|
"checksum parity-snappy 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2c5f9d149b13134b8b354d93a92830efcbee6fe5b73a2e6e540fe70d4dd8a63"
|
2018-12-18 21:26:01 +01:00
|
|
|
"checksum parity-snappy-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1a413d51e5e1927320c9de992998e4a279dffb8c8a7363570198bd8383e66f1b"
|
2019-10-02 10:25:51 +02:00
|
|
|
"checksum parity-tokio-ipc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8281bf4f1d6429573f89589bf68d89451c46750977a8264f8ea3edbabeba7947"
|
2019-08-15 15:36:48 +02:00
|
|
|
"checksum parity-util-mem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2005637ccf93dbb60c85081ccaaf3f945f573da48dcc79f27f9646caa3ec1dc"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum parity-wasm 0.31.3 (registry+https://github.com/rust-lang/crates.io-index)" = "511379a8194230c2395d2f5fa627a5a7e108a9f976656ce723ae68fca4097bfc"
|
2019-07-01 14:31:57 +02:00
|
|
|
"checksum parity-wordlist 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "573d08f0d3bc8a6ffcdac1de2725b5daeed8db26345a9c12d91648e2d6457f3e"
|
2018-09-13 12:58:49 +02:00
|
|
|
"checksum parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f0802bff09003b291ba756dc7e79313e51cc31667e94afbe847def490424cde5"
|
2019-09-27 23:29:14 +02:00
|
|
|
"checksum parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
|
2018-09-13 12:58:49 +02:00
|
|
|
"checksum parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad7f7e6ebdc79edff6fdcb87a55b620174f7a989e3eb31b65231f4af57f00b8c"
|
2019-09-27 23:29:14 +02:00
|
|
|
"checksum parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b"
|
2019-05-28 07:50:10 +02:00
|
|
|
"checksum pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
|
2019-10-02 10:25:51 +02:00
|
|
|
"checksum percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum petgraph 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3659d1ee90221741f65dd128d9998311b0e40c5d3c23a62445938214abce4f"
|
|
|
|
"checksum phf 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "cec29da322b242f4c3098852c77a0ca261c9c01b806cae85a5572a1eb94db9a6"
|
|
|
|
"checksum phf_codegen 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "7d187f00cd98d5afbcd8898f6cf181743a449162aeb329dcd2f3849009e605ad"
|
|
|
|
"checksum phf_generator 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "03dc191feb9b08b0dc1330d6549b795b9d81aec19efe6b4a45aec8d4caee0c4b"
|
|
|
|
"checksum phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "b539898d22d4273ded07f64a05737649dc69095d92cb87c7097ec68e3f150b93"
|
|
|
|
"checksum plain_hasher 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "95fa6386b1d34aaf0adb9b7dd2885dbe7c34190e6263785e5a7ec2b19044a90f"
|
2019-10-02 10:25:51 +02:00
|
|
|
"checksum ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b"
|
2017-04-03 10:27:37 +02:00
|
|
|
"checksum pretty_assertions 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2412f3332a07c7a2a50168988dcc184f32180a9758ad470390e5f55e089f6b6e"
|
2016-08-03 19:01:48 +02:00
|
|
|
"checksum primal 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0e31b86efadeaeb1235452171a66689682783149a6249ff334a2c5d8218d00a4"
|
2017-09-14 19:28:43 +02:00
|
|
|
"checksum primal-bit 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "686a64e2f50194c64942992af5799e6b6e8775b8f88c607d72ed0a2fd58b9b21"
|
2018-03-27 04:35:51 +02:00
|
|
|
"checksum primal-check 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8e65f96c0a171f887198c274392c99a116ef65aa7f53f3b6d4902f493965c2d1"
|
2016-08-03 19:01:48 +02:00
|
|
|
"checksum primal-estimate 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "56ea4531dde757b56906493c8604641da14607bf9cdaa80fb9c9cabd2429f8d5"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum primal-sieve 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)" = "da2d6ed369bb4b0273aeeb43f07c105c0117717cbae827b20719438eb2eb798c"
|
2019-10-08 14:18:44 +02:00
|
|
|
"checksum primitive-types 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97b5a08dda18910f056e5c2060c034e77cab18e0bd7d895e44f03207af4c71d5"
|
2019-07-05 10:24:24 +02:00
|
|
|
"checksum proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "e10d4b51f154c8a7fb96fd6dad097cb74b863943ec010ac94b9fd1be8861fe1e"
|
2019-08-28 16:15:50 +02:00
|
|
|
"checksum proc-macro-hack 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e688f31d92ffd7c1ddc57a1b4e6d773c0f2a14ee437a4b0a4f5a69c80eb221c8"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)" = "3d7b7eaaa90b4a90a932a9ea6666c95a389e424eff347f0f793979289429feee"
|
2019-08-28 16:15:50 +02:00
|
|
|
"checksum proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4c5c2380ae88876faae57698be9e9775e3544decad214599c3a6266cca6ac802"
|
2017-06-22 14:54:08 +02:00
|
|
|
"checksum pulldown-cmark 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8361e81576d2e02643b04950e487ec172b687180da65c731c03cf336784e6c07"
|
2019-01-04 16:56:56 +01:00
|
|
|
"checksum pwasm-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e9135bed7b452e20dbb395a2d519abaf0c46d60e7ecc02daeeab447d29bada1"
|
2018-06-25 14:20:44 +02:00
|
|
|
"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dd636425967c33af890042c483632d33fa7a18f19ad1d7ea72e8998c6ef8dea5"
|
2019-08-28 16:15:50 +02:00
|
|
|
"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
|
2019-10-18 15:12:16 +02:00
|
|
|
"checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e464cd887e869cddcae8792a4ee31d23c7edd516700695608f5b98c67ee0131c"
|
2018-12-11 17:22:55 +01:00
|
|
|
"checksum rand 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ae9d223d52ae411a33cf7e54ec6034ec165df296ccd23533d671a28252b6f66a"
|
2019-10-02 10:25:51 +02:00
|
|
|
"checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412"
|
2018-12-11 17:22:55 +01:00
|
|
|
"checksum rand_chacha 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "771b009e3a508cb67e8823dda454aaa5368c7bc1c16829fb77d3e980440dd34a"
|
2019-10-02 10:25:51 +02:00
|
|
|
"checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum rand_core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1961a422c4d189dfb50ffa9320bf1f2a9bd54ecb92792fb9477f99a1045f3372"
|
2019-10-18 15:12:16 +02:00
|
|
|
"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
|
|
|
|
"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
|
2019-09-05 19:28:01 +02:00
|
|
|
"checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
|
2018-12-11 17:22:55 +01:00
|
|
|
"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
|
2019-10-02 10:25:51 +02:00
|
|
|
"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
|
2018-12-11 17:22:55 +01:00
|
|
|
"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
|
2019-09-05 19:28:01 +02:00
|
|
|
"checksum rand_os 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a788ae3edb696cfcba1c19bfd388cc4b8c21f8a408432b199c072825084da58a"
|
2018-12-11 17:22:55 +01:00
|
|
|
"checksum rand_pcg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "086bd09a33c7044e56bb44d5bdde5a60e7f119a9e95b0775f545de759a32fe05"
|
2019-06-03 15:36:21 +02:00
|
|
|
"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
|
2019-10-18 15:12:16 +02:00
|
|
|
"checksum rand_xorshift 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "77d416b86801d23dde1aa643023b775c3a462efc0ed96443add11546cdf1dca8"
|
2019-09-05 19:28:01 +02:00
|
|
|
"checksum rand_xoshiro 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0e18c91676f670f6f0312764c759405f13afb98d5d73819840cf72a518487bff"
|
2019-07-06 16:16:53 +02:00
|
|
|
"checksum rayon 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a4b0186e22767d5b9738a05eab7c6ac90b15db17e5b5f9bd87976dd7d89a10a4"
|
|
|
|
"checksum rayon-core 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ebbe0df8435ac0c397d467b6cad6d25543d06e8a019ef3f6af3c384597515bd2"
|
2019-10-18 15:12:16 +02:00
|
|
|
"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
|
2018-06-13 13:02:16 +02:00
|
|
|
"checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1"
|
2018-04-11 12:56:37 +02:00
|
|
|
"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
|
2019-09-27 23:29:14 +02:00
|
|
|
"checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
|
2019-09-05 19:28:01 +02:00
|
|
|
"checksum regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "92b73c2a1770c255c240eaa4ee600df1704a38dc3feaa6e949e7fcd4f8dc09f9"
|
2019-09-27 23:29:14 +02:00
|
|
|
"checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5"
|
2019-05-13 11:25:56 +02:00
|
|
|
"checksum ring 0.14.6 (registry+https://github.com/rust-lang/crates.io-index)" = "426bc186e3e95cac1e4a4be125a4aca7e84c2d616ffc02244eef36e2a60a093c"
|
2019-05-28 07:50:10 +02:00
|
|
|
"checksum ripemd160 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad5112e0dbbb87577bfbc56c42450235e3012ce336e29c5befd7807bd626da4a"
|
2019-08-13 12:33:34 +02:00
|
|
|
"checksum rlp 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fa2f7f9c612d133da9101ef7bcd3e603ca7098901eca852e71f87a83dd3e6b59"
|
2017-10-16 10:20:55 +02:00
|
|
|
"checksum rpassword 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b273c91bd242ca03ad6d71c143b6f17a48790e61f21a6c78568fa2b6774a24a4"
|
|
|
|
"checksum rprompt 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1601f32bc5858aae3cbfa1c645c96c4d820cc5c16be0194f089560c00b6eb625"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "bcfe5b13211b4d78e5c2cadfebd7769197d95c639c35a50057eb4c05de811395"
|
2017-07-06 11:36:15 +02:00
|
|
|
"checksum rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "403bb3a286107a04825a5f82e1270acc1e14028d3d554d7a1e08914549575ab8"
|
2017-09-14 19:28:43 +02:00
|
|
|
"checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
|
2019-02-06 17:53:34 +01:00
|
|
|
"checksum rustls 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "38af00e78b66109e7184a0ee16940f41583161b7ec0518af258e4bcaed15db25"
|
2019-08-22 18:25:49 +02:00
|
|
|
"checksum ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c92464b447c0ee8c4fb3824ecc8383b81717b9f1e74ba2e72540aef7b9f82997"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9"
|
2018-09-05 17:17:12 +02:00
|
|
|
"checksum same-file 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "10f7794e2fda7f594866840e95f5c5962e886e228e68b6505885811a94dd728c"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
|
2019-07-05 10:24:24 +02:00
|
|
|
"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
|
2019-05-28 07:50:10 +02:00
|
|
|
"checksum scrypt 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "656c79d0e90d0ab28ac86bf3c3d10bfbbac91450d3f190113b4e76d9fec3cfdd"
|
2019-02-06 17:53:34 +01:00
|
|
|
"checksum sct 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f5adf8fbd58e1b1b52699dc8bed2630faecb6d8c7bee77d009d6bbe4af569b9"
|
2018-04-04 11:54:41 +02:00
|
|
|
"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
|
2017-03-15 14:03:11 +01:00
|
|
|
"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
|
2019-08-22 18:25:49 +02:00
|
|
|
"checksum serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)" = "fec2851eb56d010dc9a21b89ca53ee75e6528bab60c11e89d38390904982da9f"
|
2019-03-28 16:31:06 +01:00
|
|
|
"checksum serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)" = "bb6eabf4b5914e88e24eea240bb7c9f9a2cbc1bbbe8d961d381975ec3c6b806c"
|
2019-08-22 18:25:49 +02:00
|
|
|
"checksum serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)" = "051c49229f282f7c6f3813f8286cc1e3323e8051823fce42c7ea80fe13521704"
|
2019-07-05 10:24:24 +02:00
|
|
|
"checksum sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "23962131a91661d643c98940b20fcaffe62d776a823247be80a48fcb8b6fce68"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum sha1 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "171698ce4ec7cbb93babeb3190021b4d72e96ccb98e33d277ae4ea959d6f2d9e"
|
|
|
|
"checksum sha2 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9eb6be24e4c23a84d7184280d2722f7f2731fcdd4a9d886efbfe4413e4847ea0"
|
2019-05-28 07:50:10 +02:00
|
|
|
"checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d"
|
2018-06-06 10:02:25 +02:00
|
|
|
"checksum shell32-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9ee04b46101f57121c9da2b151988283b6beb79b34f5bb29a58ee48cb695122c"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
|
2019-06-27 14:34:07 +02:00
|
|
|
"checksum siphasher 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9913c75df657d84a03fa689c016b0bb2863ff0b497b26a8d6e9703f8d5df03a8"
|
2017-06-22 14:54:08 +02:00
|
|
|
"checksum skeptic 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "24ebf8a06f5f8bae61ae5bbc7af7aac4ef6907ae975130faba1199e5fe82256a"
|
2016-08-03 19:01:48 +02:00
|
|
|
"checksum slab 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6dbdd334bd28d328dad1c41b0ea662517883d8880d8533895ef96c8003dec9c4"
|
2016-10-30 09:56:34 +01:00
|
|
|
"checksum slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "17b4fcaed89ab08ef143da37bc52adbcc04d4a69014f4c1208d6b51f0c47bc23"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5f9776d6b986f77b35c6cf846c11ad986ff128fe0b2b63a3628e3755e8d3102d"
|
2019-06-30 23:20:46 +02:00
|
|
|
"checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7"
|
2018-09-13 12:58:49 +02:00
|
|
|
"checksum socket2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "c4d11a52082057d87cb5caa31ad812f4504b97ab44732cd8359df2e9ff9f48e7"
|
2019-08-27 23:59:39 +02:00
|
|
|
"checksum spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
|
2019-06-03 15:36:21 +02:00
|
|
|
"checksum static_assertions 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c19be23126415861cb3a23e501d34a708f7f9b2183c5252d690941c2e69199d5"
|
2019-07-08 17:25:49 +02:00
|
|
|
"checksum static_assertions 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b4f8de36da215253eb5f24020bfaa0646613b48bf7ebe36cdfa37c3b3b33b241"
|
2019-05-28 07:50:10 +02:00
|
|
|
"checksum stream-cipher 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8861bc80f649f5b4c9bd38b696ae9af74499d479dbfb327f0607de6b326a36bc"
|
2019-09-27 23:29:14 +02:00
|
|
|
"checksum string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
|
2019-09-05 19:28:01 +02:00
|
|
|
"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
|
2019-05-28 07:50:10 +02:00
|
|
|
"checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee"
|
|
|
|
"checksum subtle 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "01dca13cf6c3b179864ab3292bd794e757618d35a7766b7c46050c614ba00829"
|
2019-02-05 14:31:19 +01:00
|
|
|
"checksum syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)" = "f92e629aa1d9c827b2bb8297046c1ccffc57c99b947a680d3ccff1f136a3bee9"
|
2019-10-19 14:14:25 +02:00
|
|
|
"checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf"
|
2018-10-30 22:12:42 +01:00
|
|
|
"checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015"
|
2016-08-03 19:01:48 +02:00
|
|
|
"checksum target_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c63f48baada5c52e65a29eef93ab4f8982681b67f9e8d29c7b05abcfec2b9ffe"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
|
2018-01-31 09:50:52 +01:00
|
|
|
"checksum term_size 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9e5b9a66db815dcfd2da92db471106457082577c3c278d4138ab3e3b4e189327"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum termcolor 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4096add70612622289f2fdcdbd5086dc81c1e2675e6ae58d6c4f62a16c6d7f2f"
|
2018-04-11 12:56:37 +02:00
|
|
|
"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
|
2019-09-05 19:28:01 +02:00
|
|
|
"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
|
2018-01-17 11:45:29 +01:00
|
|
|
"checksum textwrap 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c0b59b6b4b44d867f1370ef1bd91bfb262bf07bf0ae65c202ea2fbc16153b693"
|
2018-05-30 15:42:37 +02:00
|
|
|
"checksum thread-id 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c7fbf4c9d56b320106cd64fd024dadfa0be7cb4706725fc44a7d7ce952d820c1"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
|
2017-12-01 09:40:07 +01:00
|
|
|
"checksum threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e2f0c90a5f3459330ac8bc0d2f879c693bb7a2f59689c1083fc4ef83834da865"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b"
|
2018-05-10 12:34:36 +02:00
|
|
|
"checksum timer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "31d42176308937165701f50638db1c31586f183f1aab416268216577aec7306b"
|
2019-10-08 14:18:44 +02:00
|
|
|
"checksum tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d8a021c69bb74a44ccedb824a046447e2c84a01df9e5c20779750acb38e11b2"
|
2019-09-05 19:28:01 +02:00
|
|
|
"checksum tinytemplate 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4574b75faccaacddb9b284faecdf0b544b80b6b294f3d062d325c5726a209c20"
|
2019-10-10 16:56:22 +02:00
|
|
|
"checksum tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5c501eceaf96f0e1793cf26beb63da3d11c738c4a943fdf3746d81d64684c39f"
|
2019-10-10 16:56:22 +02:00
|
|
|
"checksum tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d16217cad7f1b840c5a97dfb3c43b0c871fef423a6e8d2118c604e843662a443"
|
|
|
|
"checksum tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "0f27ee0e6db01c5f0b2973824547ce7e637b2ed79b891a9677b0de9bd532b6ac"
|
|
|
|
"checksum tokio-fs 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "3fe6dc22b08d6993916647d108a1a7d15b9cd29c4f4496c62b92c45b5041b7af"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "8b8a85fffbec3c5ab1ab62324570230dcd37ee5996a7859da5caf7b9d45e3e8c"
|
|
|
|
"checksum tokio-named-pipes 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d282d483052288b2308ba5ee795f5673b159c9bdf63c385a05609da782a5eae"
|
|
|
|
"checksum tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "4b26fd37f1125738b2170c80b551f69ff6fecb277e6e5ca885e53eec2b005018"
|
2019-02-06 17:53:34 +01:00
|
|
|
"checksum tokio-rustls 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7223fa02f4b2d9f3736f13cc3dea3723aaec57ca4b3dded922126ebbb2cb8ce9"
|
2017-01-25 11:03:36 +01:00
|
|
|
"checksum tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "24da22d077e0f15f55162bdbdc661228c1581892f52074fb242678d015b45162"
|
2019-10-10 16:56:22 +02:00
|
|
|
"checksum tokio-sync 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2162248ff317e2bc713b261f242b69dbb838b85248ed20bb21df56d60ea4cae7"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum tokio-tcp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7ad235e9dadd126b2d47f6736f65aa1fdcd6420e66ca63f44177bc78df89f912"
|
2019-10-10 16:56:22 +02:00
|
|
|
"checksum tokio-threadpool 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "2bd2c6a3885302581f4401c82af70d792bb9df1700e7437b0aeb4ada94d5388c"
|
2017-09-14 19:28:43 +02:00
|
|
|
"checksum tokio-timer 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6131e780037787ff1b3f8aad9da83bca02438b72277850dd6ad0d455e0e20efc"
|
2019-10-10 16:56:22 +02:00
|
|
|
"checksum tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "f2106812d500ed25a4f38235b9cae8f78a09edf43203e16e59c3b769a342a60e"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum tokio-udp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "da941144b816d0dcda4db3a1ba87596e4df5e860a72b70783fe435891f80601c"
|
2019-10-10 16:56:22 +02:00
|
|
|
"checksum tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "037ffc3ba0e12a0ab4aca92e5234e0dedeb48fddf6ccd260f1f150a36a9f2445"
|
2019-03-28 16:31:06 +01:00
|
|
|
"checksum toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f"
|
2019-07-05 10:24:24 +02:00
|
|
|
"checksum toml 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b8c96d7873fa7ef8bdeb3a9cda3ac48389b4154f32b9803b4bc26220b677b039"
|
2019-09-30 23:16:30 +02:00
|
|
|
"checksum toolshed 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "54a272adbf14cfbb486774d09ee3e00c38d488cd390084a528f70e10e3a184a8"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum trace-time 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe82f2f0bf1991e163e757baf044282823155dd326e70f44ce2186c3c320cc9"
|
2019-09-11 18:44:31 +02:00
|
|
|
"checksum transaction-pool 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "454adc482e32785c3beab9415dd0f3c689f29cc2d16717eb62f6a784d53544b4"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum transient-hashmap 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aeb4b191d033a35edfce392a38cdcf9790b6cebcb30fa690c312c29da4dc433e"
|
2019-10-24 16:46:32 +02:00
|
|
|
"checksum trie-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d0b62d27e8aa1c07414549ac872480ac82380bab39e730242ab08d82d7cc098a"
|
2019-08-15 15:36:48 +02:00
|
|
|
"checksum trie-standardmap 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "64fda153c00484d640bc91334624be22ead0e5baca917d9fd53ff29bdebcf9b2"
|
|
|
|
"checksum triehash 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "61d0a66fa2412c7eb7816640e8ea14cf6bd63b6c824e72315b6ca76d33851134"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382"
|
|
|
|
"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"
|
2019-10-08 14:18:44 +02:00
|
|
|
"checksum uint 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8f0f47ed099f0db671ce82c66548c5de012e3c0cba3963514d1db15c7588701"
|
2017-09-14 19:28:43 +02:00
|
|
|
"checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d3218ea14b4edcaccfa0df0a64a3792a2c32cc706f1b336e48867f9d3147f90"
|
2017-09-14 19:28:43 +02:00
|
|
|
"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6a0180bc61fc5a987082bfa111f4cc95c4caff7f9799f3e46df09163a937aa25"
|
|
|
|
"checksum unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa6024fc12ddfd1c6dbc14a80fa2324d4568849869b779f6bd37e5e4c03344d1"
|
|
|
|
"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
|
2018-03-13 12:43:24 +01:00
|
|
|
"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
|
2019-08-28 16:15:50 +02:00
|
|
|
"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
|
2017-09-14 19:28:43 +02:00
|
|
|
"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum untrusted 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "55cd1f4b4e96b46aeb8d4855db4a7a9bd96eeeb5c6a1ab54593328761642ce2f"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2a321979c09843d272956e73700d12c4e7d3d92b2ee112b31548aef0d4efc5a6"
|
2019-10-02 10:25:51 +02:00
|
|
|
"checksum url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "75b414f6c464c879d7f9babf951f23bc3743fb7313c081b2e6ca719067ea9d61"
|
2019-09-30 23:16:30 +02:00
|
|
|
"checksum utf8-ranges 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b4ae116fef2b7fea257ed6440d3cfcff7f190865f170cdad00bb6465bf18ecba"
|
2018-10-30 22:12:42 +01:00
|
|
|
"checksum validator 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "236a5eda3df2c877872e98dbc55d497d943792e6405d8fc65bd4f8a5e3b53c99"
|
|
|
|
"checksum validator_derive 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d360d6f5754972c0c1da14fb3d5580daa31aee566e1e45e2f8d3bf5950ecd3e9"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
|
2017-09-14 19:28:43 +02:00
|
|
|
"checksum vergen 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c3365f36c57e5df714a34be40902b27a992eeddb9996eca52d0584611cf885d"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
|
2016-08-03 19:01:48 +02:00
|
|
|
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
|
2019-06-03 15:36:21 +02:00
|
|
|
"checksum walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "9d9d7ed3431229a144296213105a390676cc49c9b6a72bd19f3176c98e129fa1"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum want 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "797464475f30ddb8830cc529aaaae648d581f99e2036a928877dfde027ddf6b3"
|
2019-09-05 19:28:01 +02:00
|
|
|
"checksum wasi 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd5442abcac6525a045cc8c795aedb60da7a2e5e89c7bf18a0d5357849bb23c7"
|
2018-07-05 09:09:01 +02:00
|
|
|
"checksum wasmi 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b4a6d379e9332b1b1f52c5a87f2481c85c7c931d8ec411963dfb8f26b1ec1e3"
|
2019-02-06 17:53:34 +01:00
|
|
|
"checksum webpki 0.19.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4f7e1cd7900a3a6b65a3e8780c51a3e6b59c0e2c55c6dc69578c288d69f7d082"
|
|
|
|
"checksum webpki-roots 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c10fa4212003ba19a564f25cd8ab572c6791f99a03cc219c13ed35ccab00de0e"
|
2016-12-13 23:38:29 +01:00
|
|
|
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
|
2018-10-22 09:40:50 +02:00
|
|
|
"checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0"
|
2016-08-03 19:01:48 +02:00
|
|
|
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
|
2018-02-09 09:32:06 +01:00
|
|
|
"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "afc5508759c5bf4285e61feb862b6083c8480aec864fa17a81fdec6f69b461ab"
|
2018-02-09 09:32:06 +01:00
|
|
|
"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
2018-09-04 20:13:51 +02:00
|
|
|
"checksum wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "561ed901ae465d6185fa7864d63fbd5720d0ef718366c9a4dc83cf6170d7e9ba"
|
2019-10-02 10:25:51 +02:00
|
|
|
"checksum ws 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8a6f5bb86663ff4d1639408410f50bf6050367a8525d644d49a6894cd618a631"
|
2016-08-03 19:01:48 +02:00
|
|
|
"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
|
2017-09-14 19:28:43 +02:00
|
|
|
"checksum xdg 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a66b7c2281ebde13cf4391d70d4c7e5946c3c25e72a7b859ca8f677dcd0b0c61"
|
2018-04-10 19:25:27 +02:00
|
|
|
"checksum xml-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c1cb601d29fe2c2ac60a2b2e5e293994d87a1f6fa9687a31a15270f909be9c2"
|
2019-06-27 09:54:54 +02:00
|
|
|
"checksum xmltree 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff8eaee9d17062850f1e6163b509947969242990ee59a35801af437abe041e70"
|
2019-10-23 13:03:46 +02:00
|
|
|
"checksum zeroize 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "45af6a010d13e4cf5b54c94ba5a2b2eba5596b9e46bf5875612d332a1f2b3f86"
|
|
|
|
"checksum zeroize_derive 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "080616bd0e31f36095288bb0acdf1f78ef02c2fa15527d7e993f2a6c7591643e"
|