Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge 229 into 127 #251

Merged
merged 4 commits into from
Nov 23, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions docs/node/guide/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import InstallIntroPartial from '@site/docs/node/guide/_partials/_install-intro.

## Step 0: Review prerequisites and best practices

import InstallPrereqsPartial from '@site/docs/node/guide/_partials/_install-prereqs.md';
import InstallPrereqsPartial from '@site/docs/node/guide/server/_partials/_install-prereqs.md';

<InstallPrereqsPartial />

Expand All @@ -25,21 +25,21 @@ import InstallPrereqsPartial from '@site/docs/node/guide/_partials/_install-prer
Check out all recommended steps to [configure server](./configure-server.md)
:::

import InstallInitialPartial from '@site/docs/node/guide/_partials/_install-initial.md';
import InstallInitialPartial from '@site/docs/node/guide/server/_partials/_install-initial.md';

<InstallInitialPartial />

## Step 2: Run an Execution client

In this step, you'll install an execution-layer client that the consensus-layer node will connect to.

import RunExecutionNodePartial from '@site/docs/node/guide/_partials/_run-execution-client.md';
import RunExecutionNodePartial from '@site/docs/node/guide/execution/_partials/_run-execution-client.md';

<RunExecutionNodePartial />

## Step 3: Run a Beacon Node

import RunBeaconNodePartial from '@site/docs/node/guide/_partials/_run-consensus-client.md';
import RunBeaconNodePartial from '@site/docs/node/guide/beacon/_partials/_run-consensus-client.md';

<RunBeaconNodePartial />

Expand All @@ -54,7 +54,9 @@ import RunBeaconNodePartial from '@site/docs/node/guide/_partials/_run-consensus

### Step 4a: Generate Validator Keys

import GenerateValidatorKeysPartial from '@site/docs/node/guide/_partials/_generate_validator_keys.md';
import GenerateValidatorKeysPartial from '@site/docs/node/guide/validator/_partials/_generate_validator_keys.md';



<GenerateValidatorKeysPartial />

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

```mdx-code-block

<Tabs groupId="consensus-clients" defaultValue="lighthouse" values={[
{label: 'Lighthouse', value: 'lighthouse'},
{label: 'Lodestar', value: 'lodestar'},
Expand All @@ -10,26 +12,59 @@ import TabItem from '@theme/TabItem';
]}>
<TabItem value="lighthouse">

import InstallLighthousePartial from '@site/docs/node/guide/_partials/_install_cl_lighthouse.md';

<InstallLighthousePartial />
import InstallLighthousePartial from '@site/docs/node/guide/beacon/_partials/_install_cl_lighthouse.md';
<InstallLighthousePartial />

</TabItem>


<TabItem value="lodestar">
<p>WIP</p>
```

:::info

Please refer to [Run a Beacon Node: Lodestar](../lodestar.md)

:::

```mdx-code-block
</TabItem>

<TabItem value="teku">
<p>WIP</p>
```

:::info

Please refer to [Run a Beacon Node: Teku](../teku.md)

:::

```mdx-code-block
</TabItem>

<TabItem value="nimbus">
<p>WIP</p>
```

:::info

Please refer to [Run a Beacon Node: Nimbus](../nimbus.md)

:::

```mdx-code-block
</TabItem>

<TabItem value="prysm">
<p>WIP</p>
```

:::info

Please refer to [Run a Beacon Node: Prysm](../prysm.md)

:::

```mdx-code-block
</TabItem>
```

</Tabs>
2 changes: 1 addition & 1 deletion docs/node/guide/configure-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Some users recommend using [Chrony](https://chrony.tuxfamily.org/) as a [method

### Create JWT

import JwtGenerationPartial from '@site/docs/node/guide/_partials/_jwt-generation-partial.md';
import JwtGenerationPartial from '@site/docs/node/guide/server/_partials/_jwt-generation-partial.md';

<JwtGenerationPartial />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import TabItem from '@theme/TabItem';
]}>
<TabItem value="nethermind">

import InstallNethermindPartial from '@site/docs/node/guide/_partials/_install_el_nethermind.md';
import InstallNethermindPartial from '@site/docs/node/guide/execution/_partials/_install_el_nethermind.md';

<InstallNethermindPartial />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,12 @@ Create the following folder structure on your disk, the entire tutorial will ass
└── 📂 validators/
```

```
mkdir gnosis && cd gnosis && mkdir jwtsectet && mkdir el-client && mkdir cl-client && cd cl-client && mkdir data && mkdir keystores && mkdir validators && cd ..
```shell
$ mkdir gnosis && cd gnosis
$ mkdir jwtsecret && mkdir el-client && mkdir cl-client
$ cd cl-client
$ mkdir data && mkdir keystores && mkdir validators
$ cd ..
```

<Tabs groupId="protocol" defaultValue="jwt" values={[
Expand All @@ -26,12 +30,12 @@ mkdir gnosis && cd gnosis && mkdir jwtsectet && mkdir el-client && mkdir cl-clie

<h3 id="generate-jwt">Generate JWT Secret</h3>

import JwtGenerationPartial from '@site/docs/node/guide/_partials/_jwt-generation-partial.md';
import JwtGenerationPartial from '@site/docs/node/guide/server/_partials/_jwt-generation-partial.md';

<JwtGenerationPartial />

:::info
Place the `jwtsectet` file in the jwtsectet folder, so it can be referenced in the next steps as `../jwtsectet/jwtsecret` from the `cl-client` and `el-client` folders.
:::tip
Place the `jwtsecret` file in the jwtsecret folder, so it can be referenced in the next steps as `../jwtsecret/jwtsecret` from the `cl-client` and `el-client` folders.
:::
</TabItem>
</Tabs>
Expand Down
44 changes: 39 additions & 5 deletions docs/node/guide/validator/_partials/_install-validator.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

```mdx-code-block
<Tabs groupId="consensus-clients" defaultValue="lighthouse" values={[
{label: 'Lighthouse', value: 'lighthouse'},
{label: 'Lodestar', value: 'lodestar'},
Expand All @@ -17,18 +18,51 @@ import InstallLighthouseValidatorPartial from '@site/docs/node/guide/validator/_
</TabItem>

<TabItem value="lodestar">
<p>WIP</p>
```

:::info

Please refer to [Run a Beacon Node: Lodestar](../../run/lodestar.md)

:::

```mdx-code-block
</TabItem>

<TabItem value="nimbus">
<p>WIP</p>
```

:::info

Please refer to [Run a Beacon Node: Nimbus](../../run/nimbus.md)

:::

```mdx-code-block
</TabItem>

<TabItem value="prysm">
<p>WIP</p>
```

:::info

Please refer to [Run a Beacon Node: Prysm](../../run/prysm.md)

:::

```mdx-code-block
</TabItem>

<TabItem value="teku">
<p>WIP</p>
```

:::info

Please refer to [Run a Beacon Node: Teku](../../run/teku.md)

:::

```mdx-code-block
</TabItem>
</Tabs>
</Tabs>
```
25 changes: 17 additions & 8 deletions docs/node/guide/validator/_partials/_verify-validator.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,33 @@

After [depositing](../deposit.md) and [starting your validator](../run.md), you can verify the status of your validators following these steps:


After [depositing](../deposit.md) and [starting your validator](../run), your validator will go through a process of becoming active.

![](/img/node/verify/verify-status.png)
**Image:** Process of Validator Activation

You can verify the status of your validators following these steps:

1. Navigate to the [deposit tool](https://deposit.gnosischain.com) and click on the `Validator Status` tab.

![](/img/node/verify/verify-1.jpg)
<img src="/img/node/verify/verify-1.jpg" width="500" />
<br />

2. Upload your `deposit_data.json` file used during the [deposit](../deposit.md) step.

![](/img/node/verify/verify-2.jpg)
<img src="/img/node/verify/verify-2.jpg" width="500" />
<br />

3. Check the status of all your validators included in the `deposit_data.json` file.

![](/img/node/verify/verify-3.jpg)
<img src="/img/node/verify/verify-3.jpg" width="500" />
<br />

4. Optionally, click on the `import all validators into the Beacon Chain Explorer Dashboard` to see detailed status of your validators.

![](/img/node/verify/verify-4.jpg)

5. The Gnosis [Beacon Chain Explorer](https://beacon.gnosischain.com/) is a fork of the [Ethereum Beaconcha.in](https://beaconcha.in/) explorer. The validator lifecycle and statuses are detailed below:
<img src="/img/node/verify/verify-4.jpg" width="600" />
<br />

![](/img/node/verify/verify-status.png)
5. The Gnosis [Beacon Chain Explorer](https://beacon.gnosischain.com/) is a fork of the [Ethereum Beaconcha.in](https://beaconcha.in/) explorer. d

See more about the validator statuses and [Deposit Process](https://kb.beaconcha.in/ethereum-2.0-depositing) in the Beaconcha.in Knowledge Base.
Original file line number Diff line number Diff line change
Expand Up @@ -13,34 +13,53 @@ import TabItem from '@theme/TabItem';
</TabItem>
</Tabs>


```mdx-code-block
<Tabs className="tabgroup-with-label network-tabgroup" groupId="network" defaultValue="gnosis" values={[
{label: 'Gnosis', value: 'gnosis'},
{label: 'Chiado', value: 'chiado'}
]}>
<TabItem value="gnosis">
<div>
<p>To run a validator, we need to first import the keys generated in the previous step.</p>
<ul>
<li>In a new command line window, navigate to the <code>cl-client</code> folder and execute Lighthouse validator client</li>
<li>
To ease the import process, we will create a <code>password.txt</code> file containing the password used to encrypt the validator keys.
<pre><code>echo 'PLACE_HERE_YOUR_PASSWORD' > keystores/validator_keys/password.txt</code></pre>
</li>
<li>
Import the validator keys using lighthouse:
<pre><code>./lighthouse account_manager validator import --network gnosis --password-file keystores/validator_keys/password.txt --reuse-password --directory keystores/validator_keys --datadir .</code></pre>
</li>
<li>
Start your lighhouse validator:
<pre><code>./lighthouse validator_client --network gnosis --validators-dir validators --enable-doppelganger-protection --graffiti "gnosis-docs-graffiti"</code></pre>
Replace <code>gnosis-docs-graffiti</code> with your <a href="https://lighthouse-book.sigmaprime.io/graffiti.html" target="_blank">graffiti</a>.
Learn more about the <a href="https://lighthouse-book.sigmaprime.io/validator-doppelganger.html" target="_blank"><code>enable-doppelganger-protection</code></a> flag in Lighthouse docs.
</li>
</ul>
</div>
</TabItem>
```
To run a validator, we need to first import the keys generated in the previous step.

* In a new command line window, navigate to the `cl-client` folder and execute Lighthouse validator client
* To ease the import process, we will create a `password.txt` file containing the password used to encrypt the validator keys.

```shell
echo 'PLACE_HERE_YOUR_PASSWORD' > keystores/validator_keys/password.txt
```

* Import the validator keys using lighthouse:

```shell
./lighthouse account_manager validator import \
--network gnosis \
--password-file keystores/validator_keys/password.txt \
--reuse-password \
--directory keystores/validator_keys \
--datadir .
```

* Start your lighhouse validator:

```shell
./lighthouse validator_client
--network gnosis
--validators-dir validators
--enable-doppelganger-protection
# highlight-start
--graffiti "gnosis-docs-graffiti" # Change this value
# highlight-end
```

Replace `gnosis-docs-graffiti` with your [graffiti](https://lighthouse-book.sigmaprime.io/graffiti.html). Learn more about the [`enable-doppelganger-protection`](https://lighthouse-book.sigmaprime.io/validator-doppelganger.html) flag in Lighthouse docs.


```mdx-code-block
</TabItem>
<TabItem value="chiado">
<div data-comment="TODO: document chiado validation process"></div>
</TabItem>
```

</Tabs>
2 changes: 1 addition & 1 deletion docs/node/guide/validator/generate-keys.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ title: Generate Validator Keys

Select the Operating System and follow the instructions:

import GenerateValidatorKeysPartial from '@site/docs/node/guide/_partials/_generate_validator_keys.md';
import GenerateValidatorKeysPartial from '@site/docs/node/guide/validator/_partials/_generate_validator_keys.md';

<GenerateValidatorKeysPartial />