Интеграция с Wormhole

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Интеграция с Wormhole
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • 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

Интеграция с Wormhole

Wormhole — один из крупнейших cross-chain messaging протоколов: более 50 поддерживаемых сетей, включая EVM, Solana, Aptos, Sui, Cosmos (через IBC gateway). По объёму заблокированных активов конкурирует с LayerZero и Axelar. За Wormhole стоит сеть из ~19 Guardian нод — валидаторов, которые наблюдают события на исходной цепи и подписывают VAA (Verified Action Approval).

Понимание VAA — ключ к интеграции Wormhole. Это подписанное Guardian сетью сообщение о событии на одной цепи, которое можно предъявить контракту на другой цепи. VAA = proof того, что событие произошло.

Архитектура Wormhole

Source Chain                    Wormhole Guardians              Target Chain
    │                                   │                            │
    │ publishMessage(payload)            │                            │
    │ → Core Bridge Contract             │                            │
    │   emits LogMessagePublished        │                            │
    │                            observe event                        │
    │                            sign VAA                             │
    │                            (19 guardians,                       │
    │                             13-of-19 threshold)                 │
    │                                   │  VAA signed                 │
    │                                   │ ──────────────────────────► │
    │                                                       receiveMessage(VAA)
    │                                                       verify Guardian sigs
    │                                                       execute payload

Guardian сеть — доверенная третья сторона. Компромисс 13 из 19 Guardian нод = полный контроль над протоколом. Это известный trade-off Wormhole относительно более decentralized решений.

Wormhole Connect: быстрый старт для bridge UI

Для добавления UI bridge в приложение — Wormhole Connect компонент. Не нужно писать смарт-контракты:

npm install @wormhole-foundation/wormhole-connect
import WormholeConnect from '@wormhole-foundation/wormhole-connect'

export default function BridgePage() {
    return (
        <WormholeConnect
            config={{
                network: 'Mainnet',
                chains: ['Ethereum', 'Solana', 'Arbitrum', 'Base', 'BNB'],
                tokens: ['ETH', 'USDC', 'USDT', 'WBTC'],
                rpcs: {
                    Ethereum: 'https://eth-mainnet.g.alchemy.com/v2/...',
                    Solana: 'https://api.mainnet-beta.solana.com',
                },
                ui: {
                    title: 'Bridge',
                    defaultInputs: {
                        fromChain: 'Ethereum',
                        toChain: 'Arbitrum',
                        tokenKey: 'ETH',
                    }
                }
            }}
        />
    )
}

Connect поддерживает несколько протоколов маршрутизации: Token Bridge (lock-and-mint), CCTP (Circle's native USDC bridge, no wrapped tokens), порталы ликвидности. Автоматически выбирает оптимальный маршрут.

Программная интеграция через Wormhole SDK

Для кастомных cross-chain workflows — TypeScript SDK (wormhole-sdk v3):

import { wormhole } from '@wormhole-foundation/sdk'
import { EvmPlatform } from '@wormhole-foundation/sdk-evm'
import { SolanaPlatform } from '@wormhole-foundation/sdk-solana'

const wh = await wormhole('Mainnet', [EvmPlatform, SolanaPlatform])

// Получаем chain contexts
const srcChain = wh.getChain('Ethereum')
const dstChain = wh.getChain('Solana')

// Token Bridge transfer
const tb = await srcChain.getTokenBridge()
const transferTxs = tb.transfer(
    senderAddress,
    { chain: 'Solana', address: recipientAddress },
    'native',    // ETH
    1_000_000_000_000_000_000n  // 1 ETH в wei
)

// Отправляем транзакцию на Source chain
for await (const tx of transferTxs) {
    await signer.sendTransaction(tx.transaction)
}

// Ждём VAA (обычно 15 минут для Ethereum finality)
const [txid] = await srcChain.sendWait(transferTxs, signer)
const vaa = await wh.getVaa(txid, 'TokenBridge:Transfer', 60_000)

// Redeem на Target chain
const redeemTxs = dstChain.getTokenBridge().redeem(recipientAddress, vaa)
for await (const tx of redeemTxs) {
    await solanaSigner.sendTransaction(tx.transaction)
}

CCTP маршрут для USDC

Circle's Cross-Chain Transfer Protocol через Wormhole — нативный USDC без wrapped токенов. USDC сжигается на исходной цепи, минтится нативно на целевой. Поддерживаемые цепи: Ethereum, Arbitrum, Base, Optimism, Avalanche, Polygon.

// CCTP transfer через Wormhole SDK — тот же API, другой route
const cctp = await srcChain.getCircleBridge()
const transfer = cctp.transfer(
    sender,
    { chain: 'Arbitrum', address: recipient },
    'USDCeth', // USDC on Ethereum
    1_000_000n  // 1 USDC (6 decimals)
)

CCTP значительно быстрее Token Bridge: ~2 минуты vs ~15-20 минут на Ethereum. Для USDC transfers — всегда предпочтителен.

Custom messaging: cross-chain приложения

Wormhole не только bridge для токенов — это general-purpose messaging. Приложение может отправить произвольный payload из одной цепи, получить его в другой.

// Source chain: отправка сообщения
interface IWormhole {
    function publishMessage(
        uint32 nonce,
        bytes memory payload,
        uint8 consistencyLevel  // 1 = finalized, 200 = instant (Solana)
    ) external payable returns (uint64 sequence);
}

contract CrossChainApp {
    IWormhole wormhole;

    function sendMessage(bytes memory payload) external payable {
        uint64 sequence = wormhole.publishMessage{value: msg.value}(
            0,      // nonce
            payload,
            1       // consistency level: wait for finalization
        );
        emit MessageSent(sequence);
    }
}
// Target chain: получение VAA
contract CrossChainReceiver {
    IWormhole wormhole;
    mapping(bytes32 => bool) processedVAAs;

    function receiveMessage(bytes memory encodedVAA) external {
        (IWormhole.VM memory vm, bool valid, string memory reason) =
            wormhole.parseAndVerifyVM(encodedVAA);

        require(valid, reason);
        require(!processedVAAs[vm.hash], "Already processed");
        processedVAAs[vm.hash] = true;

        // Обработка payload
        _processPayload(vm.payload);
    }
}

Wormhole Queries: cross-chain data без транзакций

Wormhole Queries — относительно новый механизм: on-demand чтение on-chain данных с другой цепи без отправки транзакций. Guardian ноды делают RPC запросы и возвращают подписанный ответ.

Применение: проверить баланс/стейкинг позицию пользователя на Ethereum прямо из контракта на Solana. Без oracle, без bridge транзакции.

Инструменты разработки и мониторинг

Wormholescan (wormholescan.io) — explorer для VAA и транзакций. Незаменим для отладки: по txHash исходной цепи найти VAA, проверить статус Guardian подписей.

Testnet. Wormhole поддерживает testnets всех цепей. Ethereum Sepolia → Solana Devnet — стандартный тестовый маршрут.

Компонент Инструмент
SDK @wormhole-foundation/sdk v3
UI компонент @wormhole-foundation/wormhole-connect
Explorer wormholescan.io
VAA мониторинг Wormhole Guardian API
Relayer Wormhole Standard Relayer / кастомный
Тесты Foundry + wormhole-solidity-sdk

Процесс разработки

Аналитика (2-3 дня). Определение маршрутов (какие цепи, какие токены), выбор между Token Bridge / CCTP / custom messaging, нужен ли кастомный relayer.

Разработка (2-4 недели). Зависит от scope: Connect UI без контрактов — 3-5 дней. Custom messaging с контрактами на 2 цепях — 2-3 недели. Кастомный relayer — ещё 1-2 недели.

Тестирование. Обязательно на testnets обеих цепей. Тест edge cases: VAA expiry, double-spend protection (processedVAAs), что происходит при reorg на source chain.

Простая интеграция Wormhole Connect в существующее приложение — 3-7 дней. Custom cross-chain messaging протокол с relayer — 4-6 недель.