Μια επαλήθευση αντιπροσωπεύει έναν επαληθευμένο ισχυρισμό ή δήλωση στο Σύστημα Επαλήθευσης Solana. Οι επαληθεύσεις δημιουργούνται από εξουσιοδοτημένους υπογράφοντες σύμφωνα με ένα διαπιστευτήριο και ακολουθούν ένα συγκεκριμένο σχήμα. Κάθε επαλήθευση περιέχει τα πραγματικά δεδομένα του ισχυρισμού και μεταδεδομένα σχετικά με τη δημιουργία και την εγκυρότητά της.
Δομή
Η δομή Attestation αντιπροσωπεύει μια επαλήθευση στο Σύστημα Επαλήθευσης Solana. Κάθε επαλήθευση συνδέεται με ένα διαπιστευτήριο, ένα σχήμα και περιέχει τα επαληθευμένα δεδομένα μαζί με μεταδεδομένα σχετικά με τη δημιουργία και την περίοδο εγκυρότητάς της.
Ορισμοί Τύπων
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;};
Μέθοδοι
Ανάκτηση Επαληθεύσεων
| Μέθοδος | Περιγραφή | Παράμετροι | Επιστρέφει |
|---|---|---|---|
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?