Move.

Beitrag

Teile dein Wissen.

1 Luca.
Jan 11, 2025
Experten Q&A

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
Teilen
Kommentare
.

Antworten

3
farshad.
Jan 11 2025, 10:18

MoveEventModuleSie können die QueryEvents-API mit einem Filter verwenden, der auf Folgendes abzielt:

"params": [
  {
    "MoveEventModule": {
      "package": "<PACKAGE_ID>",
      "module": "<MODULE_NAME>",
      "event": "Swap_Event"
    }
  }
]

Beachten Sie jedoch, dass dies für alle Ereignisse im Modul gilt und nicht nurSwap_Event. Zum Filtern bestimmter Ereignisnamen, wenn keine Phantomtypen angegeben sind, können Sie eine GraphQL-Abfrage verwenden, z. B.:

https://sui-<devnet|testnet|mainnet>.mystenlabs.com/
{
  events(
    filter: {
      eventType: "<PACKAGE_ID>::<MODULE_NAME>::Swap_Event"
    }
  ) {
    edges {
      node {
        timestamp
        type {
          repr
        }
        data
        json
      }
    }
  }
}

Diese Methode ermöglicht eine detailliertere Steuerung.

2
Beste Antwort
Kommentare
.
Theoremus.
Jan 11 2025, 07:00

In Bezug auf Vertrags-Upgrades funktionieren Ihre Anfragen mit jeder Paketversion. Obwohl es empfohlen wird, das neue Paket für neue Abfragen zu verwenden, kann das alte Paket weiterhin für die Suche nach historischen Daten verwendet werden.

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

Das Ratenlimit für öffentliche GraphQL-Anfragen wird für jede Quelle gedrosselt, die in einem 10-Sekunden-Fenster mehr als 2000 Anfragen stellt.

0
Kommentare
.

Weißt du die Antwort?

Bitte melde dich an und teile sie.

Wir verwenden Cookies, um sicherzustellen, dass Sie die beste Erfahrung auf unserer Website haben.
Mehr Infos