You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/products/eigenlayer/developers/howto/build/multichain/implement-multichain.md
+11-20Lines changed: 11 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,15 +23,16 @@ Implementers of multichain verification need to:
23
23
24
24
## 1. Configure Operator Set Curve Type
25
25
26
-
Decide on the cryptographic curve type for Operator keys. Choose ECDSA for less than 30 Operators, or BN254 BLS for more than 30 Operators.
27
-
[Create Operator Set](../operator-sets/create-operator-sets.md). Set the `KeyType` in `KeyRegistrar`.
26
+
1. Decide on the cryptographic curve type for Operator keys. Choose ECDSA for less than 30 Operators, or BN254 BLS for more than 30 Operators.
27
+
2.[Create the Operator Set](../operator-sets/create-operator-sets.md).
28
+
3.[Set the `KeyType` in `KeyRegistrar`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/v1.7.0-rc.4/docs/permissions/KeyRegistrar).
28
29
29
30
## 2. Deploy Operator Table Calculator
30
31
31
32
Deploy the `OperatorTableCalculator` contract to define stake weighting logic.
32
33
33
34
To use the as-is unweighted stakes, deploy the template `ECDSATableCalculatorBase` or `BN254TableCalculatorBase` contract.
34
-
The contract can be upgraded. Alternatively, use the onchain default unweighted contract provided by EigenLabs.
35
+
The contract can be upgraded. Alternatively, use the onchain [default unweighted contract provided by EigenLabs](https://github.com/Layr-Labs/eigenlayer-middleware?tab=readme-ov-file#current-middlewarev2-testnet-deployment).
35
36
36
37
To define custom stake weighting logic, override `calculateOperatorTable()` to add:
37
38
- Asset weighting (for example, ETH 2x vs stablecoins)
@@ -43,38 +44,28 @@ For more information on stake weighting and how to customize, refer to [Stake We
43
44
44
45
## 3. (Optional) View the registered cryptographic keys for your Operator Set
45
46
46
-
Operators self-register using `KeyRegistrar.registerKey(operator, operatorSet, pubkey, sig)`.
47
+
Operators self-register using [`KeyRegistrar.registerKey(operator, operatorSet, pubkey, sig)`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/v1.7.0-rc.4/docs/permissions/KeyRegistrar.md#key-registration).
47
48
48
-
## 4. Opt-in to Multichain
49
+
## 4. Opt-in to Multichain and create a generation reservation
49
50
50
51
To enable multichain verification, register with `CrossChainRegistry`. To register, use:
*`staleness` = 14 days (must exceed 7-day refresh)
56
-
*`minWeight` = 0
57
+
*`owner` = Permissioned owner of the Operator Set on target chains
57
58
58
59
A `staleness` period of `0` enables certificates to be verified against any timestamp in the past.
59
60
60
-
Do not set the `staleness` to greater than 0 and less than the update cadence of the Operator tables (communciated offchain
61
-
and currently 7 days). If set in this range, certificates will be unable to be validated.
62
-
63
-
Where `chainIDs` are:
64
-
65
-
| Chain Name | Chain ID |
66
-
|----------------|------------|
67
-
| Ethereum | 1 |
68
-
| Base | 8453 |
69
-
| Sepolia | 11155111 |
70
-
| Base-Sepolia | 84532 |
71
-
61
+
The `staleness` must be greater than the update cadence of the Operator tables (communciated offchain
62
+
and currently 7 days).
72
63
73
64
The caller must have UAM permissions for operatorSet.avs.
74
65
75
66
## 5. Wait for deployment
76
67
77
-
EigenLabs generates and transports your stake table. To determine when transport is complete, monitor `OperatorTableUpdater.GlobalRootConfirmed`.
68
+
EigenLabs generates and transports your stake table. To determine when transport is complete, monitor [`OperatorTableUpdater.GlobalRootConfirmed`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/v1.7.0-rc.4/docs/multichain/destination/OperatorTableUpdater.md).
0 commit comments