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 discriminatorauthority: Address; // Authority public keyname: ReadonlyUint8Array; // Credential nameauthorizedSigners: Array<Address>; // List of authorized signers};
Phương thức
Lấy Thông tin Xác thực
| Phương thức | Mô tả | Tham số | Kết quả trả về |
|---|---|---|---|
fetchCredential | Lấ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 fetch | Promise<Account<Credential>> |
fetchMaybeCredential | Lấ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ấy | rpc: Ngữ cảnh RPC, address: Địa chỉ của Credential, config?: Cấu hình fetch | Promise<MaybeAccount<Credential>> |
fetchAllCredential | Lấy nhiều thông tin xác thực theo địa chỉ của chúng | rpc: Ngữ cảnh RPC, addresses: Mảng địa chỉ credential, config?: Cấu hình fetch | Promise<Account<Credential>[]> |
fetchAllMaybeCredential | Lấ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ấy | rpc: Ngữ cảnh RPC, addresses: Mảng địa chỉ credential, config?: Cấu hình fetch | Promise<MaybeAccount<Credential>[]> |
Tuần tự hóa
| Phương thức | Mô tả | Tham số | Kết quả trả về |
|---|---|---|---|
getCredentialEncoder | Lấy encoder cho dữ liệu credential | Không có | Encoder<CredentialArgs> |
getCredentialDecoder | Lấy decoder cho dữ liệu credential | Không có | Decoder<Credential> |
getCredentialCodec | Lấy codec cho dữ liệu credential | Khô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
authorityxác định ai có quyền kiểm soát credential authorizedSignerslà 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?