Skip to content

Commit

Permalink
Merge pull request #668 from lukso-network/update-node
Browse files Browse the repository at this point in the history
Update node guides
  • Loading branch information
fhildeb authored Oct 11, 2023
2 parents 5c4bfb1 + 81ae8fa commit 40f4920
Show file tree
Hide file tree
Showing 4 changed files with 136 additions and 18 deletions.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Most validator nodes on the LUKSO mainnet are running with Geth and Prysm. Node

:::

## Switching from Prysm to Lighthouse
## Switching from Prysm to Lighthouse or Teku

:::caution Validator Keys

Expand All @@ -39,9 +39,9 @@ If you configured custom services on top of the LUKSO CLI, please use your servi

:::

:::tip
:::warning

The name of the directory `myLUKSOnode/` can be changed in the examples below.
In the examples below, the name `myLUKSOnode` has to be changed to your node directory's name.

:::

Expand Down Expand Up @@ -91,13 +91,7 @@ After the initialization is successful, we must install the new blockchain clien

:::tip

It is recommended to use Erigon and Lighthouse clients to address both client majorities at once.

:::

:::info

After the installation has been successful, you can continue importing your validator keys into the new validator wallet that will be used within Lighthouse. You will be asked to set a new wallet password to safely store the imported deposit keys. Further, you must input your password for the deposit keys to be encrypted and added to the wallet.
To balance the network, it is recommended to use Erigon as execution and Lighthouse or Teku as consensus clients.

:::

Expand All @@ -107,7 +101,7 @@ $ lukso install

#### Importing Validator Keys

After the installation has been successful, you can continue importing your validator keys into the new validator wallet that will be used within Lighthouse. You will be asked to set a new wallet password to store the imported deposit keys safely. Further, you will have to input your password for the deposit keys, so that they can be encrypted and added to the wallet.
After the installation has been successful, you can continue importing your validator keys into the new validator wallet that will be used within the new consensus client. You will be asked to set a new wallet password to store the imported deposit keys safely. Further, you will have to input your password for the deposit keys, so that they can be encrypted and added to the wallet.

```bash
$ lukso validator import --validator-keys "./path/to/your/keys/folder"
Expand Down Expand Up @@ -138,6 +132,8 @@ In case you did any modifications to your configuration files, such as:

Please add them again and ensure these are in the correct format before starting your node.

You can follow the [extended node guide](https://github.com/fhildeb/lukso-node-guide/blob/main/6-blockchain-clients/README.md) or list of [further reads](../mainnet/running-a-node.md/#further-reads) for more information.

:::

:::caution
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@ Please check your current LUKSO CLI version to determine your update process.
$ lukso version
```

This guide will lead you through updating to **LUKSO CLI Version 0.8**
This guide will lead you through updating the LUKSO CLI to the **latest version**.

## Update the LUKSO CLI

Updating your node is similar to the installing process, while keeping your previous keystore data. If you already have the **latest LUKSO CLI version** and **network configs**, you can also just update your [blockchain clients](#updating-the-blockchain-clients).

<Tabs>
<TabItem value="update-v6" label="Update from Version 0.6">
<TabItem value="update-v6" label="Update from Version 0.6 or below">

#### Stop your Node

Expand All @@ -41,9 +41,9 @@ If you configured custom services on top of the LUKSO CLI, please use your servi

:::

:::tip
:::warning

The name of the directory `myLUKSOnode/` can be changed in the examples below.
In the examples below, the name `myLUKSOnode` has to be changed to your node directory's name.

:::

Expand Down Expand Up @@ -82,6 +82,9 @@ $ sudo pkill validator

# Stop the Lighthouse and Lighthouse Validator clients
$ sudo pkill lighthouse

# Stop the Teku and Teku Validator clients
$ sudo pkill teku
```

#### Create a new Working Directory
Expand Down Expand Up @@ -163,6 +166,8 @@ In case you did any modifications to your configuration files, such as:

Please add them once again and make sure that these are in the correct format before starting your node.

You can follow the [extended node guide](https://github.com/fhildeb/lukso-node-guide/blob/main/6-blockchain-clients/README.md) or list of [further reads](../mainnet/running-a-node.md/#further-reads) for more information.

:::

:::caution
Expand Down Expand Up @@ -227,7 +232,7 @@ After your node has finalized the synchronization with the network, you can remo
:::

</TabItem>
<TabItem value="update-v7-or-above" label="Update from Version 0.7 or above">
<TabItem value="update-v7" label="Update from Version 0.7">

#### Stop your Node

Expand All @@ -237,6 +242,12 @@ If you configured custom services on top of the LUKSO CLI, please use your servi

:::

:::warning

In the examples below, the name `myLUKSOnode` has to be changed to your node directory's name.

:::

Move into your node's working directory.

```bash
Expand Down Expand Up @@ -320,6 +331,8 @@ In case you did any modifications to your configuration files, such as:

Please add them again and ensure these are in the correct format before starting your node.

You can follow the [extended node guide](https://github.com/fhildeb/lukso-node-guide/blob/main/6-blockchain-clients/README.md) or list of [further reads](../mainnet/running-a-node.md/#further-reads) for more information.

:::

:::caution
Expand Down Expand Up @@ -384,6 +397,109 @@ After your node has finalized the synchronization with the network, you can remo
:::

</TabItem>

<TabItem value="update-v8-or-above" label="Update from Version 0.8 or above">

#### Stop your Node

:::caution

If you configured custom services on top of the LUKSO CLI, please use your service commands to stop your node.

:::

:::warning

In the examples below, the name `myLUKSOnode` has to be changed to your node directory's name.

:::

Move into your node's working directory.

```bash
$ cd myLUKSOnode
```

Make sure to stop all processes of the blockchain node.

```bash
$ lukso stop
```

Afterward, you can check if your node stopped correctly.

```bash
$ lukso status
```

#### Update the LUKSO CLI

Re-install the LUKSO CLI to your system. You will be asked to overwrite the current version.

```bash
$ curl https://install.lukso.network | sh
```

Make sure to check the downloaded version again to ensure that the update was successful.

```bash
$ lukso version
```

#### Restart your Node

You can start your node as regular. If you run a validator, please adjust your flags or the recipient address.

Start up your node using checkpoint synchronization to reduce your downtime while synchronizing with the network significantly. Fast synchronization speeds are essential if you run a validator node to avoid losing stake.

Your node will begin syncing from a recently finalized consensus checkpoint instead of genesis. It will then download the rest of the blockchain data while your consensus is already running. After the synchronization is finalized, you will end up with the equal blockchain data.

> You can use the flag on every startup. However, it shows the most significant effect when synchronizing from scratch or after an extended downtime.
<Tabs>
<TabItem value="checkpoint-sync" label="Checkpoint Synchronization">

:::info

If you are setting up a node for the testnet, add the `--testnet` flag to the start command.

:::

```sh
# Starting the Mainnet Node
$ lukso start --checkpoint-sync

# Starting the Mainnet Validator
$ lukso start --validator --transaction-fee-recipient "0x1234" --checkpoint-sync
```

</TabItem>
<TabItem value="regular-sync" label="Regular Synchronization">

:::caution

The normal synchronization process will take multiple hours for the node to finalize. It is not recommended if you are running a validator.

:::

:::info

If you are setting up a node for the testnet, add the `--testnet` flag to the start command.

:::

```bash
# Starting the Mainnet Node
$ lukso start

# Starting the Mainnet Validator
$ lukso start --validator --transaction-fee-recipient "0x1234"
```

</TabItem>
</Tabs>

</TabItem>
</Tabs>

## Update the Blockchain Clients
Expand All @@ -398,6 +514,12 @@ If you configured custom services on top of the LUKSO CLI, please use your servi

:::

:::warning

In the examples below, the name `myLUKSOnode` has to be changed to your node directory's name.

:::

Move into your node's working directory.

```bash
Expand Down
4 changes: 2 additions & 2 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,11 @@ module.exports = {
},
{
from: '/guides/network/update-the-node',
to: '/networks/network/update-the-node',
to: '/networks/network-guides/update-the-node',
},
{
from: '/guides/network/switch-consensus-clients',
to: '/networks/network/switch-consensus-clients',
to: '/networks/network-guides/switch-consensus-clients',
},
{
from: '/contracts/key-manager',
Expand Down

0 comments on commit 40f4920

Please sign in to comment.