Інтеграція з Wormhole

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

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

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

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

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

Інтеграція з Wormhole

Wormhole — один з найбільших кросс-чейн мессенджинг-протоколів: 50+ підтримуваних мереж включаючи EVM, Solana, Aptos, Sui, Cosmos (через IBC gateway). За обсягом заблокованих активів конкурує з LayerZero та Axelar. За Wormhole стоїть мережа ~19 Guardian нод — валідаторів, які спостерігають за подіями на вихідному чейні та підписують VAA (Verified Action Approval).

Розуміння VAA — ключ до інтеграції Wormhole. Це повідомлення, підписане мережею Guardian про подію на одному чейні, яке можна представити контракту на іншому чейні. VAA = доказ того, що подія сталася.

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

Source Chain                    Wormhole Guardians              Target Chain
    │                                   │                            │
    │ publishMessage(payload)            │                            │
    │ → Core Bridge Contract             │                            │
    │   emits LogMessagePublished        │                            │
    │                            спостерігають подію                  │
    │                            підписують VAA                       │
    │                            (19 гвардіанів,                      │
    │                             13-з-19 threshold)                  │
    │                                   │  VAA підписаний             │
    │                                   │ ──────────────────────────► │
    │                                                       receiveMessage(VAA)
    │                                                       верифікуємо підписи
    │                                                       виконуємо payload

Guardian мережа — довірена третя сторона. Компромісс 13 з 19 Guardian нод = повний контроль над протоколом. Це відомий компроміс Wormhole порівняно з більш децентралізованими рішеннями.

Wormhole Connect: швидкий старт для Bridge UI

Для додання bridge UI до додатка — компонент 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 нативний USDC bridge, без wrapped токенів), liquidity портали. Автоматично вибирає оптимальний маршрут.

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

Для кастомних кросс-чейн workflow — 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])

// Отримуємо контексти чейнів
const srcChain = wh.getChain('Ethereum')
const dstChain = wh.getChain('Solana')

// Token Bridge трансфер
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 фіналізації)
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 трансфер через Wormhole SDK — той же API, інший маршрут
const cctp = await srcChain.getCircleBridge()
const transfer = cctp.transfer(
    sender,
    { chain: 'Arbitrum', address: recipient },
    'USDCeth', // USDC на Ethereum
    1_000_000n  // 1 USDC (6 decimals)
)

CCTP значно швидше, ніж Token Bridge: ~2 хвилини vs ~15-20 хвилин на Ethereum. Для USDC трансферів — завжди краще.

Кастомний мессенджинг: кросс-чейн додатки

Wormhole — не тільки bridge для токенів — генерального призначення мессенджинг. Додаток може відправити довільний payload з однієї цепи, отримати на іншій.

// Source chain: відправка повідомлення
interface IWormhole {
    function publishMessage(
        uint32 nonce,
        bytes memory payload,
        uint8 consistencyLevel  // 1 = фіналізоване, 200 = миттєве (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: чекаємо фіналізації
        );
        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: кросс-чейн дані без транзакцій

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

Застосування: перевірити баланс/staking позицію на Ethereum безпосередньо з контракту на Solana. Без oracle, без bridge транзакції.

Інструменти розробки та моніторинг

Wormholescan (wormholescan.io) — explorer для VAA та транзакцій. Безцінний для debug: знайти VAA за txHash, перевірити статус 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 / кастомний мессенджинг, потрібен ли кастомний relayer.

Розробка (2-4 тижні). Залежить від scope: Connect UI без контрактів — 3-5 днів. Кастомний мессенджинг з контрактами на 2 чейнах — 2-3 тижні. Кастомний relayer — ще 1-2 тижні.

Тестування. Обов'язково на testnets обох чейнів. Тест edge cases: VAA expiry, double-spend захист (processedVAAs), що стається при reorg на вихідному чейні.

Проста інтеграція Wormhole Connect у існуючий додаток — 3-7 днів. Кастомний кросс-чейн мессенджинг протокол з relayer — 4-6 тижнів.