The utility tool for Solana Validators
solv is an open-source tool designed to simplify the setup and operation of Solana validators and RPC nodes.
Documentation: https://solv.epics.dev/
- Linux Ubuntu 20.04 LTS
- Linux Ubuntu 22.04 LTS
Login in to your Validator server by ssh and run the following command.
$ bash -c "$(curl -sSfL "https://storage.googleapis.com/epics-bucket/resource/solv/v4.4.6/install")"
$ cd ~ && source ~/.profile
$ solv setup
Then, select the type of node you want to target.
TESTNET_VALIDATOR
MAINNET_VALIDATOR
RPC_NODE
Then
After startup, the snapshot download will start automatically. The Solana validator will start 🎊
If your node does not start, you can try the following command.
$ solv restart --rm
This will remove the snapshot and restart the Solana Validator from the new snapshot. If snapshot download freezes, you can try Ctrl + C. Then setup will continue.
solv switch
command is better version of solv change
.
$ solv switch
? Which switch type do you want to perform?※Mainnet Only (Use arrow keys)
❯ Incoming
Outgoing
? What is the IP address of the new validator? (1.1.1.1)
solv change
required to connect both servers.
Now you only need to connect one server with solv switch
This command has 2 types
You choose the type of switch you want to perform. Then put IP address of anothor side of server.
-
Incoming Run at Active Server. Active Validator Identity switches from this server to a remote server.
-
Outgoing Run at Inactive Server. Active Validator Identity switches to this server from a remote server.
This command executes migration commands on both servers.
solv MEV Mode is a feature designed to automate the maintenance of your Solana validator by regularly checking and updating the Solana/solv status and version.
-
solv epochTimer: This function will be set as a cron job to automatically monitor the health status of your validator and perform updates as needed.
-
Automatic Restarts: If necessary, solv epochTimer will restart the validator to ensure optimal performance.
epochTimer will monitor the following aspects of your validator:
- Send a notification if the balance is less than 0.5 SOL.
- Send a notification if the validator is not voting or is delinquent.
- Send a notification if the Solana/solv version is not up-to-date.
- Update the Solana/solv version automatically.
- Restart validator if it is required.
- Send a notification after the Solana/solv version update.
- Withdraw the rewards from vote account to the authority account.
- Calculate the balance needed for the next epoch.
- Transfer the balance from the validator account to the authority account.
- Convert SOL to LST(Liquid Staking Token) and send it to the harvest account.
By implementing solv MEV mode, you can maintain high security, ensure optimal performance, and enjoy the convenience of automated updates and reward management.
Run the following command:
$ solv mev
? Do you want to enable solv MEV Mode?(You can change it again) (y/N)
? Do you want to enable AUTO UPDATE? (Recommended) (y/N)
? Do you want to enable AUTO RESTART? (Recommended) (y/N)
※ Please turn off if you are using no-downtime migration.
? Enter your Discord Webhook URL (https://discord.com/api/webhooks/1234)
- Enable solv MEV Mode.
- Enable AUTO UPDATE.
- Enable AUTO RESTART.
※ Please turn off if you are using no-downtime migration.
※ No-downtime migration requires spare server and manual restart.
- Enter your Discord Webhook URL.
※ You can receive notifications about the Solana/solv version update.
- Enter RPC URL (Mainnet Only)
- Enter Harvest Account (Mainnet Only)
※ Please DO NOT keep harvest account in the validator node.
Run the following command:
$ solv mev
? Do you want to enable solv MEV Mode?(You can change it again) (y/N) n
✅ Cron Job successfully removed.
$ solv s
$ solv log
or
Show only error logs
$ solv log -e
This command will show your all config paths which are used by solana validator.
$ solv config
https://solana.org/delegation-program
$ solv --help
Usage: solv [options] [command]
💎 Solana Validator All-in-One CLI 💎
Options:
-V Output the current version
-h, --help Display help for solv commands
Commands:
server|s Open solv Dashboard
start Start Solana Validator
restart [options] Restart Solana Validator
stop Stop Solana Validator
status Show Solana Validator Status
update|u [options] Update Solana Validator Version
log|l [options] tail logs
install|i [options] Install/Update Solana Version
stake [options] Solana Delegate Stake
unstake Solana Delegate Stake
get <cmd> Get Solana Validator Info Commands
scp <cmd> Download/Upload Solana Validator Keypairs
cron <cmd> Run Schedule Tasks
setup [options] Setup Solana Validator
balance|bal [options] Show Keypairs Balance
mtr Mount Reload Command
disks Show unmounted disks
relayer Jiro Relayer Commands
transfer|tr [options] Transfer Solana Tokens/SPL Tokens
withdraw [options] Withdraw SOL from Vote Account to Authority Account
harvest|hv Harvest SOL from Validator Account to Authority Account
mev Enable MEV Mode
df Disk Free Command
swap [options] Swap Solana Tokens
epochTimer Check Solana Epoch Timer
rm:log Remove Logs
rm:snapshot Remove Snapshot
change Change Identity of Validator to New Validator
monitor|m Monitor Solana Node
catchup|c Check Solana Catchup Status
config Show Solv Config
help [cmd] Display help for solv commands
If you have any questions, please contact us on Discord.
Bug reports and pull requests are welcome on GitHub at https://github.com/EpicsDAO/solv This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
The package is available as open source under the terms of the Apache-2.0 License.
Everyone interacting in the SKEET project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.