π Signing A Message with CLI
Instructions for Signing an Off-Chain Message with Solana CLI
π Verifying Your Identity Off-Chain
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.
π Choosing a Claim Wallet
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β ReplaceyourClaimPublicKeywith your actual claim public key.-k /pathToYourVoteKeyβ Replace/pathToYourVoteKeywith 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
- Generated Signature:
9XYT6HdQmUkDkhVgr87yGeCh2pAx92tFyzXTUE5u3GTD1Q1WR1AokEpaw7RVtd1wXuMRCiw2QJr72bZcsLK5q3xD- This is the signature generated for your message. It proves ownership of your vote key without needing to sign a blockchain transaction.
π€ What to Do Next
Once you have the signature, 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 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 flagpoints 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.