Tooling Setup & Configuration
Keys API (KAPI)​
Validator Ejector (Ejector)​
Required Infra for New Tooling​
In order for the new tooling to read Lido contracts and validator information, tooling needs access to an Execution Node (full node to be exact) and a Consensus Node.
A dedicated CL+EL setup is recommended.
Although the Ejector has security protections, using hosted RPC providers (Infura, Alchemy, etc) is discouraged.
It's also advised to have secure Ejector->Nodes and KAPI->Nodes communication, for example via a private network.
Common Configuration Options​
Operator ID​
You can find it on the Operators Dashboard (#123 on the operator card): Hoodi, Mainnet
Staking Router Module ID:​
ID of the StakingRouter contract module.
Currently, it has only one module (NodeOperatorsRegistry), it's id is 1.
Oracle Allowlist​
The oracle members are retrievable from the HashConsensus (for the Validator Exit Bus Oracle ) contract on-chain, directly from the contract using Etherscan.
| network | Contract Call |
|---|---|
| Mainnet | getMembers() |
| Hoodi | getMembers() |
Example Infra Setup​
Lido DevOps team prepared an easy way to get the recommended tooling and its dependencies up and running using Ansible. This is a great way to get familiar with the new tooling. This is an example implementation, and still requires security and hardening by the NO; it can be found on GitHub.
It sets up 3 hosts:
- Execution Layer + Consensus Layer nodes (Geth + Lighthouse)
- KAPI & Ejector
- Monitoring
Monitoring consists of:
- Prometheus for metrics
- Alertmanager for alerts
- Loki for logs
- Grafana for dashboards