Интеграция с EigenLayer restaking

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Интеграция с EigenLayer restaking
Сложная
~3-5 рабочих дней
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1221
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1163
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    855
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1056
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    828

Интеграция с EigenLayer restaking

Интеграция с EigenLayer — это не просто "подключить библиотеку". Это встраивание вашего протокола или приложения в экосистему restaking: либо как AVS использующий EigenLayer security, либо как приложение помогающее пользователям restake их ETH.

Сценарии интеграции

Сценарий 1: Ваш протокол как AVS Вы строите oracle сеть, bridge, DA layer. Вместо своего validator set — EigenLayer operaors обеспечивают вашу безопасность.

Сценарий 2: DeFi приложение с EigenLayer deposits Вы строите lending protocol или AMM и хотите принимать restaked ETH или LRT как collateral.

Сценарий 3: Wallet/Portfolio app Добавить возможность restaking для ваших пользователей прямо в интерфейс.

Технические интерфейсы

Deposit через EigenLayer contracts

// Deposit LST (например, stETH) в EigenLayer StrategyManager
IStrategyManager strategyManager = IStrategyManager(EIGENLAYER_STRATEGY_MANAGER);
IERC20 stETH = IERC20(STETH_ADDRESS);

// Approve
stETH.approve(address(strategyManager), amount);

// Deposit
strategyManager.depositIntoStrategy(
    IStrategy(STETH_STRATEGY),  // Стратегия для stETH
    stETH,
    amount
);

Delegation

После deposit, staker делегирует свои shares оператору:

IDelegationManager delegationManager = IDelegationManager(EIGENLAYER_DELEGATION_MANAGER);

delegationManager.delegateTo(
    operatorAddress,
    approverSignatureAndExpiry,  // Если оператор permissioned
    approverSalt
);

EigenPod для native ETH restaking

Для native ETH stakers (не LST):

IEigenPodManager eigenPodManager = IEigenPodManager(EIGENPOD_MANAGER);

// Создать EigenPod
eigenPodManager.createPod();

// Адрес созданного pod
address podAddress = eigenPodManager.ownerToPod(msg.sender);

Withdrawal credentials валидатора устанавливаются на адрес EigenPod. Теперь ETH rewards считаются restaked.

Чтение on-chain состояния

Для portfolio applications — нужно показывать состояние restaking позиций:

import { ethers } from 'ethers';

const strategyManagerABI = [...]; // ABI из @eigenlayer/eigenlayer-contracts

const strategyManager = new ethers.Contract(
    STRATEGY_MANAGER_ADDRESS, 
    strategyManagerABI,
    provider
);

// Получить shares пользователя в конкретной стратегии
const shares = await strategyManager.stakerStrategyShares(
    userAddress,
    stETH_STRATEGY_ADDRESS
);

// Конвертировать shares в underlying token amount
const strategy = new ethers.Contract(stETH_STRATEGY_ADDRESS, strategyABI, provider);
const underlyingAmount = await strategy.sharesToUnderlying(shares);

The Graph для индексации

EigenLayer subgraph доступен для быстрого querying исторических данных:

query GetOperatorDelegations($operatorId: String!) {
  operator(id: $operatorId) {
    totalShares
    delegators {
      staker {
        id
      }
      shares
      strategy {
        id
      }
    }
    avss {
      avs {
        id
        metadataURI
      }
    }
  }
}

Интеграция EigenLayer в существующее приложение — 2-6 недель в зависимости от глубины интеграции.