Clean up TdS/validator docs (#9638)

This commit is contained in:
Michael Vines 2020-04-21 16:59:09 -07:00 committed by GitHub
parent 45ff1f2379
commit 5b8d963ee2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 172 additions and 450 deletions

View File

@ -22,6 +22,7 @@
* [Offline Signing](offline-signing/README.md)
* [Durable Transaction Nonces](offline-signing/durable-nonce.md)
* [Command-line Reference](cli/usage.md)
* [Solana Clusters](clusters.md)
* [Develop Applications](apps/README.md)
* [Example: Web Wallet](apps/webwallet.md)
* [Example: Tic-Tac-Toe](apps/tictactoe.md)
@ -29,6 +30,13 @@
* [Anatomy of a Transaction](transaction.md)
* [JSON RPC API](apps/jsonrpc-api.md)
* [JavaScript API](apps/javascript-api.md)
* [Run a Validator](running-validator/README.md)
* [Validator Requirements](running-validator/validator-reqs.md)
* [Start a Validator](running-validator/validator-start.md)
* [Stake](running-validator/validator-stake.md)
* [Monitor a Validator](running-validator/validator-monitor.md)
* [Publish Validator Info](running-validator/validator-info.md)
* [Troubleshoot](running-validator/validator-troubleshoot.md)
* [Participate in Tour de SOL](tour-de-sol/README.md)
* [Useful Links & Discussion](tour-de-sol/useful-links.md)
* [Registration](tour-de-sol/registration/README.md)
@ -39,24 +47,9 @@
* [Registration FAQ](tour-de-sol/registration/validator-registration-and-rewards-faq.md)
* [Participation](tour-de-sol/participation/README.md)
* [Requirements to run a validator](tour-de-sol/participation/validator-technical-requirements.md)
* [Steps to create a validator](tour-de-sol/participation/steps-to-create-a-validator/README.md)
* [Install the Solana software](tour-de-sol/participation/steps-to-create-a-validator/install-the-solana-software.md)
* [Create a validator public key](tour-de-sol/participation/steps-to-create-a-validator/validator-public-key-registration.md)
* [Create and configure a Solana validator](tour-de-sol/participation/steps-to-create-a-validator/connecting-your-validator.md)
* [Confirm the Solana network is running](tour-de-sol/participation/steps-to-create-a-validator/confirm-the-solana-network-is-running.md)
* [Connect to the Solana network](tour-de-sol/participation/steps-to-create-a-validator/connect-to-the-solana-network.md)
* [Validator catch-up](tour-de-sol/participation/steps-to-create-a-validator/monitoring-your-validator.md)
* [Staking](tour-de-sol/participation/steps-to-create-a-validator/delegating-stake.md)
* [Publish information about your validator](tour-de-sol/participation/steps-to-create-a-validator/publishing-information-about-your-validator.md)
* [Dry Run 6](tour-de-sol/participation/dry-run-6.md)
* [Create a validator public key](tour-de-sol/participation/validator-public-key-registration.md)
* [Steps to create a validator](tour-de-sol/participation/steps-to-create-a-validator.md)
* [Submit Bug Reports](tour-de-sol/submitting-bugs.md)
* [Run a Validator](running-validator/README.md)
* [Validator Requirements](running-validator/validator-reqs.md)
* [Start a Validator](running-validator/validator-start.md)
* [Stake](running-validator/validator-stake.md)
* [Monitor a Validator](running-validator/validator-monitor.md)
* [Publish Validator Info](running-validator/validator-info.md)
* [Troubleshoot](running-validator/validator-troubleshoot.md)
* [Benchmark a Cluster](cluster/bench-tps.md)
* [Performance Metrics](cluster/performance-metrics.md)
* [Solana's Architecture](cluster/README.md)

View File

@ -1,60 +1,9 @@
# Connecting to a Cluster
See [Solana Clusters](../clusters.md) for general information about the
available clusters.
Solana maintains several different clusters with different purposes. Each
cluster features a Solana-run gossip node that serves as an entrypoint to the
cluster.
## Before you Begin
- Make sure you have first
[installed the Solana command line tools](install-solana-cli-tools.md)
## Choose a Cluster
#### Mainnet Beta
A permissionless, persistent cluster for early token holders and launch partners.
No smart contracts or inflation.
* Tokens that are issued on Mainnet Beta are **real** SOL
* If you have paid money to purchase/be issued tokens, such as through our
CoinList auction, these tokens will be transferred on Mainnet Beta.
* Note: If you are using a non-command-line wallet such as
[Trust Wallet](../wallet/trust-wallet.md),
the wallet will always be connecting to Mainnet Beta.
* Gossip entrypoint for Mainnet Beta: `mainnet-beta.solana.com:8001`
* RPC URL for Mainnet Beta: `https://api.mainnet-beta.solana.com`
#### Devnet
* Devnet serves as a playground for anyone who wants to take Solana for a
test drive, as a user, token holder, app developer, or validator.
* Application developers should target Devnet.
* Potential validators should first target Devnet.
* Key differences between Devnet and Mainnet Beta:
* Devnet tokens are **not real**
* Devnet includes a token faucet for airdrops for application testing
* Devnet may be subject to ledger resets
* Devnet typically runs a newer software version than Mainnet Beta
* Devnet may be maintained by different validators than Mainnet Beta
* Gossip entrypoint for Devnet: `devnet.solana.com:8001`
* RPC URL for Devnet: `https://devnet.solana.com`
#### Testnet (Tour de SOL Cluster)
* Testnet is where we stress test recent release features on a live
cluster, particularly focused on network performance, stability and validator
behavior.
* [Tour de SOL](../tour-de-sol/README.md) initiative runs on Testnet, where we
encourage malicious behavior and attacks on the network to help us find and
squash bugs or network vulnerabilities.
* Testnet tokens are **not real**
* Testnet may be subject to ledger resets.
* Testnet typically runs a newer software release than both Devnet and
Mainnet Beta
* Testnet may be maintained by different validators than Mainnet Beta
* Gossip entrypoint for Testnet: `testnet.solana.com:8001`
* RPC URL for Testnet: `https://testnet.solana.com`
## Configure the Command-line
You can check what cluster the Solana CLI is currently targeting by
## Configure the command-line tool
You can check what cluster the Solana command-line tool (CLI) is currently targeting by
running the following command:
```bash
@ -65,21 +14,11 @@ Use `solana config set` command to target a particular cluster. After setting
a cluster target, any future subcommands will send/receive information from that
cluster.
##### Targetting Mainnet Beta
```bash
solana config set --url https://api.mainnet-beta.solana.com
```
##### Targetting Devnet
For example to target the Devnet cluster, run:
```bash
solana config set --url https://devnet.solana.com
```
##### Targetting Testnet
```bash
solana config set --url https://testnet.solana.com
```
## Ensure Versions Match
Though not strictly necessary, the CLI will generally work best when its version

View File

@ -129,4 +129,4 @@ In this example the client connects to our public testnet. To run validators on
$ NDEBUG=1 ./multinode-demo/bench-tps.sh --entrypoint devnet.solana.com:8001 --faucet devnet.solana.com:9900 --duration 60 --tx_count 50
```
You can observe the effects of your client's transactions on our [dashboard](https://metrics.solana.com:3000/d/testnet/testnet-hud?orgId=2&from=now-30m&to=now&refresh=5s&var-testnet=testnet)
You can observe the effects of your client's transactions on our [metrics dashboard](https://metrics.solana.com:3000/d/monitor/cluster-telemetry?var-testnet=devnet)

119
docs/src/clusters.md Normal file
View File

@ -0,0 +1,119 @@
# Solana Clusters
Solana maintains several different clusters with different purposes.
Before you begin make sure you have first
[installed the Solana command line tools](cli/install-solana-cli-tools.md)
Explorers:
* [http://explorer.solana.com/](https://explorer.solana.com/).
* [http://solanabeach.io/](http://solanabeach.io/).
## Devnet
* Devnet serves as a playground for anyone who wants to take Solana for a
test drive, as a user, token holder, app developer, or validator.
* Application developers should target Devnet.
* Potential validators should first target Devnet.
* Key differences between Devnet and Mainnet Beta:
* Devnet tokens are **not real**
* Devnet includes a token faucet for airdrops for application testing
* Devnet may be subject to ledger resets
* Devnet typically runs a newer software version than Mainnet Beta
* Devnet may be maintained by different validators than Mainnet Beta
* Gossip entrypoint for Devnet: `devnet.solana.com:8001`
* RPC URL for Devnet: `https://devnet.solana.com`
##### Example `solana` command-line configuration
```bash
solana config set --url https://devnet.solana.com
```
##### Example `solana-validator` command-line
```bash
$ solana-validator \
--identity ~/validator-keypair.json \
--vote-account ~/vote-account-keypair.json \
--trusted-validator 47Sbuv6jL7CViK9F2NMW51aQGhfdpUu7WNvKyH645Rfi \
--no-untrusted-rpc \
--ledger ~/validator-ledger \
--rpc-port 8899 \
--dynamic-port-range 8000-8010
--entrypoint devnet.solana.com:8001 \
--expected-genesis-hash HzyuivuNXMHJKjM6q6BE2qBsR3etqW21BSvuJTpJFj9A \
--expected-shred-version 61357 \
--limit-ledger-size
```
## Testnet
* Testnet is where we stress test recent release features on a live
cluster, particularly focused on network performance, stability and validator
behavior.
* [Tour de SOL](../tour-de-sol/README.md) initiative runs on Testnet, where we
encourage malicious behavior and attacks on the network to help us find and
squash bugs or network vulnerabilities.
* Testnet tokens are **not real**
* Testnet may be subject to ledger resets.
* Testnet typically runs a newer software release than both Devnet and
Mainnet Beta
* Testnet may be maintained by different validators than Mainnet Beta
* Gossip entrypoint for Testnet: `35.203.170.30:8001`
* RPC URL for Testnet: `https://testnet.solana.com`
##### Example `solana` command-line configuration
```bash
solana config set --url https://testnet.solana.com
```
##### Example `solana-validator` command-line
```bash
$ solana-validator \
--identity ~/validator-keypair.json \
--vote-account ~/vote-account-keypair.json \
--trusted-validator 5D1fNXzvv5NjV1ysLjirC4WY92RNsVH18vjmcszZd8on \
--no-untrusted-rpc \
--ledger ~/validator-ledger \
--rpc-port 8899 \
--dynamic-port-range 8000-8010
--entrypoint 35.203.170.30:8001 \
--expected-genesis-hash 4uhcVJyU9pJkvQyS88uRDiswHXSCkY3zQawwpjk2NsNY \
--expected-shred-version 56419 \
--limit-ledger-size
```
## Mainnet Beta
A permissionless, persistent cluster for early token holders and launch partners.
Currently smart contracts, rewards, and inflation are disabled.
* Tokens that are issued on Mainnet Beta are **real** SOL
* If you have paid money to purchase/be issued tokens, such as through our
CoinList auction, these tokens will be transferred on Mainnet Beta.
* Note: If you are using a non-command-line wallet such as
[Trust Wallet](../wallet/trust-wallet.md),
the wallet will always be connecting to Mainnet Beta.
* Gossip entrypoint for Mainnet Beta: `mainnet-beta.solana.com:8001`
* RPC URL for Mainnet Beta: `https://api.mainnet-beta.solana.com`
##### Example `solana` command-line configuration
```bash
solana config set --url https://api.mainnet-beta.solana.com
```
##### Example `solana-validator` command-line
```bash
$ solana-validator \
--identity ~/validator-keypair.json \
--vote-account ~/vote-account-keypair.json \
--trusted-validator 7Np41oeYqPefeNQEHSv1UDhYrehxin3NStELsSKCT4K2 \
--trusted-validator GdnSyH3YtwcxFvQrVVJMm1JhTS4QVX7MFsX56uJLUfiZ \
--trusted-validator DE1bawNcRJB9rVm3buyMVfr8mBEoyyu73NBovf2oXJsJ \
--trusted-validator CakcnaRDHka2gXyfbEd2d3xsvkJkqsLw2akB3zsN1D2S \
--no-untrusted-rpc \
--ledger ~/validator-ledger \
--rpc-port 8899 \
--dynamic-port-range 8000-8010
--entrypoint mainnet-beta.solana.com:8001 \
--expected-genesis-hash 5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d \
--expected-shred-version 54208 \
--limit-ledger-size
```

View File

@ -1,32 +1,5 @@
# Running a Validator
This document describes how to participate in the Solana testnet as a validator
node.
This section describes how run a Solana validator node.
Please note some of the information and instructions described here may change
in future releases, and documentation will be updated for mainnet participation.
## Overview
Solana currently maintains several testnets, each featuring a validator that can
serve as the entrypoint to the cluster for your validator.
Current testnet entrypoints:
* Developer testnet, devnet.solana.com
Solana may launch special testnets for validator participation; we will provide
you with a specific entrypoint URL to use.
Prior to mainnet, the testnets may be running different versions of solana
software, which may feature breaking changes. For information on choosing a
testnet and finding software version info, jump to [Choosing a Testnet](validator-testnet.md).
The testnets are configured to reset the ledger daily, or sooner, should the
hourly automated cluster sanity test fail.
There is a network explorer that shows the status of solana testnets available
at [http://explorer.solana.com/](https://explorer.solana.com/).
Also we'd love it if you choose to register your validator node with us at
[https://forms.gle/LfFscZqJELbuUP139](https://forms.gle/LfFscZqJELbuUP139).
There are several clusters available to connect to, see [choosing a Cluster](../cli/choose-a-cluster.md) for an overview of each.

View File

@ -86,7 +86,7 @@ To monitor your validator during its warmup period:
* `solana validators` displays the current active stake of all validators, including yours
* `solana stake-history ` shows the history of stake warming up and cooling down over recent epochs
* Look for log messages on your validator indicating your next leader slot: `[2019-09-27T20:16:00.319721164Z INFO solana_core::replay_stage] <VALIDATOR_IDENTITY_PUBKEY> voted and reset PoH at tick height ####. My next leader slot is ####`
* Once your stake is warmed up, you will see a stake balance listed for your validator on the [Solana Network Explorer](http://explorer.solana.com/validators)
* Once your stake is warmed up, you will see a stake balance listed for your validator by running `solana validators`
## Monitor Your Staked Validator

View File

@ -9,10 +9,10 @@ set the `--url` argument for cli commands. For example:
solana config set --url http://devnet.solana.com
```
\(You can always override the set configuration by explicitly passing the
`--url` argument with a command, eg: `solana --url http://tds.solana.com balance`\)
While this section demonstrates how to connect to the Devnet cluster, the steps
are similar for the other [Solana Clusters](../clusters.md).
## Confirm The Testnet Is Reachable
## Confirm The Cluster Is Reachable
Before attaching a validator node, sanity check that the cluster is accessible
to your machine by fetching the transaction count:
@ -21,9 +21,6 @@ to your machine by fetching the transaction count:
solana transaction-count
```
Inspect the network explorer at
[https://explorer.solana.com/](https://explorer.solana.com/) for activity.
View the [metrics dashboard](https://metrics.solana.com:3000/d/monitor/cluster-telemetry) for more
detail on cluster activity.
@ -111,7 +108,7 @@ network. **It is crucial to back-up this information.**
If you dont back up this information, you WILL NOT BE ABLE TO RECOVER YOUR
VALIDATOR if you lose access to it. If this happens, YOU WILL LOSE YOUR
ALLOCATION OF LAMPORTS TOO.
ALLOCATION OF SOL TOO.
To back-up your validator identify keypair, **back-up your
"validator-keypair.json” file or your seed phrase to a secure location.**
@ -138,8 +135,10 @@ Wallet Config Updated: /home/solana/.config/solana/wallet/config.yml
Airdrop yourself some SOL to get started:
```bash
solana airdrop 1000
solana airdrop 10
```
Note that airdrops are only available on Devnet. Testnet SOL can be obtained by
participating in the [Tour de SOL](../tour-de-sol) program.
To view your current balance:
@ -187,12 +186,16 @@ account state divergence.
## Connect Your Validator
Connect to a testnet cluster by running:
Connect to the cluster by running:
```bash
solana-validator --identity ~/validator-keypair.json --vote-account ~/vote-account-keypair.json \
--ledger ~/validator-ledger --rpc-port 8899 --entrypoint devnet.solana.com:8001 \
--limit-ledger-size
solana-validator \
--identity ~/validator-keypair.json \
--vote-account ~/vote-account-keypair.json \
--ledger ~/validator-ledger \
--rpc-port 8899 \
--entrypoint devnet.solana.com:8001 \
--limit-ledger-size
```
To force validator logging to the console add a `--log -` argument, otherwise
@ -219,9 +222,9 @@ If your validator is connected, its public key and IP address will appear in the
By default the validator will dynamically select available network ports in the
8000-10000 range, and may be overridden with `--dynamic-port-range`. For
example, `solana-validator --dynamic-port-range 11000-11010 ...` will restrict
the validator to ports 11000-11011.
the validator to ports 11000-11010.
### Limiting ledger size to conserve disk space
The `--limit-ledger-size` arg will instruct the validator to only retain the
The `--limit-ledger-size` argument will instruct the validator to only retain the
last couple hours of ledger. To retain the full ledger, simply remove that arg.

View File

@ -1,5 +1 @@
---
description: Setup configuration
---
# Participation

View File

@ -1,30 +0,0 @@
# Dry Run 6
Dry Run 6 will test the performance of a heterogeneous cluster of validators under heavier transaction load. It will be structured as a series of increasing rounds of transactions per second \(TPS\). At the end of each round the validators that survive and produce a block in at least 80% of their leader slots will receive additional stake for the next round. The rounds will continue until the cluster stops making progress.
![Ramp TPS rounds visualized](../../.gitbook/assets/ramp-tps-rounds.png)
## Cluster Parameters:
* GPUs optional
* Solana software version: v0.22.2
* Target transaction rate of first round: 2,000 TPS
* Transaction rate round increment: 2,000 TPS
* Epoch duration: 4096 slots \(approximately 27 minutes\)
* Transaction signature fee: 0 lamport
* Genesis allotment to each validator: 2 SOL \(1 SOL for initial delegation, 1 SOL for transaction fees\)
* Round duration: 20 minutes of transactions, followed by 2-3 epochs for stake warm up
## Timeline
### 24 hour onboarding period: Connect, delegate, stake warmup \(approximately 24 hours\)
When the cluster boots, validators will have over 24 hours to connect and delegate 1 SOL of stake to themselves
### Ramp TPS rounds begin! \(approx. 1-2 hours per round\)
Now that all validator stake is active, the Ramp TPS program will begin running the rounds of increasing transactions-per-second until the cluster fails to maintain consensus or TPS cannot be pushed any higher. Each round starts with of 20 minutes of solid transactions. After 20 minutes all validators that remain with the cluster will receive an additional stake delegation. This new stake will also take 3-4 epochs to warm up, and once warm up is complete the next round commences with an increased transaction rate.
## References
* [Ramp TPS program](https://github.com/solana-labs/tour-de-sol/tree/master/ramp-tps)

View File

@ -0,0 +1,9 @@
# Steps to create a validator
To create a Solana validator, follow the normal [validator workflow](../../running-validator/validator-start.md)
targeting the [Testnet cluster](../../clusters.md).
Note that Testnet validators are automatically staked by a process that runs
every Epoch. If your validator is running correctly then in a couple of days it
will be staked (and automatically destaked if offline for a prolonged period of
time).

View File

@ -1,12 +0,0 @@
# Steps to create a validator
To create a Solana validator, complete the following steps, using the instructions that follow this section.
* [Install the Solana software](install-the-solana-software.md)
* [Create your validator public key](validator-public-key-registration.md)
* [Create and configure your validator](connecting-your-validator.md)
* [Confirm the Solana network is running](confirm-the-solana-network-is-running.md)
* [Connect your validator to the Solana network](connect-to-the-solana-network.md)
* [Validator catch-up](monitoring-your-validator.md)
* [Execute core validator functions](delegating-stake.md)
* [Publish validator info \(optional\)](publishing-information-about-your-validator.md)

View File

@ -1,23 +0,0 @@
# Confirm the Solana network is running
Before you connect your validator to the Solana network, confirm the network is running. To do this, view the existing nodes in the network using:
```bash
solana-gossip spy --entrypoint tds.solana.com:8001
```
If you see more than 1 node listed in the output of the above command, the network is running.
To view the current active stake of all validators, run:
```bash
solana show-validators
```
Finally the `ping` command can be used to check that the cluster is able to process transactions:
```bash
solana ping
```
This command sends a tiny transaction every 2 seconds and reports how long it takes to confirm it.

View File

@ -1,41 +0,0 @@
# Connect to the Solana network
## Create Vote Account
Once youve confirmed the network is running, its time to connect your validator to the network.
If you havent already done so, create a vote-account keypair and create the vote account on the network. If you have completed this step, you should see the “vote-account-keypair.json” in your Solana runtime directory:
```bash
solana-keygen new -o ~/vote-account-keypair.json
```
Create your vote account on the blockchain:
```bash
solana create-vote-account ~/vote-account-keypair.json ~/validator-keypair.json
```
## Connect Your Validator
Connect to the Tour de SOL cluster by running:
```bash
export SOLANA_METRICS_CONFIG="host=https://metrics.solana.com:8086,db=tds,u=tds_writer,p=dry_run"
```
```bash
solana-validator --identity ~/validator-keypair.json --vote-account ~/vote-account-keypair.json \
--ledger ~/validator-ledger --rpc-port 8899 --entrypoint tds.solana.com:8001 \
--limit-ledger-size
```
To force validator logging to the console add a `--log -` argument, otherwise the validator will automatically log to a file.
Confirm your validator connected to the network by running:
```bash
solana-gossip spy --entrypoint tds.solana.com:8001
```
This command will display all the nodes that are visible to the TdS networks entrypoint. If your validator is connected, its public key and IP address will appear in the list.

View File

@ -1,43 +0,0 @@
# Create and configure a Solana validator
The validator identity keypair [you created](validator-public-key-registration.md) identifies your validator. Your validator public key, which you registered for the TdS, will receive an allotment of lamports in the genesis block that can be used to start your validator node. _Note that airdrops have been disabled so the `solana airdrop` command will fail._
## Configure Solana
Configure solana for your validator identity and Tour de SOL:
```bash
solana config set --url http://tds.solana.com --keypair ~/validator-keypair.json
```
You should see the following output:
```text
Wallet Config Updated: /home/solana/.config/solana/wallet/config.yml
* url: http://tds.solana.com
* keypair: /home/solana/validator-keypair.json
```
You can see the wallet configuration at any time by running:
```text
solana config get
```
## Check Validator Balance
To view your current balance:
```text
solana balance
```
Or to see in finer detail:
```text
solana balance --lamports
```
If your validator identity keypair is created and the above command shows a non-zero balance, your validator is created and configured for TdS.
Your starting balance will be 500 SOL. Read more about the [difference between SOL and lamports here](../../../introduction.md#what-are-sols).

View File

@ -1,82 +0,0 @@
# Staking
**By default your validator will have no stake.** This means it will be ineligible to become leader.
To delegate stake, first make sure your validator is running and has [caught up to the cluster](monitoring-your-validator.md#validator-catch-up).
More information about staking on solana can be found [here](../../../running-validator/validator-stake.md).
## Create Stake Keypair
If you havent already done so, create a staking keypair. If you have completed this step, you should see the “validator-stake-keypair.json” in your Solana runtime directory.
```bash
solana-keygen new -o ~/validator-stake-keypair.json
```
## Delegate Stake
Now delegate 1 SOL to your validator by first creating your stake account:
```bash
solana create-stake-account ~/validator-stake-keypair.json 1
```
and then delegating that stake to your validator:
```bash
solana delegate-stake ~/validator-stake-keypair.json ~/vote-account-keypair.json
```
{% hint style="warning" %}
Dont delegate all your SOL as your validator identity account requires some to submit votes.
{% endhint %}
At the end of each slot, a validator is expected to send a vote transaction. These vote transactions are paid for by lamports from a validator's identity account.
This is a normal transaction so the standard transaction fee will apply. The transaction fee range is defined by the genesis block. The actual fee will fluctuate based on transaction load. You can determine the current fee via the [RPC API “getRecentBlockhash”](../../../apps/jsonrpc-api.md#getrecentblockhash) before submitting a transaction.
Learn more about [transaction fees here](../../../implemented-proposals/transaction-fees.md).
## Validator Stake Warm-up
Stakes need to warm up, and warmup increments are applied at Epoch boundaries, so it can take an hour or more for stake to come fully online.
To monitor your validator during its warmup period:
* View your vote account:`solana vote-account ~/vote-account-keypair.json` This displays the current state of all the votes the validator has submitted to the network.
* View your stake account, the delegation preference and details of your stake:`solana stake-account ~/validator-stake-keypair.json`
* `solana validators` displays the current active stake of all validators, including yours
* `solana stake-history ` shows the history of stake warming up and cooling down over recent epochs
* Look for log messages on your validator indicating your next leader slot: `[2019-09-27T20:16:00.319721164Z INFO solana_core::replay_stage] <VALIDATOR_IDENTITY_PUBKEY> voted and reset PoH at tick height ####. My next leader slot is ####`
* Once your stake is warmed up, you will see a stake balance listed for your validator on the [Solana Network Explorer](http://explorer.solana.com/validators)
## Monitor Your Staked Validator
Confirm your validator becomes a [leader](../../../terminology.md#leader)
* After your validator is caught up, use the `$ solana balance` command to monitor the earnings as your validator is selected as leader and collects transaction fees
* Solana nodes offer a number of useful JSON-RPC methods to return information about the network and your validator's participation. Make a request by using curl \(or another http client of your choosing\), specifying the desired method in JSON-RPC-formatted data. For example:
```bash
// Request
curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1, "method":"getEpochInfo"}' http://localhost:8899
// Result
{"jsonrpc":"2.0","result":{"epoch":3,"slotIndex":126,"slotsInEpoch":256},"id":1}
```
Helpful JSON-RPC methods:
* `getEpochInfo`[ An epoch](../../../terminology.md#epoch) is the time, i.e. number of [slots](../../../terminology.md?highlight=epoch#slot), for which a [leader schedule](../../../terminology.md?highlight=epoch#leader-schedule) is valid. This will tell you what the current epoch is and how far into it the cluster is.
* `getVoteAccounts` This will tell you how much active stake your validator currently has. A % of the validator's stake is activated on an epoch boundary. You can learn more about staking on Solana [here](../../../cluster/stake-delegation-and-rewards.md).
* `getLeaderSchedule` At any given moment, the network expects only one validator to produce ledger entries. The [validator currently selected to produce ledger entries](../../../cluster/leader-rotation.md) is called the “leader”. This will return the complete leader schedule \(on a slot-by-slot basis\) for the current epoch. If you validator is scheduled to be leader based on its currently activated stake, the identity pubkey will show up 1 or more times here.
## Deactivating Stake
Before detaching your validator from the TdS cluster, you should deactivate the stake that was previously delegated by running:
```bash
solana deactivate-stake ~/validator-stake-keypair.json
```
Stake is not deactivated immediately and instead cools down in a similar fashion as stake warm up. Your validator should remain attached to the cluster while the stake is cooling down. More information about the stake cool down can be found [here](../../../running-validator/validator-stake.md)

View File

@ -1,21 +0,0 @@
# Install the Solana software
Before attempting to connect your validator to the Tour de SOL cluster, be familiar with connecting a validator to the Public Testnet as described [here](../../../running-validator/README.md).
You can confirm the version running on the cluster entrypoint by running:
```text
curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0","id":1,"method":"getVersion"}' tds.solana.com:8899
```
Note the version number
## Install Software
Install the Solana release [LATEST_SOLANA_RELEASE_VERSION](https://github.com/solana-labs/solana/releases/tag/LATEST_SOLANA_RELEASE_VERSION) on your machine by running:
```bash
curl -sSf https://raw.githubusercontent.com/solana-labs/solana/v1.0.0/install/solana-install-init.sh | sh -s - LATEST_SOLANA_RELEASE_VERSION
```
then run `solana --version` to confirm the expected version number.

View File

@ -1,12 +0,0 @@
# Validator catch-up
Once your validator is connected and voting, it should appear on the [Solana Network Explorer](http://explorer.solana.com/validators). \(Switch to the Tour de SOL network in the top right\)
But your validator may take some time to catch up with the cluster. Use the `catchup` command to monitor this process:
```bash
solana catchup ~/validator-keypair.json
```
Until your validator has caught up, it will not be able to vote successfully and stake cannot be delegated to it.
Also if you find the network's slot advancing faster than yours, you will likely never catch up. This typically implies some kind of networking issue between your validator and the rest of the network.

View File

@ -1,23 +0,0 @@
# Publish information about your validator
See [here](../../../running-validator/validator-info.md) for background:
Example publish command:
```bash
solana validator-info publish "Elvis Validator" -n elvis -w "https://elvis-validates.com"
```
Example query command:
```bash
solana validator-info get
```
which outputs
```text
Validator info from 8WdJvDz6obhADdxpGCiJKZsDYwTLNEDFizayqziDc9ah
Validator pubkey: 6dMH3u76qZ7XG4bVboVRnBHR2FfrxEqTTTyj4xmyDMWo
Info: {"keybaseUsername":"elvis","name":"Elvis Validator","website":"https://elvis-validates.com"}
```

View File

@ -1,12 +1,9 @@
# Create a validator public key
In order to participate in any Tour de SOL dry-runs or stages, you need to register for the Tour de SOL.
In order to participate you need to first register. See [Registration info](../registration/how-to-register.md).
See [Registration info](../../registration/README.md).
In order to obtain your allotment of lamports at the start of a Tour de SOL stage or dry run, you need to publish your validator's identity public key under your keybase.io account.
**If these steps are not completed by the cut-off time you will not be able to participate.**
In order to obtain your allotment of SOL you need to publish your
validator's identity public key under your keybase.io account.
## **Generate Keypair**
@ -28,7 +25,7 @@ Note: The "validator-keypair.json” file is also your \(ed25519\) private key.
Your validator identity keypair uniquely identifies your validator within the network. **It is crucial to back-up this information.**
If you dont back up this information, you WILL NOT BE ABLE TO RECOVER YOUR VALIDATOR, if you lose access to it. If this happens, YOU WILL LOSE YOUR ALLOCATION OF LAMPORTS TOO.
If you dont back up this information, you WILL NOT BE ABLE TO RECOVER YOUR VALIDATOR, if you lose access to it. If this happens, YOU WILL LOSE YOUR ALLOCATION OF SOL TOO.
To back-up your validator identify keypair, **back-up your "validator-keypair.json” file to a secure location.**

View File

@ -4,23 +4,6 @@
See [suggested hardware configuration here](../../running-validator/validator-reqs.md).
* CPU Recommendations
* We recommend a CPU with the highest number of cores as possible. AMD Threadripper or Intel Server \(Xeon\) CPUs are fine.
* We recommend AMD Threadripper as you get a larger number of cores for parallelization compared to Intel.
* Threadripper also has a cost-per-core advantage and a greater number of PCIe lanes compared to the equivalent Intel part. PoH \(Proof of History\) is based on sha256 and Threadripper also supports sha256 hardware instructions.
* SSD size and I/O style \(SATA vs NVMe/M.2\) for a validator
* Minimum example - Samsung 860 Evo 2TB
* Mid-range example - Samsung 860 Evo 4TB
* High-end example - Samsung 860 Evo 4TB
* GPUs
* **Validator** nodes will be required to run with GPUs starting at Stage 1 of Tour de SOL. Without GPUs, a validator will not be able to catch up to the ledger once the network is launched. GPUs are NOT required for validators during Stage 0/Dry Runs of Tour de SOL.
* What kind of GPU?
* We recommend Nvidia 2080Ti or 1080Ti series consumer GPU or Tesla series server GPUs.
* We do not currently support OpenCL and therefore do not support AMD GPUs. We have a bounty out for someone to port us to OpenCL. Interested? [Check out our GitHub.](https://github.com/solana-labs/solana)
* Power Consumption
* Approximate power consumption for a validator node running an AMD Threadripper 2950W and 2x 2080Ti GPUs is 800-1000W.
## **Software**
## Software
* We build and run on Ubuntu 18.04. Some users have had trouble when running on Ubuntu 16.04
* See [Connecting Your Validator](steps-to-create-a-validator/connecting-your-validator.md#install-software) for the current Solana software release.

View File

@ -1,5 +1,5 @@
# Submitting Bugs
Please submit all bugs and feedback as [issues in this Github repo](https://github.com/solana-labs/tour-de-sol/issues).
Please submit all bugs and feedback as [issues in this Github repo](https://github.com/solana-labs/solana/issues).
Given the fast pace of communication in the [Discord channels](useful-links.md), its likely issues reported in them may be lost in the information flow. Filing the issues in the Github repo is the only way to ensure the issues get logged and addressed.

View File

@ -4,17 +4,14 @@ description: Where to go after you've read this guide
# Useful Links & Discussion
* [Solana Docs](https://docs.solana.com/)
* [Network Explorer](http://explorer.solana.com/)
* [TdS metrics dashboard](https://metrics.solana.com:3000/d/monitor-edge/cluster-telemetry-edge?refresh=1m&from=now-15m&to=now&var-testnet=tds)
* Validator chat channels
* [\#validator-support](https://discord.gg/rZsenD) General support channel for any Validator related queries that dont fall under Tour de SOL.
* [\#tourdesol](https://discord.gg/BdujK2) Discussion and support channel for Tour de SOL participants.
* [\#tourdesol-validators](https://discord.gg/BdujK2) Discussion and support channel for Tour de SOL participants.
* [\#tourdesol-announcements](https://discord.gg/Q5TxEC) The single source of truth for critical information relating to Tour de SOL
* [\#tourdesol-stage0](https://discord.gg/Xf8tES) Discussion for events within Tour de SOL Stage 0. Stage 0 includes all the dry-run
* [Core software repo](https://github.com/solana-labs/solana)
* [Current Testnet/TdS repo](https://github.com/solana-labs/tour-de-sol)
* [Submit bugs and feedback in this repo](https://github.com/solana-labs/tour-de-sol/issues)
* [Submit bugs and feedback in this repo](https://github.com/solana-labs/solana/issues)
{% hint style="info" %}
Can't find what you're looking for? Send an email to ryan@solana.com or reach out to @rshea\#2622 on Discord.