Skip to content

FAQs about Queries

What Libraries Are Available to Handle Queries?

Note

A Rust SDK for Solana is being actively investigated by the Wormhole contributors. See the Solana Queries Verification repository as a proof of concept.

Are There Any Query Examples?

Certainly. You can find a complete guide on the Use Queries page. Additionally, you can find full code examples in the following repositories:

What Is the Format of the Response Signature?

The Guardian node calculates an ECDSA signature using Sign function of the crypto package where the digest hash is:

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

See the Guardian Key Usage white paper for more background. Once this signature is created, the Guardian's index in the Guardian set is appended to the end.

Note

If you are used to ecrecover you will notice that the v byte is 0 or 1 as opposed to 27 or 28. The signaturesToEvmStruct method in the Query TypeScript SDK accounts for this as well as structuring the signatures into an IWormhole.SignatureStruct[].

Can Anyone Run a Query Proxy Server?

Permissions for Query Proxy are managed by the Guardians. The Guardian nodes are configured to only listen to a set of allow-listed proxies. However, it is possible that this restriction may be lifted in the future and/or more proxies could be added.

It is also important to note that the proxies don't impact the verifiability of the request or result, i.e., their role in the process is trustless.