Διαπιστευτήρια

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

Δομή

Η δομή Credential αντιπροσωπεύει ένα διαπιστευτήριο στο Σύστημα Επικύρωσης Solana. Κάθε διαπιστευτήριο ορίζει μια αρχή που μπορεί να εκδώσει επικυρώσεις και τους υπογράφοντες που είναι εξουσιοδοτημένοι να το πράξουν.

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

Credential

export type Credential = {
discriminator: number; // Internal discriminator
authority: Address; // Authority public key
name: ReadonlyUint8Array; // Credential name
authorizedSigners: Array<Address>; // List of authorized signers
};

Μέθοδοι

Ανάκτηση Διαπιστευτηρίων

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

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

ΜέθοδοςΠεριγραφήΠαράμετροιΕπιστρέφει
getCredentialEncoderΛαμβάνει τον κωδικοποιητή για δεδομένα διαπιστευτηρίουΚαμίαEncoder<CredentialArgs>
getCredentialDecoderΛαμβάνει τον αποκωδικοποιητή για δεδομένα διαπιστευτηρίουΚαμίαDecoder<Credential>
getCredentialCodecΛαμβάνει τον κωδικοποιητή-αποκωδικοποιητή για δεδομένα διαπιστευτηρίουΚαμίαCodec<CredentialArgs, Credential>

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

Ανάκτηση Ενός Διαπιστευτηρίου

const credential = await fetchCredential(rpc, credentialAddress);
console.log("Credential name:", credential.name);

Ανάκτηση Πολλαπλών Διαπιστευτηρίων

const credentials = await fetchAllCredential(rpc, [
credential1Address,
credential2Address
]);
credentials.forEach((credential) =>
console.log("Credential:", credential.name)
);

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

const credential = await fetchMaybeCredential(rpc, credentialAddress);
if (credential) {
console.log("Credential found:", credential.name);
} else {
console.log("Credential not found");
}

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

  • Το πεδίο discriminator χρησιμοποιείται εσωτερικά και δεν πρέπει να τροποποιηθεί
  • Το πεδίο authority καθορίζει ποιος έχει τον έλεγχο του διαπιστευτηρίου
  • Το authorizedSigners είναι ένας πίνακας διευθύνσεων που επιτρέπεται να δημιουργήσουν βεβαιώσεις υπό αυτό το διαπιστευτήριο
  • Το πεδίο name αποθηκεύεται ως πίνακας bytes και πρέπει να κωδικοποιείται/ αποκωδικοποιείται σωστά σύμφωνα με τις ανάγκες της εφαρμογής σας
  • Μόνο εξουσιοδοτημένοι υπογράφοντες μπορούν να δημιουργήσουν βεβαιώσεις υπό ένα διαπιστευτήριο
  • Η αρχή μπορεί να τροποποιήσει τη λίστα των εξουσιοδοτημένων υπογραφόντων

Is this page helpful?

Διαχειρίζεται από

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