Create AVS
Last updated
Last updated
Make sure you have Holesky Testnet ETH. You can get hold of some Holesky ETH by requesting tokens from any of the faucets listed below:
Head over to https://wizard.altlayer.io/
Log in using your Google credentials. Once you are logged in, you will be asked to create an organisation. Type in your organisation name and click "create". Later, you will be able to add your fellow team members to your organisation. Organisation team members can view and manage your deployed AVS.
Click on “New AVS” to start deploying a new AVS.
To deploy a new AVS, do the following step and then click on "Submit" after confirming the details on the summary panel:
Type in your preferred AVS name
Choose a service manager template as your AVS type
You can either choose to deploy a preloaded AVS template that is provided by us, such as Hello World (ECDSA), AltLayer Mach (BLS), or Bridge (BLS) etc.; OR
Choose to deploy a Custom AVS (either ECDSA or BLS). To deploy a Custom AVS, you have to paste a flattened version of your service manager contract to the editor.
Do note that your custom AVS contract must implement the IServiceManager
interface. This ensures that the AVS can be indexed, managed, and interacts properly with both EigenLayer and AltLayer services. Below are the details for the primary interfaces:
IServiceManager
The IServiceManager
interface forms the main point of interaction for an AVS to push updates to the EigenLayer rewards system. It is an extension of IServiceManagerUI
and includes functionalities to create reward submissions and manage operator interactions.
Source File: IServiceManager
IServiceManagerUI
This interface outlines the required user interface functionalities that every AVS should provide. It includes the following functionalities:
Updating the metadata URI
Registering and deregistering operators with the AVS
Fetching restaked strategies for operators
Providing the list of restakable strategies
Source File: IServiceManagerUI
[Optional] IOperatorAllowlist
To further enhance security and control over which operators can interact with the AVS, the IOperatorAllowlist
interface can be optionally implemented. This allows the AVS to dynamically manage a list of approved operators who can register and participate. AVS that do not wish to impose restrictions on operators can ignore this feature.
Source File: IOperatorAllowlist
You can easily inherit and use the OperatorAllowlist
implementation from the template provided in this repository.
Last but not least, you have to compile the code on the Wizard UI and enter your custom arguments. Finally, you can continue with the deployment process.
How to deploy a Custom BLS AVS
How to deploy a Custom ECDSA AVS
Select your preferred supported restaked strategies for this AVS
To start the deployment process, you will need to connect your Ethereum wallet (e.g., MetaMask) to continue.
The first step is to deploy the AVS base contracts. Click on “Deploy” and confirm the transaction in your Ethereum wallet. Once the transaction is included in the blockchain, you will receive a deployment confirmation.
Next, you will be prompted to deploy the selected AVS service manager template contract. Similarly, click " Deploy " to confirm the Ethereum wallet transaction. You will get a deployment confirmation once the blockchain includes the transaction.
After the deployments have been confirmed, you may view and manage your newly deployed AVS.