🌌
Wormhole Docs Brasil
  • Bem-vindo!
  • Materiais
    • Build
      • Começer a Buildar
        • Redes Suportadas
        • Testnet Faucets
        • Demos
      • Construindo Aplicações Frontend
        • Wormhole SDK
          • Wormhole TypeScript SDK
          • Data Layouts
          • Construção de Protocolos e Payloads
        • Queries
          • Overview
          • Usando Queries
          • F.A.Q.
        • Conexão
          • Overview
          • Routes
          • Features
          • Configuração
          • v1 Migration
          • F.A.Q.
      • Construindo Integrações de contratos
        • Wormhole Relayer
        • Core Contracts
        • CCTP
        • Transferências de Tokens Nativos
          • Processos de Deployment
        • Comandos NTT CLI
        • Configuração de NTT
          • Limitação de Taxas
          • Controle de Acesso
        • Managers e Transceivers
        • F.A.Q. Wormhole NTT
      • MultiGov
        • Deployment
        • Upgrades Contracts
        • F.A.Q. Tecnicas
      • Ambiente de Desenvolvimento
      • F.A.Q sobre Integrações de Contratos
      • Toolkit
        • Wormholescan
        • Wormhole CLI
        • Wormhole SDK
          • TypeScript SDK
          • Data Layouts
          • Construindo Protocolos e Payloads
        • Solidity SDK
        • Tilt
        • Toolkit F.A.Q.
      • Referências
    • Infraestrutura
      • Run a Relayer
      • Run a Spy
    • Tutoriais
      • Tutorial de Conexão
      • Tutorial de Contratos Cross-Chain
        • Criação de Contratos de Mensagens Cross-Chain
        • Criação de contratos de transferência de tokens Cross-Chain
      • Tutoriais de Transferências de Tokens Nativos (NTT - Native Token Transfers)
        • Crie Tokens Multichain
      • Tutorial MultiGov
        • Proposta Cross-Chain treasury management
      • Tutoriais do Wormhole SDK
        • Transferir USDC via CCTP
        • Transferir Tokens via a Token Bridge
    • Learn
      • Fundamentos
        • Introdução
        • Segurança
        • Overview de Arquitetura
        • Glossário
      • Componentes de Infraestrutura
        • Core Contracts
        • VAAs (Verified Action Approvals)
        • Guardians
        • Spy
        • Relayers
      • Messaging
        • Token Bridge
        • Circle's CCTP Bridge
        • Transferencias de Token Nativos
          • Overview
          • Arquitetura
          • Modelos de Deploy
          • Security
      • Multigov
        • MultiGov: Governança Cross-Chain com Wormhole
        • MultiGov Architecture
        • FAQs
    • Links úteis
Powered by GitBook
On this page
  1. Materiais
  2. Build
  3. Construindo Aplicações Frontend
  4. Queries

Overview

PreviousQueriesNextUsando Queries

Last updated 5 months ago

Wormhole Guardians, que operam nós completos para várias blockchains conectadas, facilitam um novo serviço de consulta cross-chain que permite respostas validadas sob demanda, evitando as ineficiências de recuperação de dados baseadas em transações tradicionais. Esse método é mais rápido e econômico, eliminando a necessidade de pagamentos de gás e tempos de espera para finalização de transações.

Nota As consultas estão atualmente em beta fechada, mas você pode começar a desenvolver hoje mesmo. Confira Use Queries e entre em contato para participar da beta.

O Wormhole Queries oferece acesso sob demanda a dados atestados por Guardians na blockchain. A implementação atual fornece aos integradores um simples ponto de extremidade REST para iniciar uma solicitação off-chain via um proxy. O proxy encaminha a solicitação para os Guardians e coleta um quorum de respostas. O resultado retorna a resposta codificada, incluindo os detalhes da solicitação e as assinaturas dos Guardians. A validação da solicitação realizada pelo módulo de consulta segue um processo de três etapas que envolve verificar a assinatura para garantir que ela tenha o prefixo correto, confirmar que o signatário está autorizado a executar solicitações de consulta e validar a legitimidade de todas as solicitações por cadeia contidas na consulta. Você pode ler mais sobre Queries no white paper.

O Fluxo de uma Consulta

A visão geral do fluxo de uma consulta é a seguinte: um processo off-chain envia solicitações HTTPS de consulta para um Query Proxy, que valida e encaminha as solicitações para os Guardians; esses Guardians validam independentemente, assinam e retornam a resposta, com todo o processo normalmente levando menos de um segundo.

Fluxo passo a passo de uma consulta:

  1. Um processo off-chain inicia uma solicitação de consulta via HTTPS para o Query Proxy (ou Query Server).

  2. O Query Proxy valida a solicitação e a encaminha para os Guardians via uma rede de gossip.

  3. Os Guardians validam independentemente a solicitação, fazem as chamadas RPC necessárias, verificam os resultados, assinam e enviam uma resposta de volta para o Query Proxy.

  4. O Query Proxy agrega os resultados e retorna uma resposta quando atinge um quorum de dois terços ou mais do conjunto atual de Guardians - o mesmo requisito de quorum do core bridge.

  5. O processo off-chain pode então enviar essas solicitações para um contrato on-chain que deve verificar as assinaturas e validar a solicitação antes de processar o resultado.

Neste fluxo, o Query Proxy é uma parte do protocolo autorizada, mas sem a necessidade de confiança. Em casos normais, todo esse processo leva menos de um segundo. Se uma solicitação for inválida ou não puder ser processada pelos Guardians, eles tentarão novamente por até um minuto antes de expirar. As solicitações podem ser agrupadas para permitir que os Guardians façam múltiplas chamadas para várias redes. Isso pode reduzir ainda mais a sobrecarga para processar respostas de consulta on-chain. Até 255 consultas podem ser agrupadas, com certos tipos permitindo o agrupamento por conta própria.

Tipos de Consultas Suportados

Atualmente, existem cinco tipos de consultas suportados. Consulte o white paper para mais detalhes sobre cada um.

eth_call

Esse tipo de consulta é essencialmente um equivalente a eth_call contra um bloco especificado por número ou hash. As chamadas são agrupadas para permitir especificar múltiplas chamadas (mesmo para múltiplos contratos) contra o mesmo bloco. Essas chamadas são incluídas em uma única chamada RPC em lote, simplificando a verificação on-chain. Até 255 chamadas podem ser agrupadas em uma única consulta eth_call.

eth_call By Timestamp

Semelhante ao eth_call, mas destina-se a um timestamp específico, em vez de um block_id. Isso é útil quando se precisa de dados de outra cadeia com base no timestamp de um determinado bloco.

eth_call With Finality

Semelhante ao eth_call, mas garante que o bloco especificado tenha alcançado a finalização especificada antes de retornar os resultados da consulta.

sol_account

Essa consulta é usada para ler dados de uma ou mais contas na Solana, semelhante ao getMultipleAccounts.

sol_pda

Essa consulta é usada para ler dados de uma ou mais Program Derived Addresses (PDA) na Solana, semelhante a chamar getMultipleAccounts no resultado de PublicKey.findProgramAddressSync(seeds, programId).

Chains Suportadas

A tabela a seguir fornece o suporte esperado com base nos testes. O sucesso de uma consulta depende do sucesso da chamada subjacente em cada nó RPC de cada Guardian.

Próximos Passos

Lembre-se de que o Wormhole Queries está atualmente em beta. Você pode se registrar para participar da beta e experimentar completamente o Wormhole Queries.

Confira também os exemplos de aplicativos que utilizam Wormhole Queries:

Basic Demo
Solana Stake Pool
Solana Program Derived Address (PDA) / Token Account Balance
Verificação de Consultas Solana