PUT Test Validator

PUT 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 put-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 ...)
Load accounts from files
Configurable transaction history retention (--limit-ledger-size ...)
Configurable epoch length (--slots-per-epoch ...)
Jump to an arbitrary slot (--warp-slot ...)

Installation

The put-test-validator binary ships with the PUT 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 put-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 put-test-validator instance using other binaries from the PUT 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#

Check the wallet balance#

Perform a basic transfer transaction#

Monitor msg!() output from on-chain programs#

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

Appendix II: Runtime Features

By default, the test validator runs with all runtime features activated.

You can verify this using the PUT command-line tools:

Since this may not always be desired, especially when testing programs meant for deployment to mainnet, the CLI provides an option to deactivate specific features:

Last updated