Attestations
Attestations are a way to prove that you still have access to your cold XCH key. Each week (and during deployment), validator 0 will generate a random challenge via:
The attestations are part of the 'rekey' module - you'll follow a similar process to rekey or update the portal.
Example challenge:
The challenge will be sent to you via a message. Once you have it, run:
You can run all the attestation commands on a machine that does NOT have your hot keys in the config. Simply clone the 'cli' repository on your computer and copy config.json (with hot keys removed).
By default, your public cold key is taken from the config. If you're just setting things up, specify your public key using the optional --pubkey [tangem-public-key]
switch.
Remember to replace [challenge]
with the given challenge and [index]
with your assigned validator index. The command will generate a QR code and save it to 'qr.png.'
Example command output:
To sign the challenge, open the Ozone Wallet app on your phone and sign in to the account associated with your validator Tangem card. Press the settings icon in the top right of the screen, and select 'Sign Messages.'
On the new screen, you'll have a QR icon in the top right corner - press on it, and scan the contents of the previously-generated QR code. The message field should be auto-filled with the Message hash
outputted by the previous cli.py
command.
If you can't view 'qr.png', simply copy the JSON string after 'QR code data' and put it into any QR code generator (such as this one). Scan the resulting QR code with Ozone. DO NOT simply copy the hash/JSON - the "bridge": true
part of the JSON tells Ozone to use a special signing method.
After following the on-screen instructions (tap Tangem card, enter PIN, etc.), you'll see a box saying 'Signature' that contains JSON. Your attestation is a string in the following format: {validator_index}-{signature}
. Take both values from the JSON and send them for verification.
Example attestation:
Anyone can verify the given attestation using:
If your config has not been set up yet, this command also supports the --pubkey [tangem-public-key]
switch.
Example command output:
Once validator 0 verifies an attestation, he will reach with a 'check' emoji to the message containing it. Any validator is welcome to verify any attestations and react the same way.
Last updated