Thông tin xác thực

Thông tin xác thực đại diện cho một cơ quan chứng thực trong Hệ thống Chứng thực Solana. Thông tin xác thực xác định ai có thể cấp chứng thực và loại chứng thực nào họ có thể cấp. Mỗi thông tin xác thực có một tập hợp các người ký được ủy quyền có thể tạo chứng thực dưới quyền hạn của nó.

Cấu trúc

Struct Credential đại diện cho một thông tin xác thực trong Hệ thống Chứng thực Solana. Mỗi thông tin xác thực xác định một quyền hạn có thể cấp chứng thực và những người ký được ủy quyền thực hiện điều đó.

Định nghĩa Kiểu

Credential

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

Phương thức

Lấy Thông tin Xác thực

Phương thứcMô tảTham sốKết quả trả về
fetchCredentialLấy một thông tin xác thực duy nhất theo địa chỉrpc: Ngữ cảnh RPC, address: Địa chỉ của Credential, config?: Cấu hình fetchPromise<Account<Credential>>
fetchMaybeCredentialLấy thông tin xác thực một cách an toàn, trả về null nếu không tìm thấyrpc: Ngữ cảnh RPC, address: Địa chỉ của Credential, config?: Cấu hình fetchPromise<MaybeAccount<Credential>>
fetchAllCredentialLấy nhiều thông tin xác thực theo địa chỉ của chúngrpc: Ngữ cảnh RPC, addresses: Mảng địa chỉ credential, config?: Cấu hình fetchPromise<Account<Credential>[]>
fetchAllMaybeCredentialLấy nhiều thông tin xác thực một cách an toàn, bỏ qua những cái không tìm thấyrpc: Ngữ cảnh RPC, addresses: Mảng địa chỉ credential, config?: Cấu hình fetchPromise<MaybeAccount<Credential>[]>

Tuần tự hóa

Phương thứcMô tảTham sốKết quả trả về
getCredentialEncoderLấy encoder cho dữ liệu credentialKhông cóEncoder<CredentialArgs>
getCredentialDecoderLấy decoder cho dữ liệu credentialKhông cóDecoder<Credential>
getCredentialCodecLấy codec cho dữ liệu credentialKhông cóCodec<CredentialArgs, Credential>

Ví dụ Sử dụng

Lấy một Credential Đơn lẻ

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

Lấy Nhiều Credentials

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

Lấy Dữ liệu An toàn

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

Lưu ý Quan trọng

  • Trường discriminator được sử dụng nội bộ và không nên sửa đổi
  • Trường authority xác định ai có quyền kiểm soát credential
  • authorizedSigners là một mảng các địa chỉ được phép tạo attestations dưới credential này
  • Trường name được lưu trữ dưới dạng mảng byte và cần được mã hóa/giải mã đúng cách theo nhu cầu của ứng dụng
  • Chỉ những người ký được ủy quyền mới có thể tạo attestations dưới một credential
  • Authority có thể sửa đổi danh sách những người ký được ủy quyền

Is this page helpful?

Mục lục

Chỉnh sửa trang

Quản lý bởi

© 2026 Solana Foundation.
Đã đăng ký bản quyền.
Kết nối