Kredensial

Kredensial merepresentasikan otoritas atestasi dalam Sistem Atestasi Solana. Kredensial menentukan siapa yang dapat menerbitkan atestasi dan jenis atestasi apa yang dapat mereka terbitkan. Setiap kredensial memiliki sekumpulan penandatangan yang berwenang untuk membuat atestasi di bawah otoritasnya.

Struktur

Struct Credential merepresentasikan kredensial dalam Sistem Atestasi Solana. Setiap kredensial menentukan otoritas yang dapat menerbitkan atestasi dan para penandatangan yang berwenang untuk melakukannya.

Definisi Tipe

Credential

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

Metode

Mengambil Kredensial

MetodeDeskripsiParameterNilai Kembali
fetchCredentialMengambil satu kredensial berdasarkan alamatnyarpc: Konteks RPC, address: Alamat kredensial, config?: Konfigurasi pengambilanPromise<Account<Credential>>
fetchMaybeCredentialMengambil kredensial dengan aman, mengembalikan null jika tidak ditemukanrpc: Konteks RPC, address: Alamat kredensial, config?: Konfigurasi pengambilanPromise<MaybeAccount<Credential>>
fetchAllCredentialMengambil beberapa kredensial berdasarkan alamat merekarpc: Konteks RPC, addresses: Array alamat kredensial, config?: Konfigurasi pengambilanPromise<Account<Credential>[]>
fetchAllMaybeCredentialMengambil beberapa kredensial dengan aman, melewati yang tidak ditemukanrpc: Konteks RPC, addresses: Array alamat kredensial, config?: Konfigurasi pengambilanPromise<MaybeAccount<Credential>[]>

Serialisasi

MetodeDeskripsiParameterNilai Kembali
getCredentialEncoderMendapatkan encoder untuk data kredensialTidak adaEncoder<CredentialArgs>
getCredentialDecoderMendapatkan decoder untuk data kredensialTidak adaDecoder<Credential>
getCredentialCodecMendapatkan codec untuk data kredensialTidak adaCodec<CredentialArgs, Credential>

Contoh Penggunaan

Mengambil Satu Kredensial

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

Mengambil Beberapa Kredensial

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

Pengambilan yang Aman

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

Catatan Penting

  • Field discriminator digunakan secara internal dan tidak boleh dimodifikasi
  • Field authority menentukan siapa yang memiliki kontrol atas kredensial
  • authorizedSigners adalah array alamat yang diizinkan untuk membuat atestasi di bawah kredensial ini
  • Field name disimpan sebagai byte array dan harus dikodekan/didekodekan dengan benar sesuai kebutuhan aplikasi Anda
  • Hanya penandatangan yang berwenang yang dapat membuat atestasi di bawah kredensial
  • Otoritas dapat memodifikasi daftar penandatangan yang berwenang

Is this page helpful?

Daftar Isi

Edit Halaman

Dikelola oleh

© 2026 Yayasan Solana.
Semua hak dilindungi.
Terhubung