Интеграция с Rocket Pool (liquid staking)

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Интеграция с Rocket Pool (liquid staking)
Средняя
~2-3 рабочих дня
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1258
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1170
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    873
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1092
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    563
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    830

Интеграция с Rocket Pool (liquid staking)

Rocket Pool — второй по размеру liquid staking протокол на Ethereum ($3B+ TVL), известен своей децентрализованностью: тысячи независимых node operators, минимальный trusted set. rETH — его liquid staking token.

rETH: value-accruing token

rETH не rebasing: баланс пользователя фиксирован, но каждый rETH стоит всё больше ETH с течением времени. Это делает rETH более совместимым с DeFi чем stETH в нативном виде.

Exchange rate растёт асинхронно при поступлении rewards от валидаторов.

Mint rETH (deposit ETH)

interface IRocketTokenRETH {
    function getEthValue(uint256 rethAmount) external view returns (uint256);
    function getRethValue(uint256 ethAmount) external view returns (uint256);
    function getExchangeRate() external view returns (uint256);
}

interface IRocketDepositPool {
    function deposit() external payable;
    function getBalance() external view returns (uint256);
    function getMaximumDepositAmount() external view returns (uint256);
}

// Deposit ETH → rETH через DepositPool
IRocketDepositPool depositPool = IRocketDepositPool(ROCKET_DEPOSIT_POOL);
depositPool.deposit{value: ethAmount}();
// rETH автоматически зачислается на адрес отправителя

Важно: Rocket Pool имеет deposit capacity limit. При заполненном пуле deposit ревертится. Нужно проверять getMaximumDepositAmount() перед deposit.

Альтернатива: rETH на вторичном рынке

При заполненном deposit pool можно купить rETH на Uniswap или Curve (rETH/ETH пул):

// Через Uniswap V3
const rETHUniswapPool = '0xa4e0faA58465A2D369aa21B3e42d43374c6F9613'; // rETH/WETH

// Через Curve
const rETHCurvePool = '0x0f3159811670c117c372428D4E69AC32325e4D0F';

Exchange rate и price feeds

IRocketTokenRETH rETH = IRocketTokenRETH(RETH_ADDRESS);

// Текущий exchange rate (ETH за 1 rETH, в wei)
uint256 ethPerRETH = rETH.getExchangeRate();

// Конвертации
uint256 ethValue = rETH.getEthValue(rethAmount);
uint256 rethValue = rETH.getRethValue(ethAmount);

Chainlink также предоставляет rETH/ETH price feed.

Redemption (burn rETH → ETH)

interface IRocketTokenRETH {
    function burn(uint256 rethAmount) external;
}

// Burn rETH → получить ETH
IRocketTokenRETH(RETH_ADDRESS).burn(rethAmount);

Redemption работает только если в пуле достаточно ETH. При нехватке ликвидности — нужно ждать или продавать rETH через DEX.

Decentralization преимущества для протоколов

Некоторые DeFi протоколы (Aave, MakerDAO) предпочитают rETH как collateral за более децентрализованную природу. При добавлении LST-коллатерала — Rocket Pool рассматривается как меньший systemic risk чем Lido.

Интеграция Rocket Pool — 1-2 недели. Документация docs.rocketpool.net актуальна и подробна.