Publication
Partagez vos connaissances.
How to query Swap_Event without specifying phantom types?
I'm trying to query all Swap_Event instances without specifying phantom types for the struct like Swap_Event<phantom Ty0, phantom Ty1>
. What are some alternative methods to achieve this? Also, if I upgrade the contract, how does it affect my queries? Additionally, is there a rate limit on public GraphQL queries?
- Move CLI
- Move
Réponses
3Vous pouvez utiliser l'API QueryEvents avec un filtre qui cible les éléments suivants MoveEventModule
:
"params": [
{
"MoveEventModule": {
"package": "<PACKAGE_ID>",
"module": "<MODULE_NAME>",
"event": "Swap_Event"
}
}
]
Sachez toutefois que cela s'applique à tous les événements du module et pas seulementSwap_Event
. Pour filtrer des noms d'événements spécifiques lorsque les types de fantômes ne sont pas spécifiés, vous pouvez utiliser une requête GraphQL telle que :
https://sui-<devnet|testnet|mainnet>.mystenlabs.com/
{
events(
filter: {
eventType: "<PACKAGE_ID>::<MODULE_NAME>::Swap_Event"
}
) {
edges {
node {
timestamp
type {
repr
}
data
json
}
}
}
}
Cette méthode permet un contrôle plus précis.
En ce qui concerne les mises à niveau de contrat, vos requêtes fonctionneront avec n'importe quelle version de package. Bien qu'il soit recommandé d'utiliser le nouveau package pour les nouvelles requêtes, l'ancien package peut toujours être utilisé pour la recherche de données historiques.
La limite de débit pour les requêtes GraphQL publiques est limitée à toute source effectuant plus de 2 000 requêtes dans une fenêtre de 10 secondes.
Connaissez-vous la réponse ?
Veuillez vous connecter et la partager.