Algorand key registration guide

Algorand key registration guide

Urtho
Urtho

Algorand key registration

Using algotools.org to submit key-registration

When to use this guide?

This guide is for cases where your private keys are not stored (👍) on your node, but you can sign transactions using either Lute, Defly, or Pera wallets. Please have a Linux or Mac node synced up and running before following this guide. You will also need an Algorand wallet (account) with a few Algo in it. Any amount greater than 1 Algo will do.
If your node is syncing for quite some time and there is no end to it in sight consider the Fast Catchup procedure that should take around 2hrs to sync your non-archival node.

This guide will be obsolete once the Hack-TUI node interface is released along with QR code keyreg signing support in above wallets.

Why is this needed?

Key registration is needed to make your account (wallet address) participate in Algorand block validation. Once you generate and install participation keys on your node, you need to register them and repeat the procedure before they expire. This way your node can vote on your behalf without having access to your private keys outside of the registration process.

This guide will use https://algotools.org transaction creator to help with the process.

Participation key preparation

Make sure your node is all synced up to the mainnet tip. Check the output for “Sync Time”. It needs to read 0.0s and “Time since last block” needs to be below a few seconds. Notice the “Last committed block” value needed for the next step.

Terminal window
goal node status
#Last committed block: 44702136
#Time since last block: 0.7s
#Sync Time: 0.0s
#Genesis ID: mainnet-v1.0

Now generate a participation key. Skip this step if you already have it generated.

Terminal window
goal account addpartkey \
-a YOUR0PUBLIC0WALLET0ADDRESS0WHERE0YOU0STORE0YOUR0ALGOZZZZZZ \
--roundFirstValid 999999999 \
--roundLastValid 000000000
#Please stand by while generating keys. This might take a few minutes...
#Participation key generation successful.
#Participation ID: IGPSIN77LODAYCPWSR6OV6DLVQKIESEQ2CL34BGYESOVAKPRNV2A

Provide your account (wallet) public address as well as first and last round of the key validity period instead of 999999999/000000000:

  • roundFirstValid is the “last committed block” value from the node status
  • roundLastValid = roundFirstValid + 1000000

Adding 1M will give you around a month before the key expires.

Participation key registration

Now you need all the information on the participation key

Terminal window
# goal account partkeyinfo
Dumping participation key info from /node/data...
Participation ID: IGPSIN77LODAYCPWSR6OV6DLVQKIESEQ2CL34BGYESOVAKPRNV2A
Parent address: YKTO4C2WAC2BSMJMYKM43YCGUYHU3XHAHAYG6UUSF3BLOF6VMGRXKYB7ZU
First round: 44702137
Last round: 45702137
Key dilution: 1001
Selection key: 1WTINWXR8i7KfPAn+/E6VUfiYR7dKvDS4QnWhf/scFU=
Voting key: 73MByLYDxMuzMixfWi/s4vY8p8XuhW5ebzyYg2u1eNo=
State proof key: GMrATdBKHeV0utHDs11jt8yQgJS0JP8Yg4sn/o+1EiBevO6jyNRC7/LeyZVY1xYqy3Y4eBpgqc7N5N+SP+ldWw==

Pick the one that you generated in the previous step and go to https://algotools.org and connect your wallet.

Now choose the “Compose Transaction” and pick “Key Registration” for the transaction type. Copy all the details of your Participation Key to the form.
Data provided in the form is public in nature and will be stored openly on the chain. The AlgoTools site is just composing the transaction for you.

The whole process does not expose your private keys. Signed participation keys only have voting power and no spending rights.

After you press send and sign the transaction, go back to your node to check if it sees the registration.

Terminal window
# goal account listpartkeys
Registered Account ParticipationID Last Used First round Last round
yes YKTO...B7ZU IGPSIN77... N/A 44702137 45702137

The registered column should read “yes” 👏 👏 👏

Fun fact

Your participation key is actually a bundle of thousands of quantum-resistant Falcon keys. They provide Algorand with unique features:

  • No future quantum computer can falsify Algorand history
  • No amount of node runners can collude to roll back the chain

Next steps

  • Go and register for participation alerts at Allo Alerts

Allo Alerts participation monitoring

  • Consider monitoring your node with free telemetry service from Nodely
    Built into Algorand node, no port forwarding is needed.

Node(ly) telemetry service

  • Go and read why your node will only start voting after 320 rounds into the registration.