Pierre Krieger
527cc35afb
Increase network buffer sizes even more ( #6080 )
2020-06-18 11:55:45 +00:00
Roman Borschel
273f31b7aa
Avoid self-lookups in Authority Discovery ( #6317 )
...
* Ensure authority discovery avoids self-lookups.
Thereby additionally guard the `NetworkService` against
adding the local peer to the PSM or registering a
"known address" for the local peer.
* Clarify comments.
* See if returning errors is ok.
2020-06-10 18:50:37 +02:00
Pierre Krieger
34b7cc8a7a
Sentry nodes and validator nodes also imply reserved ( #6251 )
2020-06-04 23:57:02 +02:00
Arkadiy Paronyan
31921c4eb9
Use number of downloaded blocks for test ( #6234 )
2020-06-04 23:41:48 +02:00
Pierre Krieger
3fef099893
Fix service tests not calling update_chain ( #6232 )
2020-06-04 12:06:44 +00:00
Pierre Krieger
cf185302fa
Improve the log messages printed when a listener closes ( #6162 )
...
* Improve the log messages printed when a listener closes
* Oops, didn't finish the expired listen addrs thing
2020-05-27 19:55:54 +02:00
Pierre Krieger
c6e23b615f
Add a note about the deprecation of register_notifications_protocol ( #6111 )
2020-05-22 12:43:55 +02:00
Pierre Krieger
717fa95bc7
Restore the empty line after the license ( #6088 )
2020-05-20 13:08:27 +00:00
Pierre Krieger
8b9bd9018e
Upgrade to libp2p v0.19 - Changes the default PeerId representation ( #6064 )
...
* Upgrade to libp2p v0.19
* Listen on IPv6 by default
* Increase channels sizes
* Use spec-compliant noise protocol
* Show legacy PeerId
* Switch order of Noise protocols
* Switch to crates.io version
* Fix subkey's version
* Fix line width and Wasm build
* I think Wasm is fixed for real this time
2020-05-18 19:57:08 +02:00
Pierre Krieger
7536de97b1
Print an error if we discover our own network identity ( #6047 )
...
* Add an error if we discover our own network identity
* Fix tests
2020-05-18 18:42:44 +02:00
Nikolay Volf
d5411969ac
fix whitespace ( #6062 )
2020-05-18 13:51:28 +02:00
Arkadiy Paronyan
cdb7808a0e
Remove on_block_imported ( #6039 )
...
* remove on_block_imported
* Update client/network/src/service.rs
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com >
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com >
2020-05-16 12:59:34 +02:00
Pierre Krieger
6ecdf20a1f
Fix lots of small nits in sc-network ( #6028 )
...
* Fix lots of small nits in sc-network
* Update client/network/src/protocol/sync/blocks.rs
Co-authored-by: Arkadiy Paronyan <arkady.paronyan@gmail.com >
* Fix warning
* Yes. The line width.
Co-authored-by: Arkadiy Paronyan <arkady.paronyan@gmail.com >
2020-05-15 12:58:52 +01:00
Benjamin Kampmann
be8c96adec
Relax substrate licensing scheme ( #5947 )
2020-05-15 13:21:56 +02:00
Pierre Krieger
929bd07bef
Move around stuff in sc_network ( #5847 )
2020-04-30 13:08:38 +00:00
Pierre Krieger
1be634da85
Add metrics about block requests ( #5811 )
...
* Add metrics about block requests
* Apply suggestions from code review
Co-Authored-By: Max Inden <mail@max-inden.de >
Co-authored-by: Gavin Wood <i@gavwood.com >
Co-authored-by: Max Inden <mail@max-inden.de >
2020-04-28 17:47:40 +02:00
Pierre Krieger
6a7e86e677
Use new block requests protocol ( #5760 )
...
* Use new block requests protocol
* Tweak comment
2020-04-24 13:48:22 +02:00
Chevdor
e731817e24
Fix error message when providing an incorrect peer-id ( #5724 )
...
* Fix error message when providing an incorrect peer-id
* Fix error message to cover all cases
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com >
2020-04-23 22:20:24 +02:00
Toralf Wittner
421ef498f4
network: Only insert global addresses into the DHT. ( #5735 )
...
* network: Only insert global addresses into the DHT.
Currently every address reported via libp2p-identify is inserted into
the DHT which thus contains a multitude of unreachable addresses such
as from 127.0.0.0/8 or 10.0.0.0/8.
Issue #5099 suggested a dedicated service over UDP to gauge the
reachability of an address, which would however incur extra I/O costs
and be of limited use.
As an alternative and simpler tactic, this PR only allows global IP
addresses to be inserted into the DHT unless an explicit command-line
flag `--allow-non-global-addresses-in-dht` is given or a node is
started with `--dev`. This opt-in behaviour is meant to allow
site-local networks to still make use of a DHT.
* Enable non-global in more test setups.
* Replace command-line option with different name.
* Another test fix.
2020-04-23 09:52:20 +02:00
Pierre Krieger
a7f578d63a
Add a protocol that answers finality proofs ( #5718 )
...
* Add a protocol that answers finality proofs
* Fix documentation
* Use Toggle
2020-04-22 10:58:26 +02:00
Pierre Krieger
ca1c60c2cf
Move around definitions in sc_network ( #5701 )
2020-04-20 14:35:17 +02:00
Ashley
95dc400bb8
Make network_config_path an Option ( #5661 )
...
* Make network_config_path an Option
* Fix network tests
* Use None as the network config path
* Fix cli
* Don't make PathBuf an Option in a cli context
2020-04-17 14:48:45 +02:00
Pierre Krieger
0fd5643e84
Adjustments to Kademlia-related metrics ( #5660 )
...
* Turn kbuckets_num_nodes into a GaugeVec
* random_kademlia_queries -> kademlia_random_queries
* kademalia_random_queries_total now a CounterVec
* Add metrics about records store
2020-04-17 09:11:47 +02:00
Pierre Krieger
95ee37d242
Add alternative RPC methods to system_networkState ( #5643 )
...
* Add alternatives to system_networkState
* Fix tests
* Apply suggestions from code review
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
2020-04-16 16:36:14 +01:00
Pierre Krieger
239d0998ea
Several tweaks to networking Prometheus metrics ( #5636 )
2020-04-16 15:18:35 +02:00
Toralf Wittner
4db45a85de
Use a Kademlia instance per ProtocolId. ( #5045 )
2020-04-16 10:43:40 +02:00
Pierre Krieger
efde6056f6
Temporarily increase notifications buffer size ( #5644 )
...
* Temporarily increase notifications buffer size
* Add a 511.0 bucket
2020-04-15 23:27:33 +02:00
Pierre Krieger
1e1b0e2767
Give names to channels ( #5626 )
...
* Give names to channels
* Fix
* A couple more changes
* More minor tweaks
* Fix test
2020-04-14 14:49:41 +02:00
Pierre Krieger
877a7ab531
Add metrics for the events in the network output channels ( #5597 )
...
* Add metrics for the events in the network output channels
* Documentation fixes
* A couple fixes
* Fix panic at destruction
* Rework for direct Prometheus integration
* Don't lock on the Receiver
* Another review address
* Address review
* Update client/network/src/service/out_events.rs
Co-Authored-By: Max Inden <mail@max-inden.de >
* Fix bad event name
* Fix descriptions
* Fix names
* client/network/service/out_events: Apply remaining suggestions
Co-authored-by: Max Inden <mail@max-inden.de >
2020-04-09 20:30:34 +02:00
Pierre Krieger
ac9a852028
Update to libp2p 0.18 ( #5602 )
...
* Update to libp2p 0.18
* Update Cargo.lock
* Also bump in browser-utils
2020-04-09 18:41:21 +02:00
Pierre Krieger
cebd073649
Report local force-closing connections to Prometheus ( #5575 )
...
* Report local force-closing connections to Prometheus
* Also report ping timeouts separately
* Address concerns of #5571
2020-04-09 11:24:01 +02:00
Pierre Krieger
0cc2e4df89
Fix #5516 ( #5560 )
...
* Add a failing test
* Make test not freeze
* Fix the bug
* Fix spaces
* Fix tests
* Apply suggestions from code review
Co-Authored-By: Toralf Wittner <tw@dtex.org >
* Make sure test doesn't succeed if nothing happened
* Fix build
* Do the events change
Co-authored-by: Toralf Wittner <tw@dtex.org >
2020-04-08 13:32:22 +02:00
Pierre Krieger
571f1daa49
Add more Prometheus metrics ( #5571 )
...
* Add more Prometheus metrics
* Update client/network/src/service.rs
Co-Authored-By: Max Inden <mail@max-inden.de >
* Update client/network/src/service.rs
Co-Authored-By: Max Inden <mail@max-inden.de >
Co-authored-by: Gavin Wood <gavin@parity.io >
Co-authored-by: Max Inden <mail@max-inden.de >
2020-04-08 11:14:35 +02:00
Roman Borschel
f8c8355ac7
libp2p-next ( #5278 )
...
* Adapt to rust-libp2p#1440.
* Further adapt to libp2p/master.
* Update to libp2p-0.17
* Finishing touches.
* Remove stray TODO.
* Incorporate review feedback.
* Remove unused import.
2020-04-08 09:23:21 +02:00
Gavin Wood
0253793d90
More emoji ( #5556 )
2020-04-07 11:55:46 +01:00
Cecile Tonglet
3da069e359
CLI: refactoring: remove Options from sc_service::Configuration's fields ( #5271 )
...
* WIP
Forked at: d6aa8e954c
Parent branch: origin/master
* Rename IntoConfiguration to CliConfiguration
* Renamed into_configuration to create_configuration
* WIP
Forked at: d6aa8e954c
Parent branch: origin/master
* WIP
Forked at: d6aa8e954c
Parent branch: origin/master
* Move keystore params to its own module
* Use in-memory keystore even for build-spec
* Enforce proper value for node name
* dev_key_seed
* Telemetry endpoints
* rustfmt
* Converted all RunCmd
* rustfmt
* Added export-blocks
* Missed something
* Removed config_path in NetworkConfiguration (not used)
* Fixed warnings
* public_addresses is used but never set, keeping it
* Merge Configuration.node and NetworkConfiguration.node_name
...because they are the same thing
* Added: import-blocks
* Adding a proc_macro to help impl SubstrateCli
* WIP
Forked at: d6aa8e954c
Parent branch: origin/master
* WIP
Forked at: d6aa8e954c
Parent branch: origin/master
* WIP
Forked at: d6aa8e954c
Parent branch: origin/master
* Re-export spec_factory from sc_cli
* Re-added all the commands
* Refactored node_key_params
* Fixed previous refucktoring
* Clean-up and removed full_version()
* Renamed get_is_dev to not confuse with Configuration field
* Fixed sc-cli-derive example
* Fixing tests
* Fixing tests and removing some (will re-add later)
* Fixing more tests
* Removes the need of type parameter
* Converting bin/node and simplifying API
* Converting more
* Converting last command
* WIP
Forked at: d6aa8e954c
Parent branch: origin/master
* Fixing tests and added default for WasmExecutionMethod
* Fixing stuff
* Fixed something I broke oops
* Update Cargo.lock
* Moving things around
* Convert everything to Result
* Added new macros to simplify the impl of CliConfiguration
* Added a macro to generate CliConfiguration automatically for subcommands
* Revert... too many macros (this one is not really useful)
This reverts commit 9c516dd38b40fbc420b02c1f8e61d5b2b1a4e434.
* Renamed is_dev to get_is_dev
Good enough for now
* Fixed name roles (this is plural, not singular)
* Clean-up
* Re-export NodeKeyConfig and TelemetryEndpoints from sc_service
* Improve styling/formatting
* Added copyrights
* Added doc and fixed warnings
* Added myself to code owners
* Yes it is needed according to the history
* Revert formatting
* Fixing conflict
* Updated build.rs
* Cargo.lock
* Clean-up
* Update client/cli-derive/Cargo.toml
Co-Authored-By: Seun Lanlege <seunlanlege@gmail.com >
* Fail if using proc_macro and build.rs is not set properly
* Dropped all get_ in front of methods
* Clean-up
* Fixing proc macro missing env var
* Get the configuration inside the Runtime (needed for polkadot)
* Clean-up
* Get is_dev from argument like the others
* Get chain ID instead of chain spec from shared params
* &self is passed to spec_factory/load_spec
* Wrong text
* Fix example
* Officialize macro and made a cool doc
* Renamed spec_factory to load_spec (substrate_cli_configuration)
* Removed not so useful ChainSpec
* Renamed SubstrateCLI to SubstrateCli
* Added changelog for impl_version being full now
* Renamed Runtime to Runner
* Update changelog to show example
* Removed option on database cache size
* WIP
Forked at: d6aa8e954c
Parent branch: origin/master
* Fix on removal of option
* typo
* Clean-up imports
* Added info in Cargo.toml
* typo
* remarks
* Moved function for build.rs to substrate-build-script-utils
* Fixed example & test of cli-derive
* Moved function for build.rs to substrate-build-script-utils
* Renamed substrate_cli_configuration to substrate_cli oops
It implements SubstrateCli not CliConfiguration!
* Added documentation and wrapper macro
* Removed option on database cache size
* Removed option on database cache size
* Clean-up
* Reduce risk of errors due to typos
* Removed option on database cache size
* Added NOTE as suggested
* Added doc as suggested
* Fixed test
* typo
* renamed runtime to runner
* Fixed weird argument
* More commas
* Moved client/cli-derive to client/cli/derive
* Added 7 tests for the macros
* Improve error message
* Upgrade assert_cmd
* Fixing missing stuff
* Fixed unused import
* Improve SubstrateCli doc
* Applied suggestions
* Fix and clean-up imports
* Started replacing macros WIP
* WIP
Forked at: d6aa8e954c
Parent branch: origin/master
* WIP
Forked at: d6aa8e954c
Parent branch: origin/master
* WIP
Forked at: d6aa8e954c
Parent branch: origin/master
* Started removing substrate_cli
* WIP
Forked at: d6aa8e954c
Parent branch: origin/master
* WIP
Forked at: d6aa8e954c
Parent branch: origin/master
* WIP
Forked at: d6aa8e954c
Parent branch: origin/master
* fixed bug introduced while refactoring
* Renamed NetworkConfigurationParams to NetworkParams for consistency sake
* Fixed test
* Update client/cli/src/commands/runcmd.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/commands/runcmd.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/commands/export_blocks_cmd.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/commands/check_block_cmd.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update bin/node/cli/src/command.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update bin/node/cli/src/command.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/commands/export_blocks_cmd.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Revert "Update client/cli/src/commands/export_blocks_cmd.rs"
This reverts commit 5906776953392c02beac6bc0bf50f8cbe1a12a01.
* Revert "Update client/cli/src/commands/check_block_cmd.rs"
This reverts commit f705f42b7f3d732be001141afee210fe46a1ef47.
* Revert "Update client/cli/src/commands/export_blocks_cmd.rs"
This reverts commit 8d57c0550164449e6eb2d3bacb04c750c714fcea.
* Revert "Update client/cli/src/commands/runcmd.rs"
This reverts commit 93e74cf5d2e1c0dc49cdff8608d59fc40fc59338.
* Revert "Update client/cli/src/commands/runcmd.rs"
This reverts commit 11d527ba345c0d79f0d3b5b071933d95474d0614.
* Update client/cli/src/commands/export_blocks_cmd.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/commands/import_blocks_cmd.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/commands/purge_chain_cmd.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Changed ::sc_cli to $crate in the macro
* fixed tests
* fixed conflicts
* Fixing test
* Update client/cli/src/commands/purge_chain_cmd.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/params/pruning_params.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Remove comment as suggested
* Apply suggestion
* Update client/cli/src/commands/purge_chain_cmd.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/commands/purge_chain_cmd.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/commands/purge_chain_cmd.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update utils/frame/benchmarking-cli/src/command.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/runner.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/runner.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/runner.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/params/pruning_params.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/params/node_key_params.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/params/network_params.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/lib.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/config.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Added doc
* Fixed error introduced after applying suggestion
* Revert "Update client/cli/src/params/pruning_params.rs"
This reverts commit 0574d06a4f1efd86e94c1214420a12e7a4be0099.
* Print error
* Apply suggestions from code review
* Remove useless Results
* Fixed CI failing on polkadot approval
Co-authored-by: Seun Lanlege <seunlanlege@gmail.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-04-07 11:38:07 +02:00
Pierre Krieger
dba0fcbaea
Prometheus Metrics: Turn notifications_total counter into notifications_sizes histogram ( #5535 )
...
* Turn notifications_total into notifications_sizes
* Address review
2020-04-06 18:36:46 +02:00
Benjamin Kampmann
247822bb33
Additional Metrics collected and exposed via prometheus ( #5414 )
...
This PR refactors the metrics measuring and Prometheus exposing entity in sc-service into its own submodule and extends the parameters it exposes by:
- system load average (over one, five and 15min)
- the TCP connection state of the process (lsof), refs #5304
- number of tokio threads
- number of known forks
- counter for items in each unbounded queue (with internal unbounded channels)
- number of file descriptors opened by this process (*nix only at this point)
- number of system threads (*nix only at this point)
refs #4679
Co-authored-by: Max Inden <mail@max-inden.de >
Co-authored-by: Ashley <ashley.ruglys@gmail.com >
2020-04-04 15:13:35 +02:00
Pierre Krieger
8c03a4fcef
Split the Roles in three types ( #5520 )
...
* Split the Roles bitfield in three
* Forgot to include some changes
* Fix cli test
* More test fixes
* Oh God, merging master broke other tests
* Didn't run the doctests
* Address review
* I'm trying to fix the build blindly because it's taking a good hour to compile on my machine
* Address some review
* Also update the peerset's API to make sense
* Fix peerset tests
* Fix browser node
* client: distinguish between local and network authority
Co-authored-by: André Silva <andre.beat@gmail.com >
2020-04-03 19:08:14 +02:00
Pierre Krieger
e8dfb37aaf
Add a sub_libp2p_notifications_queues_size Prometheus metric ( #5503 )
...
* Add a sub_libp2p_notifications_queues_size Prometheus metric
* Fix network tests
* Address review
2020-04-03 08:43:55 +02:00
Pierre Krieger
a8aedfa16f
Switch to new light client protocol ( #5472 )
...
* Switch to the new protocol
* Oops, forgot to remove light_dispatch.rs
* Fix tests
* Address review
2020-04-01 19:44:42 +02:00
Gavin Wood
b86c7e87a9
A few missing emojies ( #5490 )
...
* A few missing emojies
* P2p message emojis
* Add a bit of colour
* format
* Introduce a couple of spaces
* Some spaces
2020-04-01 19:41:48 +02:00
Cecile Tonglet
439887a773
Allow changing the behavior for imported blocks ( #5236 )
...
* Added option to disable default block announce
* Added on_block_imported on NetworkService
* Revert "Added on_block_imported on NetworkService"
This reverts commit ba360cad96e0cb041d7047af30df2a35eb112449.
* Do not announce block if set to not announce block
* Revert fix
* Moving default announce block to NetworkConfig
* WIP
Forked at: ad90ab7ec9
Parent branch: origin/master
* WIP
Forked at: ad90ab7ec9
Parent branch: origin/master
* Removing boolean in favor of explicit call
* Fixing tests
* WIP
Forked at: ad90ab7ec9
Parent branch: origin/master
* WIP
Forked at: ad90ab7ec9
Parent branch: origin/master
* increase spec_version
* increase spec_version
* Fixed test
* Fixing test
* Renamed should_announce_imported_blocks to announce_imported_blocks
* Updated assert_cmd
2020-03-31 11:02:16 +02:00
Gavin Wood
acab5f0570
Add emojis ( #5420 )
2020-03-27 10:41:31 +01:00
Bastian Köcher
6beb6acbd5
Print an error when a bootnode is on a different chain ( #5377 )
...
* Print an error when a bootnode is on a different chain
* Fix tests
2020-03-24 14:24:09 +00:00
Bastian Köcher
fde05dd236
Show an error when we connect to a bootnode with a different peer id ( #5365 )
...
Currently when we connect to a bootnode and it returns a different peer
id, than the one we provided, we disconnect silently. This pr changes
the behavior to printing an error when a bootnode returns a different
peer id than the provided one.
2020-03-23 18:49:49 +01:00
Arkadiy Paronyan
a66615446d
Fixed a couple of syncing issues ( #5277 )
...
* Don't queue duplicate blocks
* Keep queue_blocks on restart
2020-03-19 14:02:07 +01:00
Seun Lanlege
9898fc7e81
removes use of sc_client::Client from sc_network ( #5147 )
...
* removes use of sc_client::Client from sc_network
* rename BlockProvider to BlockBackend
* fix broken test
2020-03-12 14:02:04 +01:00
Pierre Krieger
9c6d53f436
Fix NotificationStreamClosed reported when it shouldn't ( #5160 )
...
* Fix NotificationStreamClosed reported when it shouldn't
* Fix test
* Add test
* Update client/network/src/protocol.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Oops, fix test
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-03-06 21:24:51 +01:00
Gavin Wood
d957220435
Add lots of networking metrics for Prometheus ( #5126 )
...
* Add some metrics
* Address concerns
2020-03-05 21:38:41 +01:00