1

I created the original stake using SolFlare and my Ledger HW. Now I want to redelegate that stake to a different Vote account. There appears to be a way to do it using the CLI

solana redelegate-stake

However, I don't know the correct syntax to get the command to work. I've confirmed that the Stake Authority and Withdraw Authority is at usb://ledger?key=0/0

solana-keygen pubkey usb://ledger?key=0/0

I tried the following:

solana redelegate-stake --stake-authority usb://ledger?key=0/0 --fee-payer usb://ledger?key=0/0 my_stake_account the_new_vote_account my_stake_account

I was expecting it to ask the Ledger to sign the transaction but it didn't and just errored out immediately

Error: Dynamic program error: missing signature for supplied pubkey: my_stake_account

Does anyone know how to get redelegate-stake to work with a Ledger HW?

1 Answer 1

0

The redelegate-stake command is meant to be used with the following parameters:

    solana redelegate-stake [FLAGS] [OPTIONS] <STAKE_ACCOUNT_ADDRESS> <REDELEGATED_VOTE_ACCOUNT_ADDRESS> <REDELEGATION_STAKE_ACCOUNT>

Where <STAKE_ACCOUNT_ADDRESS> and <REDELEGATION_STAKE_ACCOUNT> are different. In your example, you're using the same account twice. You'll need to create a new keypair and use that as the <REDELEGATION_STAKE_ACCOUNT>, ie:

$ solana-keygen new -o redelegation.json --no-passphrase
$ solana redelegate-stake --stake-authority usb://ledger?key=0/0 \
 --fee-payer usb://ledger?key=0/0 \
 my_stake_account \
 the_new_vote_account \
 redelegation.json

Side note: unfortunately, the redelegate instruction in its current state will very likely not be released. In its current design, it will be impossible to implement slashing where it's possible to take part of the principal.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.