Skip to content
This repository was archived by the owner on Mar 23, 2024. It is now read-only.

Commit 7aad934

Browse files
author
fbockaj
committed
Add FAQ
1 parent efc741f commit 7aad934

File tree

2 files changed

+47
-6
lines changed

2 files changed

+47
-6
lines changed

README.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ SignCTRL is a high availability solution for Tendermint that enables the creatio
1010
1111
## Why SignCTRL?
1212

13-
1) Built-in double-signing protection.
14-
2) Very lightweight due to not introducing any additional communication overhead for coordination work.
15-
3) No more sentry nodes are needed, as the validators in the set back each other up.
16-
4) A minimal setup requires only two nodes to be run.
13+
1) Built-in double-signing protection
14+
2) Very lightweight (no additional communication overhead for coordination work)
15+
3) No more sentry nodes are needed, as the validators in the set back each other up
16+
4) Minimal setup requires only two nodes
1717

1818
## Requirements
1919

@@ -25,7 +25,7 @@ SignCTRL is a high availability solution for Tendermint that enables the creatio
2525
Get the repository via
2626

2727
```shell
28-
$ git clone https://github.com/BlockscapeNetwork/signctrl && cd signctrl
28+
$ git clone https://github.com/BlockscapeNetwork/signctrl
2929
```
3030

3131
## Build & Install
@@ -45,7 +45,8 @@ $ make install
4545

4646
## Getting Started
4747

48-
To get started, please see the [Guides/Tutorials](docs/guides/README.md).
48+
To get started, please see the [Guides/Tutorials](docs/guides/README.md).</br>
49+
If you get stuck, see the [FAQ](docs/core/faq.md).
4950

5051
## Documentation
5152

docs/core/faq.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Freqeuently Asked Questions
2+
3+
**How can I use my existing keypair with SignCTRL?**
4+
5+
Just copy and paste your `priv_validator_key.json` and `priv_validator_state.json` into your SignCTRL configuration directory.
6+
7+
**What are pitfalls I need to watch out for?**
8+
9+
The biggest pitfall for SignCTRL is the misconfiguration of the validator's ranks. Before starting any validator in the set, **always** make sure no two validators are assigned to the same `start_rank`. Other than that, there is nothing more to watch out for.
10+
11+
**Which order should I start my validators in?**
12+
13+
It doesn't matter which order you start your validators in. Starting ranks `2..n` prior to rank `1` is just as safe to do as vice-versa because ranks `2..n` will always wait for rank `1` to sign at least one block before they start counting blocks missed in a row.
14+
15+
**How do I update the SignCTRL binary?**
16+
17+
Follow the [Upgrade Guide](../guides/upgrade.md).
18+
19+
**How do I update my validator's binary?**
20+
21+
1) Stop the validator daemon.
22+
2) Wait for SignCTRL to try redialing the validator (`retry_dial_after` in the `config.toml`).
23+
3) Start the validator daemon.
24+
25+
**How do I migrate from my existing setup to SignCTRL?**
26+
27+
Follow the [Migration Guide](../guides/migrate.md).
28+
29+
**How can I add/remove validators to/from the SignCTRL set?**
30+
31+
At this point in time, it's not possible to add or remove validator's to/from the set on the fly.
32+
33+
**SignCTRL immediately shuts itself down when I try to start it.**
34+
35+
This is a protection mechanism rooted in the `signctrl_state.json` file. It protects against launching a validator with an rank that has been rendered obsolete by a rank update in the set, which is the case if the requested height differs more than `threshold+1` from the last height persisted in the state file. In order to fix this, please follow the steps below.
36+
37+
1) Check each validator's rank via `signctrl status`, i.e. validator 1 is ranked 1st and validator 2 us ranked 3rd, which means that rank 2 is free.
38+
2) Update the validator's `start_rank` in the `config.toml` to the free rank.
39+
3) Delete the `signctrl_state.json` file.
40+
4) Start SignCTRL.

0 commit comments

Comments
 (0)