Attestierungen

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 discriminator
nonce: Address; // Unique identifier for the attestation
credential: Address; // Associated credential address
schema: Address; // Associated schema address
data: ReadonlyUint8Array; // Attestation data
signer: Address; // Address of the signer who created the attestation
expiry: bigint; // Expiration timestamp
tokenAccount: 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 bigint
tokenAccount: Address;
};

Methoden

Attestierungen abrufen

MethodeBeschreibungParameterRückgabe
fetchAttestationRuft eine einzelne Attestierung anhand ihrer Adresse abrpc: RPC-Kontext, address: Adresse der Attestierung, config?: AbrufkonfigurationPromise<Account<Attestation>>
fetchMaybeAttestationRuft eine Attestierung sicher ab, gibt null zurück falls nicht gefundenrpc: RPC-Kontext, address: Adresse der Attestierung, config?: AbrufkonfigurationPromise<MaybeAccount<Attestation>>
fetchAllAttestationRuft mehrere Attestierungen anhand ihrer Adressen abrpc: RPC-Kontext, addresses: Array von Attestierungsadressen, config?: AbrufkonfigurationPromise<Account<Attestation>[]>
fetchAllMaybeAttestationRuft mehrere Attestierungen sicher ab, überspringt nicht gefundenerpc: RPC-Kontext, addresses: Array von Attestierungsadressen, config?: AbrufkonfigurationPromise<MaybeAccount<Attestation>[]>

Serialisierung

MethodeBeschreibungParameterRückgabe
getAttestationEncoderGibt den Encoder für Attestierungsdaten zurückKeineEncoder<AttestationArgs>
getAttestationDecoderGibt den Decoder für Attestierungsdaten zurückKeineDecoder<Attestation>
getAttestationCodecGibt den Codec für Attestierungsdaten zurückKeineCodec<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 discriminator wird intern verwendet und sollte nicht geändert werden
  • Das nonce bietet einen eindeutigen Identifikator für jede Attestierung
  • Die Felder credential und schema verknüpfen die Attestierung mit ihren zugehörigen Anmeldedaten und dem Schema
  • Das Feld data enthält die tatsächlichen Attestierungsdaten und sollte gemäß dem Schema ordnungsgemäß kodiert/dekodiert werden
  • signer muss einer der autorisierten Signer der zugehörigen Anmeldedaten sein
  • expiry bestimmt, wann die Attestierung ungültig wird
  • tokenAccount verknü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?

Inhaltsverzeichnis

Seite bearbeiten
© 2026 Solana Foundation. Alle Rechte vorbehalten.