Skip to content

Instantly share code, notes, and snippets.

@Gribnik2K
Forked from AGx10k/solana-restake-daily.sh
Created June 11, 2020 15:51
Show Gist options
  • Save Gribnik2K/fca09c3280d5a64650c600a38dc3a45c to your computer and use it in GitHub Desktop.
Save Gribnik2K/fca09c3280d5a64650c600a38dc3a45c to your computer and use it in GitHub Desktop.
#!/bin/bash
set -e
vote_account="/root/solana/vote-account-keypair.json"
identity_account="/root/solana/validator-keypair.json "
new_stake="/root/solana/validator-stake-keypair-$(printf '%(%Y-%m-%d)T').json"
min_vote_balance=100
available_for_withdraw=$(solana balance $vote_account | awk -F\. '{print $1}')
re='^[0-9]+$'
if ! [[ $available_for_withdraw =~ $re ]] ; then
echo "error: \"$available_for_withdraw\"Not a number" >&2; exit 1
fi
available_for_withdraw=$((available_for_withdraw - min_vote_balance))
if (( available_for_withdraw < 0 )); then
echo "too small withdraw=$available_for_withdraw"; exit 2
fi
echo "available for withdraw=$available_for_withdraw"
solana withdraw-from-vote-account $vote_account $identity_account $available_for_withdraw --authorized-withdrawer $vote_account
solana-keygen new -o $new_stake
echo backup new key:
echo $new_stake: && cat $new_stake &&echo
solana create-stake-account $new_stake $available_for_withdraw
solana delegate-stake $new_stake $vote_account
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment