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:
FIELD | CODEC | TYPE | REQUIRED |
---|---|---|---|
Heartbeat Address | a | address | Yes |
Heartbeat Seed | sd | [32]bytes | Yes |
Heartbeat Vote ID | vid | [32]bytes | Yes |
Heartbeat Key Dilution | kd | uint64 | Yes |
Heartbeat Proof | prf | struct | Yes |
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