Інтеграція з EigenLayer restaking

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Інтеграція з EigenLayer restaking
Складний
~3-5 днів
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1285
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1122
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    859

Інтеграція рестейкингу EigenLayer

Інтеграція EigenLayer — не просто "підключити бібліотеку". Це вбудовування вашого протоколу або програми в екосистему рестейкингу: або як AVS, що використовує безпеку EigenLayer, або як програма, що допомагає користувачам переставити свій ETH.

Сценарії інтеграції

Сценарій 1: Ваш протокол як AVS Ви будуєте oracle мережу, міст, DA шар. Замість свого набору валідаторів — оператори EigenLayer забезпечують вашу безпеку.

Сценарій 2: DeFi програма з EigenLayer депозитами Ви будуєте lending протокол або AMM та хочете приймати переставлений ETH або LRT як колатераль.

Сценарій 3: Wallet/Portfolio app Додати можливість рестейкингу для ваших користувачів прямо в інтерфейсі.

Технічні інтерфейси

Депозит через контракти EigenLayer

// Депозит LST (напр., stETH) в EigenLayer StrategyManager
IStrategyManager strategyManager = IStrategyManager(EIGENLAYER_STRATEGY_MANAGER);
IERC20 stETH = IERC20(STETH_ADDRESS);

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

// Депозит
strategyManager.depositIntoStrategy(
    IStrategy(STETH_STRATEGY),  // Стратегія для stETH
    stETH,
    amount
);

Делегування

Після депозиту, staker делегує свої shares оператору:

IDelegationManager delegationManager = IDelegationManager(EIGENLAYER_DELEGATION_MANAGER);

delegationManager.delegateTo(
    operatorAddress,
    approverSignatureAndExpiry,  // Якщо оператор permissioned
    approverSalt
);

EigenPod для нативного рестейкингу ETH

Для нативних stakers ETH (не LST):

IEigenPodManager eigenPodManager = IEigenPodManager(EIGENPOD_MANAGER);

// Створити EigenPod
eigenPodManager.createPod();

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

Withdrawal credentials валідатора встановлюються на адресу EigenPod. Тепер винагороди ETH рахуються як переставлені.

Читання on-chain стану

Для програм портфоліо — потрібно показувати стан позиції рестейкингу:

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 у суму базового токена
const strategy = new ethers.Contract(stETH_STRATEGY_ADDRESS, strategyABI, provider);
const underlyingAmount = await strategy.sharesToUnderlying(shares);

The Graph для індексації

EigenLayer subgraph доступний для швидкого запиту історичних даних:

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

Інтеграція EigenLayer у існуючу програму — 2-6 тижнів залежно від глибини інтеграції.