F.A.Q.

Wormhole Queries FAQs

Quais bibliotecas estão disponíveis para lidar com consultas?

O Query TypeScript SDK pode ser usado para criar solicitações de consulta, simular respostas de consulta para testes e analisar as respostas das consultas. O SDK também inclui utilitários para postar respostas de consulta.

O contrato abstrato QueryResponse em Solidity pode ser utilizado para analisar e verificar respostas de consulta em cadeias EVM. Veja o repositório Solana Stake Pool como um caso de uso exemplo.

O QueryTest.sol pode ser usado para simular solicitações e respostas de consulta em testes no Forge.

O pacote Go query também pode ser utilizado para criar solicitações de consulta e analisar respostas de consulta.

Um SDK em Rust para Solana está sendo ativamente investigado pelos contribuidores do Wormhole. Veja o repositório Solana Queries Verification como uma prova de conceito.

Existem exemplos de consultas?

Certamente. Você pode encontrar um guia completo na página Use Queries. Além disso, você pode encontrar exemplos de código completos nos seguintes repositórios:

  • Basic Example Query Demo

  • Solana Stake Pool Example Query

  • Solana Program Derived Address (PDA) / Token Account Balance Example Query

  • Solana Queries Verification Example

Qual é o formato da assinatura da resposta?

O nó Guardian calcula uma assinatura ECDSA usando a função Sign do pacote crypto, onde o hash do digest é:

keccak256("query_response_0000000000000000000|"+keccak256(responseBytes))

Veja o Guardian Key Usage white paper para mais informações. Após a criação dessa assinatura, o índice do Guardian no conjunto de Guardians é anexado ao final.

Se você estiver acostumado com ecrecover, notará que o byte v é 0 ou 1, ao contrário de 27 ou 28. O método signaturesToEvmStruct no Query TypeScript SDK leva isso em consideração, além de estruturar as assinaturas em um array IWormhole.SignatureStruct[].

Qualquer um pode rodar um servidor proxy de consulta?

As permissões para o Query Proxy são gerenciadas pelos Guardians. Os nós Guardian são configurados para ouvir apenas um conjunto de proxies que estão na lista de permissões. No entanto, é possível que essa restrição seja removida no futuro e/ou mais proxies possam ser adicionados.

É importante observar também que os proxies não afetam a verificabilidade da solicitação ou resultado, ou seja, o papel deles no processo é sem confiança.

O que as Queries oferecem em relação a um serviço RPC?

O Wormhole Queries oferece resultados RPC verificáveis, atestado, on-chain, sob demanda. Cada Guardian executa a consulta especificada de forma independente e retorna o resultado e sua assinatura. O proxy lida com a agregação dos resultados e assinaturas, fornecendo um único resultado (tudo dentro de uma chamada REST) com um quórum de assinaturas adequado para submissão on-chain, análise e verificação usando um dos nossos exemplos ou SDKs.

Links Relevantes:

Last updated