Zum Hauptinhalt springen
GET
IDL-Versionen auflisten
Die Pfadparameter, das response-Schema und die Beispiele auf dieser Seite werden aus der OpenAPI-Definition generiert. „IDL-Versionen auflisten“ gibt den Verlauf der Programmschnittstelle aus dem IDL-Katalog zurück, den Parsed Events und Parsed Streams zum Decodieren von Anweisungen verwenden. Jedes Element entspricht einer Version und wird durch den slot identifiziert, ab dem sie aktiv war. Die Elemente sind aufsteigend nach Alter sortiert. Das letzte Element ist daher die aktuelle Version. Übergib einen beliebigen slot-Wert aus der response an IDL abrufen, um das IDL-Dokument dieser Version abzurufen. Der Orb Explorer verwendet diese endpoints, um Programm-IDLs anzuzeigen.

Anwendungsfälle

  • Änderungen an der Schnittstelle verfolgen. Frage „IDL-Versionen auflisten“ regelmäßig für ein Programm ab, von dem du abhängig bist. Wenn eine neue Version erscheint, rufe sie und die vorherige Version mit „IDL abrufen“ ab und vergleiche ihre instructions. Eine neue Admin- oder Autorisierungsanweisung sollte einer Sicherheitsprüfung unterzogen werden.
  • Katalogabdeckung prüfen. Ein 404 bedeutet, dass der Katalog keine IDL für das Programm enthält. Programme wie SPL Token werden stattdessen von integrierten Decodern verarbeitet und geben ebenfalls 404 zurück.

Beispiel: Eine neue IDL-Version erkennen

Dieses Skript listet die IDL-Versionen eines Programms auf, ruft die beiden neuesten ab und gibt die hinzugefügten oder entfernten Anweisungen aus:
diff-idl-versions.js
Um Änderungen im Laufe der Zeit zu erkennen, speichere den slot-Wert der zuletzt gesehenen Version und vergleiche ihn bei jeder Abfrage.

Credits

Jeder request kostet 10 Credits und ist in allen Tarifen verfügbar. Das obige Beispiel führt drei requests aus und kostet daher 30 Credits. Weitere Informationen findest du unter Credits.

Fehler

Andere Fehler geben einen JSON-Textkörper mit einer error-Meldung zurück, beispielsweise {"error": "no IDLs found for program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"}.

Request-Parameter

string
erforderlich
Programmadresse, Base58-codiert.

Autorisierungen

api-key
string
query
erforderlich

Pfadparameter

programId
string
erforderlich

Programm-Adresse, Base58-codiert.

Beispiel:

"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"

Antwort

Die IDL-Versionen des Programms, aufsteigend nach slot sortiert.

slot
integer<uint64>
erforderlich

Der slot, ab dem diese IDL-Version aktiv war. Übergib ihn an „IDL abrufen“, um diese Version abzurufen.

sources
string[]
erforderlich

Wo Parsed Events diese Version gefunden hat. Mögliche Werte sind anchor, program_metadata und github. Weitere Werte können hinzukommen. Eine Version kann mehrere Quellen haben.