Operator Registration
To operate the network, participants must register as EigenLayer Operators and sign up on the AVS
Overview
The Othentic CLI allows you to register as an Operator to an AVS. This guide covers the commands and key configurations needed to get started.
I. Registering as an Operator on EigenLayer
To register an Operator, use the following command:
Follow these steps when prompted:
Enter the Operator's private key.
Enter the Operator Details
Operator name
Description
Website
Logo URL
Twitter profile
At the end, the CLI will display the transaction hash.
II. Registering as an Operator to the AVS
To register an Operator, use the following command:
This command initiates the registration process on the AVS. You will be prompted to provide the following details:
Private Key and Signing key
For testnet, you can use the same key.
For mainnet, two different keys are required. Detailed information on using separate keys is provided in the section below.
AVS Governance Contract Address
You will be prompted to pass in AVS Governance contract address.
Rewards Receiver Address
It is recommended to set the rewards receiver address to a smart contract that distributes rewards to stakers. If left empty, the Operator address will be used as the default.
To register an operator on mainnet add:
--l1-chain mainnet
Unregistering as an Operator
To unregister as an Operator, use the following command:
Controller Key & Consensus Key
If you are unfamiliar with these terms, please refer to the Key Management section for more detailed information. To run an AVS Operator, two keys are required:
Controller key:
Used to sign up with the shared security protocolComment
Represents the account to which restakers delegate their staked assets.
Consensus key:
Used by the node to sign the consensus messages.
For the following examples, we will use:
0x1
as the Controller Key0x2
as the Consensus Key0xA
as the public address for the Controller Key
I. Using Separate EOA keys during Operator Registration
To use separate keys during registration, provide both keys when running the registration command:
II. Using Smart Account as Controller key for Operator (EIP-1271)
EIP-1271 is a standard that enables smart contract wallets to verify signatures, addressing the limitations of traditional signature authentication methods that are designed for Externally Owned Accounts (EOAs).
Smart accounts can be used as a Controller key for Operator registration, and EOA for the Consensus Key. Use the EIP 1271 Operator Registration Script to register the smart account.
Generate BLS Signature: The Consensus key is the same as the BLS key. Use the BLS key to run the following command to generate the signature:
Once executed, a formatted JSON file .othentic/othentic-avs-register-as-operator.json
containing the results will be generated.
Generate Auth Signature (Optional): If the AVS requires an auth signature, you can generate the same using the script below:
<SIGNER_PRIVATE_KEY> is the signing key of the smart account wallet.
<WALLET> is the smart account wallet address.
This will display the auth signature to be passed in the next step.
Generate Transaction Data for Operator Registration - This script generates transaction data for Operator registration.
<ECDSA_PRIVATE_KEY>
is the signing key of the smart account wallet.<RECEIVER_ADDRESS>
is the Rewards Receiver Addressoptional
<AUTH_TOKEN>
is the signature for allowlist service (from step2)<RPC>
: L1 RPC URL
Once executed, a formatted JSON file named .othentic/othentic-evm-transaction-data.json
containing the transaction data will be generated.
Execute transaction: Use the generated data to execute a transaction using your smart account.
|||. Register Operator with Other wallets
Ledgers can be used as a Controller key for Operator registration, and EOA for the Consensus key. Use the EIP 1271 Operator Registration Script to register.
Generate BLS Signature: The Consensus key is same as the BLS key. Use the BLS key to run the following command to generate the signature:
Once executed, a formatted JSON file .othentic/othentic-avs-register-as-operator.json
containing the results will be generated.
Generate Auth Signature (Optional): If the AVS requires an auth signature, you can generate the same using the script below:
<SIGNER_PRIVATE_KEY> is the signing key of the smart account wallet.
<WALLET> is the smart account wallet address.
This will display the auth signature to be passed in the next step.
Execute the transaction in EtherScan: Use the above values to initiate a transaction on the AVS Governance contract registerAsOperator method via Etherscan or the L1 that you are using and sign uring your ledger.
Running an Operator Node
When running the node, configure the environment variables as follows:
PRIVATE_KEY: Set this to the Consensus Key.
OPERATOR_ADDRESS: Set this to the public address of the Controller Key.
OPERATOR_ADDRESS
is the public address of the account that has signed up with the shared security protocol—the address to which stakers delegate their staked assets.
Example .env
file:
Update the BLS (consensus) Key
Othentic CLI allows you to update the consensus key for an operator. It internally calls updateBlsKey method on the Attestation Center contract. To update the key, run the following command:
Follow these steps when prompted:
Provide the Controller key of the operator.
Enter the Attestation Center contract address.
Enter the new Consensus key.
At the end, the CLI will display the transaction hash. Alternatively, you can pass a keystore file and its password to update the same.
Last updated