Skip to content

Commit 7a2a933

Browse files
committed
Merge branch 'main' of github.com:MadelineAu/eigenlayer-docs into eigenlayerContracts
2 parents 2037d23 + 9f63380 commit 7a2a933

29 files changed

+173
-89
lines changed

.github/CODEOWNERS

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
* @dabit3 @wesfloyd @bryangreen @shrimalmadhur @antojoseph @NimaVaziri @scotthconner @MC1823315 @nelsonijih @QuinnLee @mmurrs @non-fungible-nelson
1+
* @dabit3 @wesfloyd @bryangreen @shrimalmadhur @antojoseph @NimaVaziri @scotthconner @MC1823315 @nelsonijih @QuinnLee @mmurrs @non-fungible-nelson @MadelineAu
22

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"position": 1,
3+
"label": "Concepts"
4+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
sidebar_position: 1
3+
title: AVS Overview
4+
---
5+
6+
7+
## What is an Autonomous Verifiable Service (AVS)?
8+
9+
An Autonomous Verifiable Service (AVS) on EigenLayer is a decentralized service built on Ethereum that provides custom verification mechanisms of off-chain operations. Please see the [Intro to EigenLayer](https://docs.eigenlayer.xyz/eigenlayer/overview/) for background context on the broader EigenLayer ecosystem.
10+
11+
An AVS is composed of on-chain contracts for verification and an off-chain network of Operators. Operators execute the service on behalf of the AVS and then post evidence of their execution on-chain to the AVS contracts. Tasks can be initiated via on-chain contracts, off-chain via direct communication with the Operators, or via a task aggregator entity.
12+
13+
The design of the off-chain execution and on-chain verification is entirely flexible based on the needs of the AVS developer.
14+
- If the Operators perform tasks properly, the AVS can autonomously distribute rewards.
15+
- If the Operators perform tasks maliciously, their delegate stake can be slashed autonomously by the AVS, and the Operator can be removed from the Operator set.
16+
17+
Please see the original EigenLayer whitepaper [EigenLayer: The Restaking Collective](/docs/eigenlayer/overview/whitepaper.md) for further background on AVS design.
18+
19+
![AVS Architecture](/img/avs/avs-architecture-v2.png)
20+
21+
22+
## Why Build an AVS?
23+
24+
Launching new Web3 projects requires substantial time and effort to bootstrap capital and operators. Builders should focus on their core product differentiators rather than bootstrapping economic security. Building an Autonomous Verifiable Service (AVS) on EigenLayer offers enhanced security, decentralization, and cost efficiency by utilizing Ethereum’s staking mechanism through restaking. This allows developers to focus more on their product’s core value and innovation without the significant overhead of setting up a new consensus mechanism or validator networks from scratch.
25+
26+
The key benefits of building an AVS on EigenLayer include:
27+
- Security via Restaking: leverage Ethereum’s staking mechanism to secure your service.
28+
- Focus on your project's unique value: spend less time and resources accumulating economic security from scratch.
29+
- Bootstrap your Operator network: quickly access a large network of experienced Operators.
30+
- Decentralization and Trust: build on trust-minimized, decentralized infrastructure.
31+
- Composability: seamlessly integrate with the broader Ethereum ecosystem.
32+
33+
34+
## What Can You Build as an AVS?
35+
36+
The scope of AVS design is broad. It includes **any off-chain service** that can be verified on-chain. This flexibility allows AVS developers to design custom verification mechanisms suited to the unique requirements of their service. The only requirement is that some evidence for the off-chain service’s execution is posted on-chain to enable verification of the service.
37+
38+
Examples of these services include rollup services, co-processors, cryptography services, zk Proof services, and more.
39+
40+
![AVS Categories](/img/avs/avs-categories.png)
41+
42+
43+
## Get in Touch
44+
45+
If you would like to discuss your ideas to build an AVS on EigenLayer, submit your contact information via [this form](https://share.hsforms.com/1BksFoaPjSk2l3pQ5J4EVCAein6l) and we'll be in touch shortly.

docs/developers/HowTo/_category_.json

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"position": 1,
3+
"label": "How To"
4+
}

docs/developers/avs-opset-slashing.md docs/developers/HowTo/avs-opset-slashing.md

+26-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
sidebar_position: 4
3-
title: AVS Operator Set and Slashing of Unique Stake
3+
title: Implement Slashing of Unique Stake
44
---
55

66

@@ -106,3 +106,28 @@ AVS may integrate the AllocationManager via:
106106
* Specify an additional AVSRegistrar contract that applies business logic to gate Operator registration to an Operator Set.
107107

108108
To ensure community and incentive alignment, it is generally expected that AVSs will conduct off-chain outreach to communicate the purpose and task/security makeup of their Operator Sets with their Operators and Stakers prior to beginning registration. This likely would include any potential hardware, software, or stake requirements. It is up to the AVS to decide task distribution within an Operator Set.
109+
110+
## Best Practices
111+
112+
### Operator Set Design
113+
114+
An Operator Set is a grouping of different types of work within a single AVS. Each AVS will have at least one Operator Set. The EigenLayer protocol does not enforce criteria for Operator Sets, however there are a few best practices to consider.
115+
116+
Plan to logically group your AVS tasks (and verification) into separate Operator Sets. First organize your Operator Sets according to which conditions you wish to distribute Rewards for. These conditions could include:
117+
* Unique business logic.
118+
* Unique Stake (cryptoeconomic security) amount and types of token required to be allocated from Operators.
119+
* Slashing conditions.
120+
* Ejection criteria.
121+
* Quantity of Operators and criteria for operators allowed.
122+
* Hardware profiles.
123+
* Liveness guarantees.
124+
125+
More detail on Operator Sets are available [here](https://docs.eigenlayer.xyz/eigenlayer/operator-guides/operator-sets#operator-sets-currently-in-testnet) and implementation details are available [here](https://docs.eigenlayer.xyz/developers/avs-opset-slashing).
126+
127+
128+
129+
### Slashing Design and Veto Committees
130+
131+
The EigenLayer protocol allows each AVS builder to design their own slashing conditions. One popular design is to utilize a governance mechanism with slashing such that a committee can review a proposed (or queued) slashing request. That slashing request can then be either fulfilled or vetoed by a committee of domain experts, governance council or multisig address for the AVS. Please see the [vetoable slasher example implementation](https://github.com/Layr-Labs/eigenlayer-middleware/blob/feat/slashing-release-branch/src/slashers/VetoableSlasher.sol) for reference.
132+
133+
Please be sure that your slashing process can be resolved within the DEALLOCATION_DELAY time window. This is the amount of blocks between an Operator queuing a deallocation of stake from an Operator Set for a strategy and the deallocation taking effect. This will ensure that the slashing event is carried out for the Operator before their stake is deallocated.

docs/developers/avs-permissionlesss.md docs/developers/HowTo/avs-permissionlesss.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
sidebar_position: 8
3-
title: Permissionless Token Strategies
2+
sidebar_position: 7
3+
title: Add ERC-20 Tokens as Restakable Asset
44
---
55

66
# Permissionless Token Strategies

docs/developers/deployment-testnet-mainnet.md docs/developers/HowTo/deployment-testnet-mainnet.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
sidebar_position: 9
3-
title: Preparing for Testnet and Mainnet Deployment
2+
sidebar_position: 6
3+
title: Prepare for and Deploy to Testnet and Mainnet
44
---
55

66

@@ -15,13 +15,13 @@ title: Preparing for Testnet and Mainnet Deployment
1515
- Communication channels that will be utilized for AVS upgrades.
1616
- Describe Operator monitoring tooling available, such as GraFana dashboards, log files or similar.
1717

18-
3. Follow the [AVS Developer Security Best Practices](./avs-developer-best-practices.md) and [Key Manage Considerations for Developers](./avs-developer-best-practices.md#key-management-recommendation-for-developers).
18+
3. Follow the [AVS Developer Security Best Practices](../Reference/avs-developer-best-practices.md) and [Key Manage Considerations for Developers](../Reference/avs-developer-best-practices.md#key-management-recommendation-for-developers).
1919

2020
4. Implement the [Node Specification](https://docs.eigenlayer.xyz/eigenlayer/avs-guides/spec/intro) for your Operator executable package.
2121

2222
5. Follow the [Testnet Dashboard Onboarding instructions](https://docs.eigenlayer.xyz/eigenlayer/avs-guides/avs-dashboard-onboarding).
2323

24-
6. Implement Rewards distributions per the instructions [here](./rewards.md).
24+
6. Implement Rewards distributions per the instructions [here](rewards.md).
2525

2626

2727
## Preparing and Deploying to Mainnet

docs/developers/how-to-build-an-avs.md docs/developers/HowTo/how-to-build-an-avs.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
sidebar_position: 3
2+
sidebar_position: 2
33
title: Build Your Own AVS
44
---
55

66
This section will walk you through the process of designing and building your own AVS from scratch. It is intended to take you from an idea to a working local prototype.
77

8-
Before proceeding, please review the previous sections on [AVS Overview](./avs-developer-guide.md), [EigenLayer Overview](/docs/eigenlayer/overview/README.md) and the [Quick Start example](./quickstart.md) to become familiar with the basic concepts.
8+
Before proceeding, please review the previous sections on [AVS Overview](../Concepts/avs-developer-guide.md), [EigenLayer Overview](/docs/eigenlayer/overview/README.md) and the [Quick Start example](quickstart.md) to become familiar with the basic concepts.
99

1010

1111
## Step 1: AVS Design

docs/developers/avs-dashboard-onboarding.md docs/developers/HowTo/onboard-avs-dashboard.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
sidebar_position: 7
3-
title: AVS Dashboard Onboarding
2+
sidebar_position: 5
3+
title: Onboard to AVS Dashboard
44
---
55

66

docs/developers/quickstart.md docs/developers/HowTo/quickstart.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
sidebar_position: 2
3-
title: Quick Start Example
2+
sidebar_position: 1
3+
title: Get started
44
---
55

66
## Hello World AVS: Local Deployment
@@ -84,7 +84,7 @@ function respondToTask(
8484
}
8585
```
8686

87-
Please find a complete list of the requirements to implement an AVS at [Build Your Own AVS: Step 2 Idea to Code](/docs/developers/how-to-build-an-avs.md#step-2-idea-to-code-building-and-deploying-your-avs-locally).
87+
Please find a complete list of the requirements to implement an AVS at [Build Your Own AVS: Step 2 Idea to Code](/docs/developers/HowTo/how-to-build-an-avs.md#step-2-idea-to-code-building-and-deploying-your-avs-locally).
8888

8989
### Contract Deployment Scripts
9090

docs/developers/rewards.md docs/developers/HowTo/rewards.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
sidebar_position: 8
3-
title: AVS Rewards
2+
sidebar_position: 3
3+
title: Implement Rewards
44
---
55

66
## Overview
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
sidebar_position: 4
3-
title: Developer Support
2+
sidebar_position: 8
3+
title: Get Support
44
---
55

66
If you have any questions or comments throughout the AVS development process, you can get support by reaching out to us using the Intercom button on the bottom right side of this page or <a href="javascript:void(0)" id="intercom_trigger_eldocs" >clicking here</a>. We will promptly follow up with support!
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"position": 1,
3+
"label": "Reference"
4+
}

docs/developers/resources.md docs/developers/Reference/resources.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ These SDKs are wrappers on top of common EigenLayer AVS operations designed to s
2424

2525
### Developer Tooling
2626
- [Othentic](https://www.othentic.xyz) - Library of components for AVS builders.
27-
- [Layer](https://www.layer.xyz/) - Containerized Actively Validated Services (CAVS) via Web Assembly.
27+
- [Layer](https://www.layer.xyz/) - Containerized Autonomous Verifiable Services (CAVS) via Web Assembly.
2828
- [AltLayer Wizard](https://wizard.altlayer.io/) - AVS-as-a-Service platform.
2929
- [Gadget](https://github.com/webb-tools/gadget) - A framework for building modular AVS and Tangle Blueprints.
3030

docs/developers/avs-developer-guide.md

-46
This file was deleted.

docs/eigenlayer/deployed-contracts/deployed-contracts.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: Contract Addresses and Docs
55

66
## EigenLayer Core Restaking Contracts
77

8-
The EigenLayer core contracts are located in this repo: [`Layr-Labs/eigenlayer-contracts`](https://github.com/Layr-Labs/eigenlayer-contracts). They enable restaking of liquid staking tokens (LSTs) and beacon chain ETH to secure new services, called AVSs (actively validated services).
8+
The EigenLayer core contracts are located in this repo: [`Layr-Labs/eigenlayer-contracts`](https://github.com/Layr-Labs/eigenlayer-contracts). They enable restaking of liquid staking tokens (LSTs) and beacon chain ETH to secure new services, called AVSs (Autonomous Verifiable Services).
99

1010
### Deployment Addresses
1111

docs/eigenlayer/information-and-transparency/faq.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ title: FAQ
1111

1212
No, EigenLayer is not a DeFi protocol. EigenLayer is a platform to bootstrap new proof of stake (PoS) systems. Through the EigenLayer protocol, users CANNOT engage in any financial activities such as swapping and lending.
1313

14-
However, for the decentralized services built on top of EigenLayer (we call them AVSs, Actively Validated Services), these services could be DeFi applications themselves or support key functionalities in other DeFi protocols. These AVSs are external to the EigenLayer contracts.
14+
However, for the decentralized services built on top of EigenLayer (we call them AVSs, Autonomous Verifiable Services), these services could be DeFi applications themselves or support key functionalities in other DeFi protocols. These AVSs are external to the EigenLayer contracts.
1515

1616
Moreover, another class of protocols built on top of EigenLayer is called liquid restaking token (LRT). They function similarly to liquid staking tokens. They are permissionlessly built on EigenLayer. We urge users to do their own research before interacting with LRTs.
1717

0 commit comments

Comments
 (0)