Move.

Publication

Partagez vos connaissances.

1 Luca.
Jan 11, 2025
Questions et Réponses avec des Experts

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
3
3
Partager
Commentaires
.

Réponses

3
farshad.
Jan 11 2025, 10:18

Vous 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.

2
Meilleure réponse
Commentaires
.
Theoremus.
Jan 11 2025, 07:00

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.

2
Commentaires
.
deriss.
Jan 12 2025, 01:45

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.

0
Commentaires
.

Connaissez-vous la réponse ?

Veuillez vous connecter et la partager.

Move is an executable bytecode language used to implement custom transactions and smart contracts.

148Publications231Réponses
Sui.X.Peera.

Gagne ta part de 1000 Sui

Gagne des points de réputation et obtiens des récompenses pour avoir aidé la communauté Sui à se développer.

Campagne de RécompensesJuillet