Skip to content

Instantly share code, notes, and snippets.

@drunkirishcoder
Created December 28, 2022 21:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save drunkirishcoder/c88b308f9817d17c4708550fc7e550ca to your computer and use it in GitHub Desktop.
Save drunkirishcoder/c88b308f9817d17c4708550fc7e550ca to your computer and use it in GitHub Desktop.
Polkadot 0.9.36 manpage
polkadot@48e2f6bb340f:~$ polkadot --help
Polkadot Relay-chain Client Node
Usage: polkadot [OPTIONS]
polkadot <COMMAND>
Commands:
build-spec
Build a chain specification
check-block
Validate blocks
export-blocks
Export blocks
export-state
Export the state of a given block into a chain spec
import-blocks
Import blocks
purge-chain
Remove the whole chain
revert
Revert the chain to a previous state
benchmark
Sub-commands concerned with benchmarking. The pallet benchmarking moved to the `pallet` sub-command
host-perf-check
Runs performance checks such as PVF compilation in order to measure machine capabilities of running a validator
try-runtime
Try some command against runtime state. Note: `try-runtime` feature must be enabled
key
Key management CLI utilities
chain-info
Db meta columns information
help
Print this message or the help of the given subcommand(s)
Options:
--validator
Enable validator mode.
The node will be started with the authority role and actively participate in any consensus task that it can (e.g. depending on availability of local keys).
--no-grandpa
Disable GRANDPA voter when running in validator mode, otherwise disable the GRANDPA observer
--rpc-external
Listen to all RPC interfaces.
Default is local. Note: not all RPC methods are safe to be exposed publicly. Use an RPC proxy server to filter out dangerous methods. More details: <https://docs.substrate.io/main-docs/build/custom-rpc/#public-rpcs>. Use `--unsafe-rpc-external` to suppress the warning if you understand the risks.
--unsafe-rpc-external
Listen to all RPC interfaces.
Same as `--rpc-external`.
--rpc-methods <METHOD SET>
RPC methods to expose.
- `unsafe`: Exposes every RPC method.
- `safe`: Exposes only a safe subset of RPC methods, denying unsafe RPC methods.
- `auto`: Acts as `safe` if RPC is served externally, e.g. when `--{rpc,ws}-external` is
passed, otherwise acts as `unsafe`.
[default: auto]
Possible values:
- auto:
Expose every RPC method only when RPC is listening on `localhost`, otherwise serve only safe RPC methods
- safe:
Allow only a safe subset of RPC methods
- unsafe:
Expose every RPC method (even potentially unsafe ones)
--ws-external
Listen to all Websocket interfaces.
Default is local. Note: not all RPC methods are safe to be exposed publicly. Use an RPC proxy server to filter out dangerous methods. More details: <https://docs.substrate.io/main-docs/build/custom-rpc/#public-rpcs>. Use `--unsafe-ws-external` to suppress the warning if you understand the risks.
--unsafe-ws-external
Listen to all Websocket interfaces.
Same as `--ws-external` but doesn't warn you about it.
--rpc-max-payload <RPC_MAX_PAYLOAD>
DEPRECATED, this has no affect anymore. Use `rpc_max_request_size` or `rpc_max_response_size` instead
--rpc-max-request-size <RPC_MAX_REQUEST_SIZE>
Set the the maximum RPC request payload size for both HTTP and WS in megabytes. Default is 15MiB
--rpc-max-response-size <RPC_MAX_RESPONSE_SIZE>
Set the the maximum RPC response payload size for both HTTP and WS in megabytes. Default is 15MiB
--rpc-max-subscriptions-per-connection <RPC_MAX_SUBSCRIPTIONS_PER_CONNECTION>
Set the the maximum concurrent subscriptions per connection. Default is 1024
--prometheus-external
Expose Prometheus exporter on all interfaces.
Default is local.
--ipc-path <PATH>
DEPRECATED, IPC support has been removed
--rpc-port <PORT>
Specify HTTP RPC server TCP port
--ws-port <PORT>
Specify WebSockets RPC server TCP port
--ws-max-connections <COUNT>
Maximum number of WS RPC server connections
--ws-max-out-buffer-capacity <WS_MAX_OUT_BUFFER_CAPACITY>
DEPRECATED, this has no affect anymore. Use `rpc_max_response_size` instead
--rpc-cors <ORIGINS>
Specify browser Origins allowed to access the HTTP & WS RPC servers.
A comma-separated list of origins (protocol://domain or special `null` value). Value of `all` will disable origin validation. Default is to allow localhost and <https://polkadot.js.org> origins. When running in --dev mode the default is to allow all origins.
--prometheus-port <PORT>
Specify Prometheus exporter TCP Port
--no-prometheus
Do not expose a Prometheus exporter endpoint.
Prometheus metric endpoint is enabled by default.
--name <NAME>
The human-readable name for this node.
The node name will be reported to the telemetry server, if enabled.
--no-telemetry
Disable connecting to the Substrate telemetry server.
Telemetry is on by default on global chains.
--telemetry-url <URL VERBOSITY>
The URL of the telemetry server to connect to.
This flag can be passed multiple times as a means to specify multiple telemetry endpoints. Verbosity levels range from 0-9, with 0 denoting the least verbosity. Expected format is 'URL VERBOSITY', e.g. `--telemetry-url 'wss://foo/bar 0'`.
--offchain-worker <ENABLED>
Should execute offchain workers on every block.
By default it's only enabled for nodes that are authoring new blocks.
[default: when-validating]
Possible values:
- always: Always have offchain worker enabled
- never: Never enable the offchain worker
- when-validating: Only enable the offchain worker when running as validator
--enable-offchain-indexing <ENABLE_OFFCHAIN_INDEXING>
Enable Offchain Indexing API, which allows block import to write to Offchain DB.
Enables a runtime to write directly to a offchain workers DB during block import.
[default: false]
[possible values: true, false]
--chain <CHAIN_SPEC>
Specify the chain specification.
It can be one of the predefined ones (dev, local, or staging) or it can be a path to a file with the chainspec (such as one exported by the `build-spec` subcommand).
--dev
Specify the development chain.
This flag sets `--chain=dev`, `--force-authoring`, `--rpc-cors=all`, `--alice`, and `--tmp` flags, unless explicitly overridden.
-d, --base-path <PATH>
Specify custom base path
-l, --log <LOG_PATTERN>...
Sets a custom logging filter. Syntax is `<target>=<level>`, e.g. -lsync=debug.
Log levels (least to most verbose) are error, warn, info, debug, and trace. By default, all targets log `info`. The global log level can be set with `-l<level>`.
--detailed-log-output
Enable detailed log output.
This includes displaying the log target, log level and thread name.
This is automatically enabled when something is logged with any higher level than `info`.
--disable-log-color
Disable log color output
--enable-log-reloading
Enable feature to dynamically update and reload the log filter.
Be aware that enabling this feature can lead to a performance decrease up to factor six or more. Depending on the global logging level the performance decrease changes.
The `system_addLogFilter` and `system_resetLogFilter` RPCs will have no effect with this option not being set.
--tracing-targets <TARGETS>
Sets a custom profiling filter. Syntax is the same as for logging: `<target>=<level>`
--tracing-receiver <RECEIVER>
Receiver to process tracing messages
[default: log]
Possible values:
- log: Output the tracing records using the log
--state-pruning <PRUNING_MODE>
Specify the state pruning mode.
This mode specifies when the block's state (ie, storage) should be pruned (ie, removed) from the database.
Possible values: 'archive' Keep the state of all blocks. 'archive-canonical' Keep only the state of finalized blocks. number Keep the state of the last number of finalized blocks.
[default: 256]
--blocks-pruning <PRUNING_MODE>
Specify the blocks pruning mode.
This mode specifies when the block's body (including justifications) should be pruned (ie, removed) from the database.
Possible values: 'archive' Keep all blocks. 'archive-canonical' Keep only finalized blocks. number Keep the last `number` of finalized blocks.
[default: archive-canonical]
--database <DB>
Select database backend to use
Possible values:
- rocksdb:
Facebooks RocksDB
- paritydb:
ParityDb. <https://github.com/paritytech/parity-db/>
- auto:
Detect whether there is an existing database. Use it, if there is, if not, create new instance of ParityDb
- paritydb-experimental:
ParityDb. <https://github.com/paritytech/parity-db/>
--db-cache <MiB>
Limit the memory the database cache can use
--wasm-execution <METHOD>
Method for executing Wasm runtime code
[default: compiled]
Possible values:
- interpreted-i-know-what-i-do: Uses an interpreter
- compiled: Uses a compiled runtime
--wasmtime-instantiation-strategy <STRATEGY>
The WASM instantiation method to use.
Only has an effect when `wasm-execution` is set to `compiled`.
The copy-on-write strategies are only supported on Linux. If the copy-on-write variant of a strategy is unsupported the executor will fall back to the non-CoW equivalent.
The fastest (and the default) strategy available is `pooling-copy-on-write`.
The `legacy-instance-reuse` strategy is deprecated and will be removed in the future. It should only be used in case of issues with the default instantiation strategy.
[default: pooling-copy-on-write]
Possible values:
- pooling-copy-on-write:
Pool the instances to avoid initializing everything from scratch on each instantiation. Use copy-on-write memory when possible
- recreate-instance-copy-on-write:
Recreate the instance from scratch on every instantiation. Use copy-on-write memory when possible
- pooling:
Pool the instances to avoid initializing everything from scratch on each instantiation
- recreate-instance:
Recreate the instance from scratch on every instantiation. Very slow
- legacy-instance-reuse:
Legacy instance reuse mechanism. DEPRECATED. Will be removed in the future
--wasm-runtime-overrides <PATH>
Specify the path where local WASM runtimes are stored.
These runtimes will override on-chain runtimes when the version matches.
--execution-syncing <STRATEGY>
The means of execution used when calling into the runtime for importing blocks as part of an initial sync
Possible values:
- native:
Execute with native build (if available, WebAssembly otherwise)
- wasm:
Only execute with the WebAssembly build
- both:
Execute with both native (where available) and WebAssembly builds
- native-else-wasm:
Execute with the native build if possible; if it fails, then execute with WebAssembly
--execution-import-block <STRATEGY>
The means of execution used when calling into the runtime for general block import (including locally authored blocks)
Possible values:
- native:
Execute with native build (if available, WebAssembly otherwise)
- wasm:
Only execute with the WebAssembly build
- both:
Execute with both native (where available) and WebAssembly builds
- native-else-wasm:
Execute with the native build if possible; if it fails, then execute with WebAssembly
--execution-block-construction <STRATEGY>
The means of execution used when calling into the runtime while constructing blocks
Possible values:
- native:
Execute with native build (if available, WebAssembly otherwise)
- wasm:
Only execute with the WebAssembly build
- both:
Execute with both native (where available) and WebAssembly builds
- native-else-wasm:
Execute with the native build if possible; if it fails, then execute with WebAssembly
--execution-offchain-worker <STRATEGY>
The means of execution used when calling into the runtime while using an off-chain worker
Possible values:
- native:
Execute with native build (if available, WebAssembly otherwise)
- wasm:
Only execute with the WebAssembly build
- both:
Execute with both native (where available) and WebAssembly builds
- native-else-wasm:
Execute with the native build if possible; if it fails, then execute with WebAssembly
--execution-other <STRATEGY>
The means of execution used when calling into the runtime while not syncing, importing or constructing blocks
Possible values:
- native:
Execute with native build (if available, WebAssembly otherwise)
- wasm:
Only execute with the WebAssembly build
- both:
Execute with both native (where available) and WebAssembly builds
- native-else-wasm:
Execute with the native build if possible; if it fails, then execute with WebAssembly
--execution <STRATEGY>
The execution strategy that should be used by all execution contexts
Possible values:
- native:
Execute with native build (if available, WebAssembly otherwise)
- wasm:
Only execute with the WebAssembly build
- both:
Execute with both native (where available) and WebAssembly builds
- native-else-wasm:
Execute with the native build if possible; if it fails, then execute with WebAssembly
--trie-cache-size <Bytes>
Specify the state cache size.
Providing `0` will disable the cache.
[default: 67108864]
--state-cache-size <STATE_CACHE_SIZE>
DEPRECATED
Switch to `--trie-cache-size`.
--bootnodes <ADDR>...
Specify a list of bootnodes
--reserved-nodes <ADDR>...
Specify a list of reserved node addresses
--reserved-only
Whether to only synchronize the chain with reserved nodes.
Also disables automatic peer discovery.
TCP connections might still be established with non-reserved nodes. In particular, if you are a validator your node might still connect to other validator nodes and collator nodes regardless of whether they are defined as reserved nodes.
--public-addr <PUBLIC_ADDR>...
The public address that other nodes will use to connect to it. This can be used if there's a proxy in front of this node
--listen-addr <LISTEN_ADDR>...
Listen on this multiaddress.
By default: If `--validator` is passed: `/ip4/0.0.0.0/tcp/<port>` and `/ip6/[::]/tcp/<port>`. Otherwise: `/ip4/0.0.0.0/tcp/<port>/ws` and `/ip6/[::]/tcp/<port>/ws`.
--port <PORT>
Specify p2p protocol TCP port
--no-private-ipv4
Always forbid connecting to private IPv4 addresses (as specified in [RFC1918](https://tools.ietf.org/html/rfc1918)), unless the address was passed with `--reserved-nodes` or `--bootnodes`. Enabled by default for chains marked as "live" in their chain specifications
--allow-private-ipv4
Always accept connecting to private IPv4 addresses (as specified in [RFC1918](https://tools.ietf.org/html/rfc1918)). Enabled by default for chains marked as "local" in their chain specifications, or when `--dev` is passed
--out-peers <COUNT>
Specify the number of outgoing connections we're trying to maintain
[default: 15]
--in-peers <COUNT>
Maximum number of inbound full nodes peers
[default: 25]
--in-peers-light <COUNT>
Maximum number of inbound light nodes peers
[default: 100]
--no-mdns
Disable mDNS discovery.
By default, the network will use mDNS to discover other nodes on the local network. This disables it. Automatically implied when using --dev.
--max-parallel-downloads <COUNT>
Maximum number of peers from which to ask for the same blocks in parallel.
This allows downloading announced blocks from multiple peers. Decrease to save traffic and risk increased latency.
[default: 5]
--node-key <KEY>
The secret key to use for libp2p networking.
The value is a string that is parsed according to the choice of `--node-key-type` as follows:
`ed25519`: The value is parsed as a hex-encoded Ed25519 32 byte secret key, i.e. 64 hex characters.
The value of this option takes precedence over `--node-key-file`.
WARNING: Secrets provided as command-line arguments are easily exposed. Use of this option should be limited to development and testing. To use an externally managed secret key, use `--node-key-file` instead.
--node-key-type <TYPE>
The type of secret key to use for libp2p networking.
The secret key of the node is obtained as follows:
* If the `--node-key` option is given, the value is parsed as a secret key according to the type. See the documentation for `--node-key`.
* If the `--node-key-file` option is given, the secret key is read from the specified file. See the documentation for `--node-key-file`.
* Otherwise, the secret key is read from a file with a predetermined, type-specific name from the chain-specific network config directory inside the base directory specified by `--base-dir`. If this file does not exist, it is created with a newly generated secret key of the chosen type.
The node's secret key determines the corresponding public key and hence the node's peer ID in the context of libp2p.
[default: ed25519]
Possible values:
- ed25519: Use ed25519
--node-key-file <FILE>
The file from which to read the node's secret key to use for libp2p networking.
The contents of the file are parsed according to the choice of `--node-key-type` as follows:
`ed25519`: The file must contain an unencoded 32 byte or hex encoded Ed25519 secret key.
If the file does not exist, it is created with a newly generated secret key of the chosen type.
--discover-local
Enable peer discovery on local networks.
By default this option is `true` for `--dev` or when the chain type is `Local`/`Development` and false otherwise.
--kademlia-disjoint-query-paths
Require iterative Kademlia DHT queries to use disjoint paths for increased resiliency in the presence of potentially adversarial nodes.
See the S/Kademlia paper for more information on the high level design as well as its security improvements.
--ipfs-server
Join the IPFS network and serve transactions over bitswap protocol
--sync <SYNC_MODE>
Blockchain syncing mode.
- `full`: Download and validate full blockchain history.
- `fast`: Download blocks and the latest state only.
- `fast-unsafe`: Same as `fast`, but skip downloading state proofs.
- `warp`: Download the latest state and proof.
[default: full]
Possible values:
- full:
Full sync. Download end verify all blocks
- fast:
Download blocks without executing them. Download latest state with proofs
- fast-unsafe:
Download blocks without executing them. Download latest state without proofs
- warp:
Prove finality and download the latest state
--pool-limit <COUNT>
Maximum number of transactions in the transaction pool
[default: 8192]
--pool-kbytes <COUNT>
Maximum number of kilobytes of all transactions stored in the pool
[default: 20480]
--tx-ban-seconds <SECONDS>
How long a transaction is banned for, if it is considered invalid. Defaults to 1800s
--alice
Shortcut for `--name Alice --validator` with session keys for `Alice` added to keystore
--bob
Shortcut for `--name Bob --validator` with session keys for `Bob` added to keystore
--charlie
Shortcut for `--name Charlie --validator` with session keys for `Charlie` added to keystore
--dave
Shortcut for `--name Dave --validator` with session keys for `Dave` added to keystore
--eve
Shortcut for `--name Eve --validator` with session keys for `Eve` added to keystore
--ferdie
Shortcut for `--name Ferdie --validator` with session keys for `Ferdie` added to keystore
--one
Shortcut for `--name One --validator` with session keys for `One` added to keystore
--two
Shortcut for `--name Two --validator` with session keys for `Two` added to keystore
--force-authoring
Enable authoring even when offline
--keystore-uri <KEYSTORE_URI>
Specify custom URIs to connect to for keystore-services
--keystore-path <PATH>
Specify custom keystore path
--password-interactive
Use interactive shell for entering the password used by the keystore
--password <PASSWORD>
Password used by the keystore. This allows appending an extra user-defined secret to the seed
--password-filename <PATH>
File that contains the password used by the keystore
--max-runtime-instances <MAX_RUNTIME_INSTANCES>
The size of the instances cache for each runtime.
The default value is 8 and the values higher than 256 are ignored.
--runtime-cache-size <RUNTIME_CACHE_SIZE>
Maximum number of different runtimes that can be cached
[default: 2]
--tmp
Run a temporary node.
A temporary directory will be created to store the configuration and will be deleted at the end of the process.
Note: the directory is random per process execution. This directory is used as base path which includes: database, node key and keystore.
When `--dev` is given and no explicit `--base-path`, this option is implied.
--force-kusama
Force using Kusama native runtime
--force-westend
Force using Westend native runtime
--force-rococo
Force using Rococo native runtime
--grandpa-pause <GRANDPA_PAUSE> <GRANDPA_PAUSE>
Setup a GRANDPA scheduled voting pause.
This parameter takes two values, namely a block number and a delay (in blocks). After the given block number is finalized the GRANDPA voter will temporarily stop voting for new blocks until the given delay has elapsed (i.e. until a block at height `pause_block + delay` is imported).
--beefy
Enable the BEEFY gadget (only on Rococo or Wococo for now)
--jaeger-agent <JAEGER_AGENT>
Add the destination address to the jaeger agent.
Must be valid socket address, of format `IP:Port` commonly `127.0.0.1:6831`.
--pyroscope-server <PYROSCOPE_SERVER>
Add the destination address to the `pyroscope` agent.
Must be valid socket address, of format `IP:Port` commonly `127.0.0.1:4040`.
--no-hardware-benchmarks
Disable automatic hardware benchmarks.
By default these benchmarks are automatically ran at startup and measure the CPU speed, the memory bandwidth and the disk speed.
The results are then printed out in the logs, and also sent as part of telemetry, if telemetry is enabled.
--overseer-channel-capacity-override <OVERSEER_CHANNEL_CAPACITY_OVERRIDE>
Overseer message capacity override.
**Dangerous!** Do not touch unless explicitly adviced to.
-h, --help
Print help information (use `-h` for a summary)
-V, --version
Print version information
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment