Transferir Tokens via a Token Bridge
Este tutorial orienta você na construção de uma aplicação de transferência de tokens cross-chain usando o SDK TypeScript do Wormhole e seu método Token Bridge. O método Token Bridge permite transferências seguras e eficientes de ativos entre diferentes redes blockchain, permitindo que os usuários movam tokens de maneira contínua.
Aproveitando o Token Bridge do Wormhole, este guia mostra como construir uma aplicação que suporta vários tipos de transferências:
EVM para EVM (por exemplo, Ethereum para Avalanche)
EVM para blockchains não EVM (por exemplo, Ethereum para Solana)
Não EVM para EVM (por exemplo, Sui para Avalanche)
Não EVM para não EVM (por exemplo, Solana para Sui)
Soluções existentes para transferências cross-chain podem ser complexas e ineficientes, exigindo múltiplos passos e taxas de transação. No entanto, o método Token Bridge do Wormhole simplifica o processo ao lidar com a atestação subjacente, validação de transações e passagem de mensagens entre blockchains.
Ao final deste guia, você terá uma configuração totalmente funcional para transferir ativos entre blockchains usando o método Token Bridge do Wormhole.
Pré-requisitos Antes de começar, certifique-se de ter o seguinte:
Node.js e npm instalados em sua máquina
TypeScript instalado globalmente
Tokens nativos (testnet ou mainnet) nas carteiras de Solana e Sui
Uma carteira com uma chave privada, alimentada com tokens nativos (testnet ou mainnet) para taxas de gas
Blockchains Suportadas
O SDK Wormhole suporta uma ampla gama de blockchains EVM e não-EVM, permitindo que você facilite transferências cross-chain de forma eficiente. Você pode encontrar uma lista completa de blockchains suportados no repositório GitHub do SDK Wormhole, que cobre ambientes testnet e mainnet.
Configuração do Projeto Nesta seção, vamos guiá-lo através da inicialização do projeto, instalação de dependências e preparação do ambiente para transferências cross-chain.
Inicialize o projeto - comece criando um novo diretório para seu projeto e inicializando-o com npm, o que criará o arquivo package.json para seu projeto:
Instale as dependências - instale as dependências necessárias, incluindo o SDK Wormhole e bibliotecas auxiliares:
Configure variáveis de ambiente - para armazenar sua chave privada de forma segura, crie um arquivo .env na raiz do seu projeto:
Dentro do arquivo .env, adicione suas chaves privadas:
Nota: Certifique-se de que sua chave privada contenha tokens nativos para gas em ambas as blockchains de origem e destino. Para Sui, você deve fornecer uma mnemônica em vez de uma chave privada.
Crie um arquivo helpers.ts - para simplificar a interação entre as blockchains, crie um arquivo para armazenar funções utilitárias que buscam sua chave privada, configuram signers para diferentes blockchains e gerenciam os relays de transações.
Crie o arquivo helpers:
Abra o arquivo helpers.ts e adicione o seguinte código:
Explicação das funções:
getEnv
: Essa função busca variáveis de ambiente, como sua chave privada, do arquivo .env.getSigner
: Dependendo da blockchain com a qual você está trabalhando (EVM, Solana, Sui, etc.), essa função recupera o signer para essa plataforma específica. O signer é responsável por assinar transações e interagir com a blockchain, utilizando a chave privada armazenada no arquivo .env.getTokenDecimals
: Essa função busca o número de casas decimais de um token em uma blockchain específica, ajudando a tratar os valores de tokens com precisão durante as transferências.
Transferências de Tokens Nativos Nesta seção, você criará um script para transferir tokens nativos entre blockchains usando o método Token Bridge do Wormhole. O script lidará com a transferência de tokens nativos de Sui para Solana, demonstrando as capacidades de transferência cross-chain do SDK Wormhole. Como ambas as blockchains não são compatíveis com EVM, você precisará lidar manualmente com as etapas de atestação e finalização.
Configuração dos Detalhes da Transferência Antes de iniciar uma transferência cross-chain, você deve configurar o contexto das blockchains e os signers para as blockchains de origem e destino.
Crie o arquivo native-transfer.ts na pasta src para armazenar o script de transferência de tokens nativos entre as blockchains:
Abra o arquivo native-transfer.ts e comece importando os módulos necessários do SDK e dos arquivos auxiliares:
Nota: Você pode substituir 'Testnet' por 'Mainnet' se quiser realizar transferências na Mainnet.
Prossiga com a configuração das blockchains de origem e destino, recuperando as respectivas redes com o método getChain
e configurando os signers para realizar as transferências entre elas.
native-transfer.ts
Executando a Transferência de Token Nativo
Agora que você configurou o projeto e definiu a lógica de transferência, pode executar o script para transferir tokens nativos da cadeia Sui para Solana. Você pode usar o comando tsx
para rodar diretamente o arquivo TypeScript:
Isso iniciará a transferência do token nativo da cadeia de origem (Sui) e a concluirá na cadeia de destino (Solana).
Você pode monitorar o status da transação no explorador Wormhole.
Recursos Se você deseja explorar o projeto completo ou precisa de uma referência enquanto segue este tutorial, pode encontrar o código completo no repositório demo do Wormhole no GitHub. O repositório inclui todos os scripts e configurações de exemplo necessários para realizar transferências de tokens nativos entre cadeias, incluindo transferências manuais, automáticas e parciais usando o SDK Wormhole.
Conclusão Você construiu com sucesso uma aplicação de transferência de tokens entre cadeias utilizando o SDK TypeScript do Wormhole e o método Token Bridge. Este guia percorreu a configuração, a configuração e a lógica de transferência necessárias para mover tokens nativos entre cadeias não compatíveis com EVM, como Sui e Solana.
A mesma lógica de transferência se aplica caso você deseje estender essa aplicação para diferentes combinações de cadeias, incluindo cadeias compatíveis com EVM.
Last updated