docs: Add docs for `solana-test-validator`
This commit is contained in:
parent
0e646d10bb
commit
768a2ebe9d
|
@ -89,6 +89,7 @@ module.exports = {
|
||||||
"developing/on-chain-programs/faq",
|
"developing/on-chain-programs/faq",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
"developing/test-validator",
|
||||||
"developing/backwards-compatibility",
|
"developing/backwards-compatibility",
|
||||||
],
|
],
|
||||||
Integrating: ["integrations/exchange"],
|
Integrating: ["integrations/exchange"],
|
||||||
|
|
|
@ -0,0 +1,125 @@
|
||||||
|
---
|
||||||
|
title: Solana Test Validator
|
||||||
|
---
|
||||||
|
During early stage development, it is often convenient to target a cluster with
|
||||||
|
fewer restrictions and more configuration options than the public offerings
|
||||||
|
provide. This is easily achieved with the `solana-test-validator` binary, which
|
||||||
|
starts a local, full-featured, single-node cluster on the developer's workstation.
|
||||||
|
|
||||||
|
## Advantages
|
||||||
|
- No RPC rate-limits
|
||||||
|
- No airdrop limits
|
||||||
|
- Direct [on-chain program](on-chain-programs/overview) deployment
|
||||||
|
(`--bpl-program ...`)
|
||||||
|
- Clone account's from a public cluster, including programs (`--clone ...`)
|
||||||
|
- Configurable transaction history (`--limit-ledger-size ...`)
|
||||||
|
- Configurable epoch length (`--slots-per-epoch ...`)
|
||||||
|
- Jump to an arbitrary slot (`--warp-slot ...`)
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
The `solana-test-validator` binary ships with the Solana CLI Tool Suite.
|
||||||
|
[Install](/cli/install-solana-cli-tools) it before continuing.
|
||||||
|
|
||||||
|
## Running
|
||||||
|
First take a look at the configuration options
|
||||||
|
```
|
||||||
|
solana-test-validator --help
|
||||||
|
```
|
||||||
|
|
||||||
|
Next start the test validator
|
||||||
|
```
|
||||||
|
solana-test-validator
|
||||||
|
```
|
||||||
|
|
||||||
|
By default basic status information is printed while the process is running.
|
||||||
|
See [Appendix I](#appendix-i-status-output) for details
|
||||||
|
```
|
||||||
|
Ledger location: test-ledger
|
||||||
|
Log: test-ledger/validator.log
|
||||||
|
Identity: EPhgPANa5Rh2wa4V2jxt7YbtWa3Uyw4sTeZ13cQjDDB8
|
||||||
|
Version: 1.6.7
|
||||||
|
Gossip Address: 127.0.0.1:1024
|
||||||
|
TPU Address: 127.0.0.1:1027
|
||||||
|
JSON RPC URL: http://127.0.0.1:8899
|
||||||
|
⠈ 00:36:02 | Processed Slot: 5142 | Confirmed Slot: 5142 | Finalized Slot: 5110 | Snapshot Slot: 5100 | Transactions: 5142 | ◎499.974295000
|
||||||
|
```
|
||||||
|
|
||||||
|
Leave `solana-test-validator` running in its own terminal. When it is no longer
|
||||||
|
needed, it can be stopped with ctrl-c.
|
||||||
|
|
||||||
|
## Interacting
|
||||||
|
Open a new terminal to interact with a [running](#running) `solana-test-validator`
|
||||||
|
instance using other binaries from the Solana CLI Tool Suite or your own client
|
||||||
|
software.
|
||||||
|
|
||||||
|
#### Configure the CLI Tool Suite to target a local cluster by default
|
||||||
|
```
|
||||||
|
solana config set --url http://127.0.0.1:8899
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Verify the CLI Tool Suite configuration
|
||||||
|
```
|
||||||
|
solana cluster-version
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Check the wallet balance
|
||||||
|
```
|
||||||
|
solana balance
|
||||||
|
```
|
||||||
|
* **NOTE:** `Error: No such file or directory (os error 2)` means that the default
|
||||||
|
wallet does not yet exist. Create it with `solana-keygen new`.
|
||||||
|
* **NOTE:** If the wallet has a zero SOL balance, airdrop some localnet SOL with
|
||||||
|
`solana airdrop 10`
|
||||||
|
|
||||||
|
#### Perform a basic transfer transaction
|
||||||
|
```
|
||||||
|
solana transfer EPhgPANa5Rh2wa4V2jxt7YbtWa3Uyw4sTeZ13cQjDDB8 1
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Monitor `msg!()` output from on-chain programs
|
||||||
|
```
|
||||||
|
solana logs
|
||||||
|
```
|
||||||
|
* **NOTE:** This command needs to be running when the target transaction is
|
||||||
|
executed. Run it in its own terminal
|
||||||
|
|
||||||
|
## Appendix I: Status Output
|
||||||
|
```
|
||||||
|
Ledger location: test-ledger
|
||||||
|
```
|
||||||
|
* File path of the ledger storage directory. This directory can get large. Store
|
||||||
|
less transaction history with `--limit-ledger-size ...` or relocate it with
|
||||||
|
`--ledger ...`
|
||||||
|
|
||||||
|
```
|
||||||
|
Log: test-ledger/validator.log
|
||||||
|
```
|
||||||
|
* File path of the validator text log file. The log can also be streamed by
|
||||||
|
passing `--log`. Status output is suppressed in this case.
|
||||||
|
|
||||||
|
```
|
||||||
|
Identity: EPhgPANa5Rh2wa4V2jxt7YbtWa3Uyw4sTeZ13cQjDDB8
|
||||||
|
```
|
||||||
|
* The validator's identity in the [gossip network](/validator/gossip#gossip-overview)
|
||||||
|
|
||||||
|
```
|
||||||
|
Version: 1.6.7
|
||||||
|
```
|
||||||
|
* The software version
|
||||||
|
|
||||||
|
```
|
||||||
|
Gossip Address: 127.0.0.1:1024
|
||||||
|
TPU Address: 127.0.0.1:1027
|
||||||
|
JSON RPC URL: http://127.0.0.1:8899
|
||||||
|
```
|
||||||
|
* The network address of the [Gossip](/validator/gossip#gossip-overview),
|
||||||
|
[Transaction Processing Unit](/validator/tpu) and [JSON RPC](clients/jsonrpc-api#json-rpc-api-reference)
|
||||||
|
service, respectively
|
||||||
|
|
||||||
|
```
|
||||||
|
⠈ 00:36:02 | Processed Slot: 5142 | Confirmed Slot: 5142 | Finalized Slot: 5110 | Snapshot Slot: 5100 | Transactions: 5142 | ◎499.974295000
|
||||||
|
```
|
||||||
|
* Session running time, current slot of the the three block
|
||||||
|
[commitment levels](clients/jsonrpc-api#configuring-state-commitment),
|
||||||
|
slot height of the last snapshot, trasaction count,
|
||||||
|
[voting authority](/running-validator/vote-accounts#vote-authority) balance
|
Loading…
Reference in New Issue