Eine Attestierung stellt eine verifizierte Aussage oder Erklärung im Solana Attestation System dar. Attestierungen werden von autorisierten Signern unter einer Berechtigung erstellt und folgen einem spezifischen Schema. Jede Attestierung enthält die tatsächlichen Daten der Aussage sowie Metadaten über ihre Erstellung und Gültigkeit.
Struktur
Die Attestation-Struktur repräsentiert eine Attestierung im Solana Attestation System. Jede Attestierung ist mit einer Berechtigung und einem Schema verknüpft und enthält die attestierten Daten zusammen mit Metadaten über ihre Erstellung und Gültigkeitsdauer.
Typdefinitionen
Attestation
export type Attestation = {discriminator: number; // Internal discriminatornonce: Address; // Unique identifier for the attestationcredential: Address; // Associated credential addressschema: Address; // Associated schema addressdata: ReadonlyUint8Array; // Attestation datasigner: Address; // Address of the signer who created the attestationexpiry: bigint; // Expiration timestamptokenAccount: Address; // Associated token account};
AttestationArgs
export type AttestationArgs = {discriminator: number;nonce: Address;credential: Address;schema: Address;data: ReadonlyUint8Array;signer: Address;expiry: number | bigint; // Can be either number or biginttokenAccount: Address;};
Methoden
Attestierungen abrufen
| Methode | Beschreibung | Parameter | Rückgabe |
|---|---|---|---|
fetchAttestation | Ruft eine einzelne Attestierung anhand ihrer Adresse ab | rpc: RPC-Kontext, address: Adresse der Attestierung, config?: Abrufkonfiguration | Promise<Account<Attestation>> |
fetchMaybeAttestation | Ruft eine Attestierung sicher ab, gibt null zurück falls nicht gefunden | rpc: RPC-Kontext, address: Adresse der Attestierung, config?: Abrufkonfiguration | Promise<MaybeAccount<Attestation>> |
fetchAllAttestation | Ruft mehrere Attestierungen anhand ihrer Adressen ab | rpc: RPC-Kontext, addresses: Array von Attestierungsadressen, config?: Abrufkonfiguration | Promise<Account<Attestation>[]> |
fetchAllMaybeAttestation | Ruft mehrere Attestierungen sicher ab, überspringt nicht gefundene | rpc: RPC-Kontext, addresses: Array von Attestierungsadressen, config?: Abrufkonfiguration | Promise<MaybeAccount<Attestation>[]> |
Serialisierung
| Methode | Beschreibung | Parameter | Rückgabe |
|---|---|---|---|
getAttestationEncoder | Gibt den Encoder für Attestierungsdaten zurück | Keine | Encoder<AttestationArgs> |
getAttestationDecoder | Gibt den Decoder für Attestierungsdaten zurück | Keine | Decoder<Attestation> |
getAttestationCodec | Gibt den Codec für Attestierungsdaten zurück | Keine | Codec<AttestationArgs, Attestation> |
Verwendungsbeispiele
Abrufen einer einzelnen Attestierung
const attestation = await fetchAttestation(rpc, attestationAddress);console.log("Attestation nonce:", attestation.nonce);
Abrufen mehrerer Attestierungen
const attestations = await fetchAllAttestation(rpc, [attestation1Address,attestation2Address]);attestations.forEach((attestation) =>console.log("Attestation:", attestation.nonce));
Sicheres Abrufen
const attestation = await fetchMaybeAttestation(rpc, attestationAddress);if (attestation) {console.log("Attestation found:", attestation.nonce);} else {console.log("Attestation not found");}
Wichtige Hinweise
- Das Feld
discriminatorwird intern verwendet und sollte nicht geändert werden - Das
noncebietet einen eindeutigen Identifikator für jede Attestierung - Die Felder
credentialundschemaverknüpfen die Attestierung mit ihren zugehörigen Anmeldedaten und dem Schema - Das Feld
dataenthält die tatsächlichen Attestierungsdaten und sollte gemäß dem Schema ordnungsgemäß kodiert/dekodiert werden signermuss einer der autorisierten Signer der zugehörigen Anmeldedaten seinexpirybestimmt, wann die Attestierung ungültig wirdtokenAccountverknüpft die Attestierung mit einem bestimmten token account- Attestierungen können nur von autorisierten Signern der zugehörigen Anmeldedaten erstellt werden
- Die Attestierungsdaten müssen der durch das zugehörige Schema definierten Struktur entsprechen
Is this page helpful?