Register Your Operator
Your operator will not begin receiving traffic from the EigenDA disperser until it has registered for one or more quorums with EigenDA. Note, as discussed in delegation requirements, that registration with an EigenDA quorum requires that an operator already be registered as an operator with EigenLayer and to have a minimum amount of stake delegated within each quorum to be registered.
Following ejection from a quorum, there is a cooldown of 7 days on mainnet & 1 day on testnet
Opt-in to an EigenDA Quorum
If you meet the delegation requirements for opting into one or more quorums, you can execute the following command from the eigenda-operator-setup
folder to opt-in to the desired quorums:
- Mainnet
- Holesky
cd mainnet
./run.sh opt-in <quorum>
# for opting in to quorum 0:
./run.sh opt-in 0
# for opting in to quorum 0 and 1:
./run.sh opt-in 0,1
Note: EigenDA maintains two quorums on Mainnet: Restaked ETH (including Native and LST Restaked ETH) and EIGEN. EigenDA allows the Operator to opt-in to either quorum or both quorums at once (aka dual-quorum).
- ETH (Native & LST) Quorum:
0
- EIGEN Quorum:
1
- Dual Quorum:
0,1
You only need to provide the quorum which you want to opt into. For example, if you are already registered to quorum 0
and want to opt-in one more quorum 1
, then you just need to set <quorum>
as 1
while opting in again.
If you attempt to opt-in to both quorums ('0,1
') you must have sufficient TVL to opt-in to the active Operator set for both quorums, otherwise the entire opt-in attempt will fail for both quorums. The opt-in attempt for both quorums is an "all or nothing" process.
cd holesky
./run.sh opt-in <quorum>
# for opting in to quorum 0:
./run.sh opt-in 0
# for opting in to quorum 0 and 1:
./run.sh opt-in 0,1
# for opting in to all quorums:
./run.sh opt-in 0,1,2
Note: EigenDA maintains three quorums on Holesky: Restaked ETH (including Native and LST Restaked ETH) and Restaked WETH. EigenDA allows the Operator to opt-in to any quorum or all quorums at once.
- ETH (Native & LST) Quorum:
0
- WrappedEth (WETH) Quorum:
1
- Restaked ALT (reALT) Quorum:
2
You only need to provide the quorum which you want to opt into. For example, if you are already registered to quorum 0
and want to opt-in one more quorum 1
, then you just need to set <quorum>
as 1
while opting in again.
If you attempt to opt-in to many quorums ('0,1,2
') you must have sufficient TVL to opt-in to the active Operator set for all quorums, otherwise the entire opt-in attempt will fail for all quorums. The opt-in attempt for all quorums is an "all or nothing" process.
https://docs.eigenda.xyz/networks/ https://docs.eigenlayer.xyz/eigenlayer/operator-guides/operator-introduction#quorums
Operators must wait for their stakes to be synced if the delegation happened after you opt-in to the EigenDA AVS. EigenLayer's AVS-Sync component runs at certain intervals to update the delegation totals on chain for each operator. If you are unable to opt in despite having sufficient delegated stake, please wait at least the amount necessary for staked to be synced, then retry opt-in. This sync interval varies for different networks and you can check Networks.
The script will use the NODE_HOSTNAME
from .env as your current IP.
If your operator fails to opt-in to EigenDA or is ejected by the Churn Approver then you may run the opt-in command again after the rate limiting threshold has passed. The current rate limiting threshold is 5 minutes.
If you receive the error “error: failed to request churn approval .. Rate Limit Exceeded” you may retry after the threshold has passed. If you receive the error “insufficient funds”, you may increase your Operator’s delegated TVL to the required minimum and retry after the threshold has passed.
More information about the registration process that is executed by the above commands can be found at the Registration Protocol Overview.
Check for network traffic
EigenDA uses the operator state that is 75 blocks (15 minutes) behind the current chain head to ensure the state is not at risk of being reorg'd. About 15 minutes after you have successfully opted into a quorum, you should begin to see logs indicating that your node is receiving, validating, and storing batches from the network, like the following:
Batch verify 1 frames of 256 symbols out of 1 blobs
time=2024-03-22T19:34:39.858Z level=DEBUG source=/app/node/node.go:330 msg="Validate batch took" duration:=96.155565ms
time=2024-03-22T19:34:39.858Z level=DEBUG source=/app/node/node.go:340 msg="Store batch took" duration:=0s
time=2024-03-22T19:34:39.859Z level=DEBUG source=/app/node/node.go:346 msg="Signed batch header hash" pubkey=0x00cea342f086977a33b3f1bba57d09c6cdf8eaf20b9dec856dc874ab65414b6e2377a91ab3bc2360224f3ba071eb4753da650e957d9c0535b14922609a9ff052150595f3a89c06e87a78d3e3ebad09771f181b632bd971c1d58deb3e1fde9397087c1cc1097c48b1e900d418ef43538a8abdccde72921c3148ae4de5e0f39ef3
time=2024-03-22T19:34:39.859Z level=DEBUG source=/app/node/node.go:349 msg="Sign batch took" duration=1.32679ms
time=2024-03-22T19:34:39.860Z level=INFO source=/app/node/node.go:351 msg="StoreChunks succeeded"
time=2024-03-22T19:34:39.860Z level=DEBUG source=/app/node/node.go:353 msg="Exiting process batch" duration=97.815499ms
List Quorums
The following command lists the quorums the node is currently opted into.
./run.sh list-quorums
Opt-Out of an EigenDA Quorum
Please be careful to ensure that you only opt-out of your current (or intended) quorum.
The following command can be used to opt out from the EigenDA AVS:
./run.sh opt-out <quorum>
# for opting out to quorum 0:
./run.sh opt-out 0
# for opting out to quorum 0 and 1:
./run.sh opt-out 0,1
Update Node Sockets
Updates node Sockets due to any changes in the node configuration
Ex: Ports for dispersal or retrieval have been changed
Be sure to update your .env before running
./run.sh update-socket