Run a Spy
O Spy é um componente leve na infraestrutura do Wormhole projetado para ouvir e encaminhar mensagens (Verifiable Action Approvals - VAAs) publicadas na rede Wormhole. Rodar um Spy localmente permite que os desenvolvedores se inscrevam em um fluxo filtrado dessas mensagens, facilitando o desenvolvimento de relayers personalizados ou outras integrações com o Wormhole.
Para uma compreensão mais abrangente do Spy e seu papel dentro do ecossistema Wormhole, consulte a Documentação do Spy.
Como Iniciar um Spy Para iniciar um Spy localmente, execute o seguinte comando Docker:
Mainnet
docker run --pull=always --platform=linux/amd64 \
-p 7073:7073 \
--entrypoint /guardiand ghcr.io/wormhole-foundation/guardiand:latest \
spy \
--nodeKey /node.key \
--spyRPC "[::]:7073" \
--env mainnet
Testnet
docker run --pull=always --platform=linux/amd64 \
-p 7073:7073 \
--entrypoint /guardiand ghcr.io/wormhole-foundation/guardiand:latest \
spy \
--nodeKey /node.key \
--spyRPC "[::]:7073" \
--env testnet
Se você deseja rodar o Spy construído a partir do código-fonte, altere ghcr.io/wormhole-foundation/guardiand:latest
para guardian
após construir a imagem do guardian.
Opcionalmente, adicione as seguintes flags para ignorar quaisquer VAAs com assinaturas inválidas:
Mainnet
--ethRPC
https://eth.drpc.org
--ethContract 0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B
Testnet
--ethRPC
https://sepolia.drpc.org/
--ethContract 0x4a8bc80Ed5a4067f1CCf107057b8270E0cC11A78
Opcionalmente, adicione as seguintes opções para evitar o crescimento ilimitado dos logs:
--log-opt max-size=10m \
--log-opt max-file=3
Inscrever-se para VAAs Filtrados
Uma vez em funcionamento, um cliente gRPC (ou seja, o seu programa) pode se inscrever para um fluxo filtrado de mensagens (VAAs).
Use este arquivo proto-spec para gerar um cliente para o serviço gRPC.
Nota Se estiver usando JavaScript/TypeScript, o Spydk facilita a configuração de um cliente.
Persistência de Dados
O Spy não possui uma camada de persistência embutida, então ele geralmente é emparelhado com algo como Redis ou um banco de dados SQL para registrar as mensagens relevantes.
A camada de persistência precisa implementar a interface apropriada. Por exemplo, você pode conferir a interface Redis usada pelo Relayer Engine, um pacote que implementa um cliente e uma camada de persistência para mensagens recebidas de uma assinatura do Spy.
Last updated