Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Heartbeat Transaction

The heartbeat is a special transaction used to challenge the liveness of an online account.

Fields

A heartbeat transaction additionally has the following fields:

FIELDCODECTYPEREQUIRED
Heartbeat AddressaaddressYes
Heartbeat Seedsd[32]bytesYes
Heartbeat Vote IDvid[32]bytesYes
Heartbeat Key Dilutionkduint64Yes
Heartbeat ProofprfstructYes

Heartbeat Address

The heartbeat address is an account address that this heartbeat transaction proves liveness for.

Heartbeat Seed

The heartbeat seed is a block seed.

  • It MUST be the block seed found in the first valid round of the transaction.

Heartbeat Vote ID

The heartbeat vote id is a public key.

  • It MUST be the current public key of the root voting key of the heartbeat address’s account state.

Heartbeat Key Dilution

The heartbeat key dilution is a key dilution parameter (see Algorand Participation Keys specification).

  • It MUST be the current key dilution of the heartbeat address’s account state.

Heartbeat Proof

The heartbeat proof MUST contain a valid signing of the heartbeat seed using the heartbeat vote id and the heartbeat key dilution using the voting signature scheme defined in the Algorand Participation Keys specification.

Validation

TODO

Semantic

TODO