Velas 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 velas-test-validator
binary, which starts a full-featured,
single-node cluster on the developer's workstation.
Advantages
- No RPC rate-limits
- No airdrop limits
- Direct on-chain program deployment (
--bpf-program ...
) - Clone accounts from a public cluster, including programs (
--clone ...
) - Configurable transaction history retention (
--limit-ledger-size ...
) - Configurable epoch length (
--slots-per-epoch ...
) - Jump to an arbitrary slot (
--warp-slot ...
)
Installation
The velas-test-validator
binary ships with the Velas CLI Tool Suite. Install before continuing.
Running
First take a look at the configuration options
Next start the test validator
By default, basic status information is printed while the process is running. See Appendix I for details
Leave velas-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 velas-test-validator
instance using
other binaries from the Velas CLI Tool Suite or your own client software.
Configure the CLI Tool Suite to target a local cluster by default
Verify the CLI Tool Suite configuration
- NOTE: The result should match the
Genesis Hash:
field in thevelas-test-validator
status output
Check the wallet balance
- NOTE:
Error: No such file or directory (os error 2)
means that the default wallet does not yet exist. Create it withvelas-keygen new
. - NOTE: If the wallet has a zero VLX balance, airdrop some localnet VLX with
velas airdrop 10
Perform a basic transfer transaction
msg!()
output from on-chain programs
Monitor - NOTE: This command needs to be running when the target transaction is executed. Run it in its own terminal
Appendix I: Status Output
- 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 ...
- File path of the validator text log file. The log can also be streamed by passing
--log
. Status output is suppressed in this case.
- The validator's identity in the [gossip network]
- The software version
The network address of the [Gossip], [Transaction Processing Unit] and [JSON RPC] service, respectively
Session running time, current slot of the the three block commitment levels, slot height of the last snapshot, transaction count, voting authority balance