Επαληθεύσεις

Μια επαλήθευση αντιπροσωπεύει έναν επαληθευμένο ισχυρισμό ή δήλωση στο Σύστημα Επαλήθευσης Solana. Οι επαληθεύσεις δημιουργούνται από εξουσιοδοτημένους υπογράφοντες σύμφωνα με ένα διαπιστευτήριο και ακολουθούν ένα συγκεκριμένο σχήμα. Κάθε επαλήθευση περιέχει τα πραγματικά δεδομένα του ισχυρισμού και μεταδεδομένα σχετικά με τη δημιουργία και την εγκυρότητά της.

Δομή

Η δομή Attestation αντιπροσωπεύει μια επαλήθευση στο Σύστημα Επαλήθευσης Solana. Κάθε επαλήθευση συνδέεται με ένα διαπιστευτήριο, ένα σχήμα και περιέχει τα επαληθευμένα δεδομένα μαζί με μεταδεδομένα σχετικά με τη δημιουργία και την περίοδο εγκυρότητάς της.

Ορισμοί Τύπων

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;
};

Μέθοδοι

Ανάκτηση Επαληθεύσεων

ΜέθοδοςΠεριγραφήΠαράμετροιΕπιστρέφει
fetchAttestationΑνακτά μια μεμονωμένη επαλήθευση με βάση τη διεύθυνσή τηςrpc: Περιβάλλον RPC, address: Διεύθυνση της επαλήθευσης, config?: Διαμόρφωση ανάκτησηςPromise<Account<Attestation>>
fetchMaybeAttestationΑνακτά με ασφάλεια μια επαλήθευση, επιστρέφει null αν δεν βρεθείrpc: Περιβάλλον RPC, address: Διεύθυνση της επαλήθευσης, config?: Διαμόρφωση ανάκτησηςPromise<MaybeAccount<Attestation>>
fetchAllAttestationΑνακτά πολλαπλές επαληθεύσεις με βάση τις διευθύνσεις τουςrpc: Περιβάλλον RPC, addresses: Πίνακας διευθύνσεων επαληθεύσεων, config?: Διαμόρφωση ανάκτησηςPromise<Account<Attestation>[]>
fetchAllMaybeAttestationΑνακτά με ασφάλεια πολλαπλές επαληθεύσεις, παραλείπει αυτές που δεν βρέθηκανrpc: Περιβάλλον RPC, addresses: Πίνακας διευθύνσεων επαληθεύσεων, config?: Διαμόρφωση ανάκτησηςPromise<MaybeAccount<Attestation>[]>

Σειριοποίηση

ΜέθοδοςΠεριγραφήΠαράμετροιΕπιστρέφει
getAttestationEncoderΛαμβάνει τον κωδικοποιητή για δεδομένα επαλήθευσηςΚαμίαEncoder<AttestationArgs>
getAttestationDecoderΛαμβάνει τον αποκωδικοποιητή για δεδομένα επαλήθευσηςΚαμίαDecoder<Attestation>
getAttestationCodecΛαμβάνει τον κωδικοποιητή-αποκωδικοποιητή για δεδομένα επαλήθευσηςΚαμίαCodec<AttestationArgs, Attestation>

Παραδείγματα Χρήσης

Ανάκτηση Μίας Πιστοποίησης

const attestation = await fetchAttestation(rpc, attestationAddress);
console.log("Attestation nonce:", attestation.nonce);

Ανάκτηση Πολλαπλών Πιστοποιήσεων

const attestations = await fetchAllAttestation(rpc, [
attestation1Address,
attestation2Address
]);
attestations.forEach((attestation) =>
console.log("Attestation:", attestation.nonce)
);

Ασφαλής Ανάκτηση

const attestation = await fetchMaybeAttestation(rpc, attestationAddress);
if (attestation) {
console.log("Attestation found:", attestation.nonce);
} else {
console.log("Attestation not found");
}

Σημαντικές Σημειώσεις

  • Το πεδίο discriminator χρησιμοποιείται εσωτερικά και δεν πρέπει να τροποποιηθεί
  • Το nonce παρέχει ένα μοναδικό αναγνωριστικό για κάθε πιστοποίηση
  • Τα πεδία credential και schema συνδέουν την πιστοποίηση με το σχετικό διαπιστευτήριο και σχήμα της
  • Το πεδίο data περιέχει τα πραγματικά δεδομένα πιστοποίησης και πρέπει να κωδικοποιηθεί/αποκωδικοποιηθεί σωστά σύμφωνα με το σχήμα
  • Το signer πρέπει να είναι ένας από τους εξουσιοδοτημένους υπογράφοντες του σχετικού διαπιστευτηρίου
  • Το expiry καθορίζει πότε η πιστοποίηση καθίσταται άκυρη
  • Το tokenAccount συνδέει την πιστοποίηση με ένα συγκεκριμένο token account
  • Οι πιστοποιήσεις μπορούν να δημιουργηθούν μόνο από εξουσιοδοτημένους υπογράφοντες του σχετικού διαπιστευτηρίου
  • Τα δεδομένα πιστοποίησης πρέπει να συμμορφώνονται με τη δομή που ορίζεται από το σχετικό σχήμα

Is this page helpful?

© 2026 Ίδρυμα Solana. Με επιφύλαξη παντός δικαιώματος.