Run Validators
tip
- For an introduction on Validators in Hyperlane, you can check out the Overview section.
As you follow this guide, you can run a Hyperlane validator on any of the existing chains the protocol is live on. Hyperlane Validators are run on a per-origin-chain basis, and these instructions are written for a single chain.
Requirementsβ
-
Secure Signing Key
- Validators use this key to sign the
Mailbox
's latest merkle root. Securing this key is important. If it is compromised, attackers can attempt to falsify messages, causing the Validator to be slashed. - The Hyperlane Validator agent currently supports signing with AWS KMS keys that are accessed via API keys/secrets as well as hexadecimal plaintext keys. See more under agent keys.
- Validators use this key to sign the
-
Publicly Readable Storage
- Validators write their signatures off-chain to publicly accessible, highly available, storage, so that they can be aggregated by the Relayer.
- The Hyperlane Validator agent currently supports storing signatures on AWS S3 using the same AWS API key above, as well as storing signatures in the local filesystem for testing.
- The design is open source and generalizable to other storage and key solutions. There is a community-submitted work-in-progress PR for GCS.
-
Machine Requirements
- Validators can compile the Rust binary themselves or run a Docker image provided by Abacus Works. The binary can be run using your favorite cloud service. You can even run multiple instances of them in different regions for high availability, as Hyperlane has no notion of "double signing."
- Hardware requirements & costs are minimal - validators often start with a 2-Core / 2GB RAM / 4GB Storage setup with typical costs around $75/mo
-
RPC Node
- Validators make simple view calls to read merkle roots from the Mailbox contract on the chain they are validating for. You must use your own RPC urls not any public ones.
- Validators should configure multiple RPC URLs for redundancy and reliability. Different chains have different configurationsβcheck the Configuration section for details.
caution
Operating a Validator for Polygon mainnet requires access to an archive node. This is because Validators should only sign roots once they've been finalized, and Polygon requires 256 block confirmations to achieve finality.