Skip to content
Snippets Groups Projects
Unverified Commit 0cc3e170 authored by Alexandru Gheorghe's avatar Alexandru Gheorghe Committed by GitHub
Browse files

make polkadot-parachain startup errors pretty (#5214)


The errors on polkadot-parachain are not printed with their full display
context(what is marked with `#[error(`) because main returns plain
Result and the error will be shown in its Debug format, that's not
consistent with how the polkadot binary behave and is not user friendly
since it does not tell them why they got the error.

Fix it by using `color_eyre` as polkadot already does it. 

Fixes: https://github.com/paritytech/polkadot-sdk/issues/5211

## Output before
```
Error: NetworkKeyNotFound("/acala/data/Collator2/chains/mandala-tc9/network/secret_ed25519")
```

## Output after
```
Error: 
   0: Starting an authorithy without network key in /home/alexggh/.local/share/polkadot-parachain/chains/asset-hub-kusama/network/secret_ed25519.
      
       This is not a safe operation because other authorities in the network may depend on your node having a stable identity.
      
       Otherwise these other authorities may not being able to reach you.
      
       If it is the first time running your node you could use one of the following methods:
      
       1. [Preferred] Separately generate the key with: <NODE_BINARY> key generate-node-key --base-path <YOUR_BASE_PATH>
      
       2. [Preferred] Separately generate the key with: <NODE_BINARY> key generate-node-key --file <YOUR_PATH_TO_NODE_KEY>
      
       3. [Preferred] Separately generate the key with: <NODE_BINARY> key generate-node-key --default-base-path
      
       4. [Unsafe] Pass --unsafe-force-node-key-generation and make sure you remove it for subsequent node restarts

```

---------

Signed-off-by: default avatarAlexandru Gheorghe <alexandru.gheorghe@parity.io>
parent f170af61
No related merge requests found
Pipeline #487468 waiting for manual action with stages
in 12 minutes and 5 seconds
......@@ -13845,6 +13845,7 @@ dependencies = [
"bridge-hub-westend-runtime",
"clap 4.5.11",
"collectives-westend-runtime",
"color-eyre",
"color-print",
"contracts-rococo-runtime",
"coretime-rococo-runtime",
......
......@@ -18,6 +18,7 @@ path = "src/main.rs"
async-trait = { workspace = true }
clap = { features = ["derive"], workspace = true }
codec = { workspace = true, default-features = true }
color-eyre = { workspace = true }
color-print = { workspace = true }
futures = { workspace = true }
hex-literal = { workspace = true, default-features = true }
......
......@@ -50,6 +50,7 @@ mod fake_runtime_api;
mod rpc;
mod service;
fn main() -> sc_cli::Result<()> {
command::run()
fn main() -> color_eyre::eyre::Result<()> {
color_eyre::install()?;
Ok(command::run()?)
}
title: make polkadot-parachain startup errors pretty
doc:
- audience: Node Operator
description: |
Changed the format of how polkadot-parachain prints the startup errors to include
the full displayable context.
crates:
- name: polkadot-parachain-bin
bump: minor
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment