๐Signing A Message
Instructions for Signing an Off-Chain Message with Solana CLI
To verify your identity without signing an on-chain transaction using your vote key, you need to sign an off-chain message and provide the necessary details. This process allows you to prove ownership of your vote key securely.
Choose a claim wallet that you will use to connect to The Vault's website. Preferably, use a burner wallet. You can see your personal validator dashboard and claim points when the campaign is finished using this wallet.
Steps to Follow
Open a terminal on your system. Ensure you have the Solana CLI installed and configured correctly.
Run the command to sign the off-chain message:
solana sign-offchain-message "TheVault:yourClaimPublicKey" -k /pathToYourVoteKey
TheVault:yourClaimPublicKey
โ ReplaceyourClaimPublicKey
with your actual claim public key.-k /pathToYourVoteKey
โ Replace/pathToYourVoteKey
with the path to your Solana vote key file (e.g.,~/.config/solana/id.json
).
Example Command and Breakdown
For example, if the user's claim public key is AbcD5Vu2RhsH3KEKy74fPqs38RCiMdm473zJDq6hzhQ
, and their vote key is stored at ~/.config/solana/id.json
, they would run:
solana sign-offchain-message "TheVault:AbcD5Vu2RhsH3KEKy74fPqs38RCiMdm473zJDq6hzhQ" -k ~/.config/solana/id.json
When run, the output should look like this:
9XYT6HdQmUkDkhVgr87yGeCh2pAx92tFyzXTUE5u3GTD1Q1WR1AokEpaw7RVtd1wXuMRCiw2QJr72bZcsLK5q3xD
What Each Part Means
The first line (outputted string):
9XYT6HdQmUkDkhVgr87yGeCh2pAx92tFyzXTUE5u3GTD1Q1WR1AokEpaw7RVtd1wXuMRCiw2QJr72bZcsLK5q3xD
This is the signature generated for your message. It proves ownership of your vote key without needing to sign a blockchain transaction.
The remaining lines:
General informational text provided by the platform.
What to Do Next
Once you have the signature, you need to submit the following details:
Your vote public key (e.g.,
AbcD5Vu2RhsH3KEKy74fPqs38RCiMdm473zJDq6hzhQ
)The message used (e.g.,
TheVault:AbcD5Vu2RhsH3KEKy74fPqs38RCiMdm473zJDq6hzhQ
)The signature you received (e.g.,
9XYT6HdQmUkDkhVgr87yGeCh2pAx92tFyzXTUE5u3GTD1Q1WR1AokEpaw7RVtd1wXuMRCiw2QJr72bZcsLK5q3xD
)
Verifying the Signature
To verify that the signature is valid, another person can run the following command:
solana verify-offchain-signature "TheVault:yourClaimPublicKey" yourSignature --signer yourVotePublicKey
Example with the values from above:
solana verify-offchain-signature "TheVault:AbcD5Vu2RhsH3KEKy74fPqs38RCiMdm473zJDq6hzhQ" 9XYT6HdQmUkDkhVgr87yGeCh2pAx92tFyzXTUE5u3GTD1Q1WR1AokEpaw7RVtd1wXuMRCiw2QJr72bZcsLK5q3xD --signer 3Gh8mJQfYvJ3uMjdXhPfF31PwbxC5zXofsHHdgyvG5Gr
If the signature is valid, the output will confirm:
Signature is valid
Key Points to Remember
No transactions are made on-chain, ensuring security.
The signature process verifies ownership of the vote key securely.
The
-k
flag points to your private key file, so keep it secure and do not share it.Always verify the correctness of your details before submitting them.
By following these steps, users can easily sign messages off-chain and validate their identities securely without needing to broadcast transactions.
Last updated