Create an EigenLayer DV
The Obol-SDK is in a beta state and should be used with caution. Ensure you validate all important data.
This is a walkthrough of creating a distributed validator cluster pointing to an EigenLayer EigenPod, using the DV Launchpad and other applications.
Pre-requisites
- The Ethereum addresses or ENS names for the node operators in the cluster. (Currently the DV Launchpad only supports Metamask or equivalent injected web3 browser wallets.)
- If creating more than one validator, the ability to use the obol-sdk is required.
Create a SAFE to own the EigenPod
Deploy a SAFE with the addresses of the node operators as signers. A reasonable signing threshold is the same as a cluster (>2/3rds) but use good judgement if a different threshold or signer set suits your use case. The principal ether for these validators will be returned to this address.
Create an EigenPod
Select the "Create EigenPod" option on the EigenLayer App's 'Restake' page, using the created SAFE account via WalletConnect. Note the EigenPod's address.
Create a Splitter for the block reward
Create a Splitter on splits.org, to divide the block reward and MEV amongst the operators. Note the split's address.
To be recognised as a part of Obol's 1% for Decentralisation campaign, you must contribute 3% of execution layer rewards by setting this address as a recipient on your split. Upcoming Obol EigenPods will support contributing 1% of total rewards instead of 3% of only execution rewards.
Create the DV cluster invite
With these contracts deployed, you can now create the DV cluster invitation to send to Node Operators, this can be done through the DV Launchpad or the Obol SDK.
- DV Launchpad
- SDK
- Use the "Create a cluster with a group" flow on the DV Launchpad.
- Choose a cluster name and invite your operator's addresses.
- When setting the withdrawal credentials, select "Custom".
- For "Withdrawal Address", set the EigenPod contract address.
- For "Fee Recipient", set the Split contract address.
- Continue the process of creating a cluster normally, share the invitation link with the operators and have them complete the Distributed Key Generation ceremony.
- If you are creating a cluster with more than one validator, you will need to craft the cluster invitation with the SDK.
- Follow the Create a cluster using the SDK guide.
- For
withdrawal_address
, set the EigenPod contract address. - For
fee_recipient_address
, set the Split contract address. - Continue the process of creating the cluster as per the guide, share the invitation link with the operators and have them complete the Distributed Key Generation ceremony.
Deposit and restake your Distributed Validator
Once you have completed the DKG ceremony, you can continue the flow on the EigenLayer app to activate these validators and restake them. Consult the EigenLayer documentation to continue the process.