Skip to content

Commit

Permalink
update solv3 document
Browse files Browse the repository at this point in the history
  • Loading branch information
POPPIN-FUMI committed Jan 30, 2024
1 parent 4cc792e commit 3d3cc73
Show file tree
Hide file tree
Showing 16 changed files with 559 additions and 180 deletions.
12 changes: 11 additions & 1 deletion articles/doc/en/quickstart/start-solv.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,17 @@ _If you're participating as a testnet validator, you'll need approximately 500 T
$ solv setup
```

![](https://storage.googleapis.com/zenn-user-upload/949db29fc401-20240131.png)

This time select

`TESTNET_VALIDATOR`, `MAINNET_VALIDATOR`, or `RPC_NODE`.

Then

After startup, the snapshot download will start automatically.
The Solana validator will start 🎊

### Solana Delegation Program

https://solana.org/delegation-program
Expand Down Expand Up @@ -117,7 +128,6 @@ Commands:
log|l [options] tail logs
install|i [options] Install/Update Solana Version
stake Solana Delegate Stake
check Check Solana Validator
get <cmd> Get Solana Validator Info
scp <cmd> Download/Upload Solana Validator Keypairs
cron <cmd> Run Schedule Tasks
Expand Down
96 changes: 60 additions & 36 deletions articles/doc/en/tutorial/chapter1.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ In this chapter, we take the first steps towards success as a Solana validator.

First, we’ll learn about the recommended environment settings for Solana validators. Next, we introduce how to install solv CLI and explain how to create the necessary keys for a Solana validator. We also touch upon the rewards for validators in the Solana Testnet and preparing SOL for use in the testnet.

(\* Added & updated on 2024/01/30 - Supports mainnet RPC nodes 🎊)

https://solv.epics.dev/en/doc/tutorial/chapter5

The content of this chapter includes concrete steps starting from how to connect to the server, install solv, update settings, and finally set up solv. We also provide guidance on how to check real logs, download snapshots, and guide you to solv hands-on videos on YouTube. Through this chapter, you will acquire the knowledge and tools needed to confidently embark on your journey as a Solana validator.

📗 Official solv Documentation:
Expand Down Expand Up @@ -45,43 +49,42 @@ Minimum SOL Requirements
| Reserve for the voting account needed for consensus | 0.02685864 SOL |
| Cost of sending a vote transaction per block | Up to 1.1 SOL/day |

CPU
#### CPU

- 12 cores / 24 threads or more
- Base clock speed: 2.8GHz or higher
- 12 cores/24 threads or more
- 2.8GHz base clock speed or higher
- Support for SHA extension instructions (AMD Gen 3 and later/Intel Ice Lake and later)

RAM
#### RAM

- 256GB or more
- Motherboard capacity of 512GB or more recommended

Disk
- 512GB capacity motherboard recommended

- PCIe Gen3 x4 NVME SSD or better
- For accounts: 500GB or more, with high TBW (Total Bytes Written) support
- For ledger: 1TB or more, high TBW recommended
- For OS (optional): 500GB or more, SATA acceptable
#### Disc

CPU
- PCIe Gen3 x4 NVME SSD or later
- Accounts: 500GB or more. High TBW (total bytes written)
- Ledger: 1TB or more. High TBW recommended
- OS: (Optional) 500GB or more. SATA OK
_The OS may be installed on the ledger disk, but testing has shown that placing the ledger on its own disk provides better performance._
_Although it is possible to store accounts and ledgers on the same disk, this is not recommended due to high IOPS._
_Samsung 970 and 980 Pro series SSDs are popular in the verification community_

- 16 cores / 32 threads or more
#### GPU

RAM

- If using account indexes: 512GB or more
Not needed at this time

Here is the detailed link.

Minimum Requirements
Minimum requirements

https://docs.solana.com/running-validator/validator-reqs

https://docs.solana.com/running-validator/validator-reqs

## 🔧 Installing solv CLI

First, install `solv CLI` in your local environment.

### 📦 If `npm` is not installed on your local computer

With the following one-liner command, you can install:

- `solana CLI`
Expand All @@ -93,31 +96,39 @@ With the following one-liner command, you can install:
sh -c "$(curl -sSfL "https://storage.googleapis.com/epics-bucket/resource/solv-cli/v3.0.0/install")"
```

### ✅ If `npm` is already installed on your local computer.
## Running solv CLI

```bash
npm i -g @epics-dao/solv
solv c
```

Next, install solana.

```bash
solv i
```
![Generate Keys](https://storage.googleapis.com/epics-bucket/solv/assets/generate-keys.png)

## 🔑 Creating Necessary Keys for Solana Validators

The following command will create four keys:
Start the solv client and

Choose: `3) Generate Validator Keyfiles`

```bash
solv setup --key
✅ Successfully Generated - ~/solvKeys/upload/testnet-validator-keypair.json
✅ Successfully Generated - ~/solvKeys/upload/mainnet-validator-keypair.json
✅ Successfully Generated - ~/solvKeys/upload/testnet-vote-account-keypair.json
✅ Successfully Generated - ~/solvKeys/upload/testnet-authority-keypair.json
Generated keypairs - /Users/fumi/solvKeys/upload
Config File: /Users/fumi/.config/solana/cli/config.yml
RPC URL: https://api.mainnet-beta.solana.com
WebSocket URL: wss://api.mainnet-beta.solana.com/ (computed)
Keypair Path: /Users/fumi/solvKeys/upload/mainnet-validator-keypair.json
Commitment: confirmed
Updated /Users/fumi/solv.config.json with new values.
```

The addresses for each key will be displayed in the log, so it's helpful to take note of them for future reference 💡
Six keys will be created in the `~/solvKeys` directory as shown below.
Please use different keys as necessary.

```bash
ls ~/solvKeys/upload
mainnet-authority-keypair.json testnet-authority-keypair.json
mainnet-validator-keypair.json testnet-validator-keypair.json
mainnet-vote-account-keypair.json testnet-vote-account-keypair.json
```

## 💰 Rewards for Solana Testnet Validators

Expand Down Expand Up @@ -194,7 +205,7 @@ $ ssh username@<your-server-ip-address>

## 🚀 Step 1 - Installing solv

![](https://storage.googleapis.com/zenn-user-upload/a22b0f8a1bf9-20231110.png)
![](https://storage.googleapis.com/epics-bucket/solv/assets/solv-top-en.png)

Next, copy and paste the code from Step 1 on the solv documentation page and execute it.

Expand Down Expand Up @@ -227,7 +238,19 @@ Finally, execute the code for Step 3 to complete the setup!
$ solv setup
```

With this, the Solana validator has been successfully launched 🎊
This time, select `TESTNET_VALIDATOR`.

Supported mainnet RPC_NODE from solv3.
For this, please refer to Chapter 5 on how to build a Solana RPC node.

https://solv.epics.dev/en/doc/tutorial/chapter5/

After startup, the snapshot download will start automatically.
The Solana validator will start 🎊

Do not actually use the key created in this flow, but replace it with the key created from the solv client.

Once you have stopped the server, please refer to the next chapter 2 for uploading the key.

## 📜 Checking Logs

Expand Down Expand Up @@ -265,3 +288,4 @@ In the next chapter, we will discuss how to exchange and update the keys.

YouTube: "Launch a Solana Validator in 3 Steps! Easily and Effortlessly Operate a Blockchain Validator on Edgevana using solv" - Now supports TDS 🎉
https://www.youtube.com/watch?v=7nloPjyrk_8
(The content of this video is the previous version of solv2 or lower.)
87 changes: 53 additions & 34 deletions articles/doc/en/tutorial/chapter2.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@ title: 'Chapter 2: 🔐🚚 The Complete Guide to Security and Transfer — Safe
description: In this chapter, we will explain in detail how to safely manage secret keys.We provide practical guidelines on how to back up keys, securely exchange them, and the restart process in emergencies.
---

※ This content is outdated, up to Version 2, and is currently being rewritten for Version 3. If you have any questions, please visit the Epics DAO official Discord server.

https://discord.gg/Z8M8rZeX8R

Security is at the core of validator operations. In this chapter, we will explain in detail how to safely manage secret keys. We provide practical guidelines on how to back up keys, securely exchange them, and the restart process in emergencies. We also focus on the latest security measures to ensure our readers can continue their validator operations with confidence.

## 🗝️ Creating SSH Keys - Building a Strong Access Foundation
Expand Down Expand Up @@ -64,59 +60,76 @@ su solv
cd ~ && source ~/.profile
```

Next, set up the SSH connection with the following command.
Next, launch the dashboard with solv s.

```bash
solv scp create
? Enter your SSH Public Key (xxxxxxxpubkeyxxxxxxxx)
solv s
```

Paste the SSH public key you copied earlier here.
This completes the connection setup between your local computer and the validator node.
![](https://storage.googleapis.com/epics-bucket/solv/assets/backup-keys.png)

## 📦 Key Backup (Validator Node → Local Computer)
`4) Key backup/restore`

In this step, we will introduce how to back up keys from the `validator node` to your `local computer`. The following four keys located in the `/home/solv` directory will be downloaded:
After selecting

- `/home/solv/mainnet-validator-keypair.json`
- `/home/solv/testnet-validator-keypair.json`
- `/home/solv/testnet-vote-account-keypair.json`
- `/home/solv/testnet-authority-keypair.json`
`1) Back up the validator key`

※ If you are uploading keys from your `local computer` to the `validator node`, please skip this step.
Choose.

Execute the following command from your local computer. Please enter the IP address of your validator node server.
Now paste the SSH public key you copied above.
The connection settings between the local computer and the validator node are now complete.

```bash
solv scp download
? Enter your Ubuntu Server IP (1.1.1.1)
✅ Successfully Generated - ~/solvKeys/download/testnet-validator-keypair.json
✅ Successfully Generated - ~/solvKeys/download/mainnet-validator-keypair.json
✅ Successfully Generated - ~/solvKeys/download/testnet-vote-account-keypair.json
✅ Successfully Generated - ~/solvKeys/download/testnet-authority-keypair.json
## 🔀 Key Exchange (Local Computer → Validator Node)

Next, launch the solv client from your local computer.

```
solv c
```
The keys have been saved in the `~/solvKeys/download` directory 🎉
It is recommended to keep these keys safe and back them up on a USB disk or similar storage device.
![](https://storage.googleapis.com/epics-bucket/solv/assets/download-keys.png)
## 🔀 Key Exchange (Local Computer → Validator Node)
`4) Upload validator key`
Execute the following command from your local computer and enter the IP address of the validator node.
and enter the IP of the validator node displayed above.
`~/solvKeys/upload`
All keys created in the previous chapters will be uploaded to the
The keys created in all chapters are
`~/solvKeys/upload`
`/home/solv/`
will be uploaded to the directory.
(\*If a file with the same name exists, it will be overwritten, so we recommend that you make a backup.)
## 📦 Key Backup (Validator Node → Local Computer)
In this step, we will introduce how to back up keys from the `validator node` to your `local computer`.
The following four keys located in the `/home/solv` directory will be downloaded:
Start the solv client.
```bash
solv c
```

![](https://storage.googleapis.com/epics-bucket/solv/assets/upload-keys.png)

`2) Download validator key`

directory.
(Note: It is recommended to always take a backup as existing files with the same name will be overwritten.)
and enter the validator node server IP displayed above as well.

```bash
solv scp upload
? Enter your Ubuntu Server IP (1.1.1.1)
✅ Successfully Generated - ~/solvKeys/download/testnet-validator-keypair.json
✅ Successfully Generated - ~/solvKeys/download/mainnet-validator-keypair.json
✅ Successfully Generated - ~/solvKeys/download/testnet-vote-account-keypair.json
✅ Successfully Generated - ~/solvKeys/download/testnet-authority-keypair.json
```

The keys have been saved in the `~/solvKeys/download` directory 🎉
It is recommended to keep these keys safe and back them up on a USB disk or similar storage device.

## 🔍 Finding Keys

If you are not sure whether you have backed up all the keys, you can use the `solv scp search` command to find them.
Expand Down Expand Up @@ -163,7 +176,7 @@ If you see `ready to restart` in the logs, the update has been completed success
If you want to skip monitoring, you can complete the update with:

```bash
solv update -b
solv update && solv update -b
```

If you decide to monitor later, you can check with the following command:
Expand All @@ -172,4 +185,10 @@ If you decide to monitor later, you can check with the following command:
solv get monitor
```

To display the difference up to the current slot, enter the following command:

```bash
solv get catchup
```

In the next chapter, we will introduce how to monitor validator nodes in a serverless environment.
18 changes: 1 addition & 17 deletions articles/doc/en/tutorial/chapter4.md
Original file line number Diff line number Diff line change
Expand Up @@ -484,20 +484,4 @@ While a simple setup may suffice in the early stages, as your project grows, con
For instructions on how to configure a load balancer and Google Cloud Armor, please refer to the following link:
https://skeet.dev/en/doc/skeet-firestore/initial-deploy/
## 🎉 Conclusion: Completing the Journey as a Solana Validator and an Invitation to the EpicsDAO Community
Through this book, we have provided a comprehensive guide for walking the path as a validator on the Solana network. We aimed to clearly explain all the steps from setting up to operating and updating a Solana validator, from beginners to advanced users, so that each reader could acquire the knowledge and tools necessary for success in this field.
Particularly important is the introduction of an open-source tool called 'solv'. This tool has significantly simplified the setup and operation of Solana validators, making the process quicker and more efficient. From secure secret key management to efficient node reconstruction, this book will be a solid support for you to thrive as a Solana validator.
The journey from Chapter 1 to Chapter 4 is not just about technical learning; it is a significant step towards forging the future of blockchain. With this book in hand, you become a part of the Solana network, capable of creating new value and contributing to the evolution of blockchain technology.
Now that you have completed this guide, we recommend joining the EpicsDAO Discord channel for further interaction and learning. Here, like-minded developers gather to share experiences and knowledge, supporting each other. Your step forward will carve a new chapter in the future of blockchain.
Invitation link to the EpicsDAO Discord channel:
https://discord.gg/jZQ33byATb
Let's learn and grow together, exploring the possibilities of new projects. We look forward to your participation.
https://skeet.dev/en/doc/skeet-firestore/initial-deploy/
Loading

0 comments on commit 3d3cc73

Please sign in to comment.