Một xác thực đại diện cho một tuyên bố hoặc khẳng định đã được xác minh trong Hệ thống Xác thực Solana. Các xác thực được tạo bởi những người ký được ủy quyền dưới một thông tin xác thực và tuân theo một schema cụ thể. Mỗi xác thực chứa dữ liệu thực tế của tuyên bố và metadata về việc tạo và tính hợp lệ của nó.
Cấu trúc
Struct Attestation đại diện cho một xác thực trong Hệ thống Xác thực Solana. Mỗi xác thực liên kết với một thông tin xác thực, schema, và chứa dữ liệu được xác thực cùng với metadata về việc tạo và khoảng thời gian hợp lệ của nó.
Định nghĩa Kiểu
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;};
Phương thức
Lấy Xác thực
| Phương thức | Mô tả | Tham số | Trả về |
|---|---|---|---|
fetchAttestation | Lấy một xác thực đơn lẻ theo địa chỉ của nó | rpc: Ngữ cảnh RPC, address: Địa chỉ xác thực, config?: Cấu hình lấy dữ liệu | Promise<Account<Attestation>> |
fetchMaybeAttestation | Lấy 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ỉ xác thực, config?: Cấu hình lấy dữ liệu | Promise<MaybeAccount<Attestation>> |
fetchAllAttestation | Lấy nhiều xác thực theo địa chỉ của chúng | rpc: Ngữ cảnh RPC, addresses: Mảng các địa chỉ xác thực, config?: Cấu hình lấy dữ liệu | Promise<Account<Attestation>[]> |
fetchAllMaybeAttestation | Lấy nhiều xác thực một cách an toàn, bỏ qua nếu không tìm thấy | rpc: Ngữ cảnh RPC, addresses: Mảng các địa chỉ xác thực, config?: Cấu hình lấy dữ liệu | Promise<MaybeAccount<Attestation>[]> |
Tuần tự hóa
| Phương thức | Mô tả | Tham số | Trả về |
|---|---|---|---|
getAttestationEncoder | Lấy bộ mã hóa cho dữ liệu xác thực | Không có | Encoder<AttestationArgs> |
getAttestationDecoder | Lấy bộ giải mã cho dữ liệu xác thực | Không có | Decoder<Attestation> |
getAttestationCodec | Lấy codec cho dữ liệu xác thực | Không có | Codec<AttestationArgs, Attestation> |
Ví dụ Sử dụng
Lấy một Xác thực Đơn lẻ
const attestation = await fetchAttestation(rpc, attestationAddress);console.log("Attestation nonce:", attestation.nonce);
Lấy Nhiều Xác thực
const attestations = await fetchAllAttestation(rpc, [attestation1Address,attestation2Address]);attestations.forEach((attestation) =>console.log("Attestation:", attestation.nonce));
Lấy Dữ liệu An toàn
const attestation = await fetchMaybeAttestation(rpc, attestationAddress);if (attestation) {console.log("Attestation found:", attestation.nonce);} else {console.log("Attestation not found");}
Lưu ý Quan trọng
- Trường
discriminatorđược sử dụng nội bộ và không nên chỉnh sửa noncecung cấp một mã định danh duy nhất cho mỗi xác thực- Các trường
credentialvàschemaliên kết xác thực với chứng chỉ và lược đồ tương ứng - Trường
datachứa dữ liệu xác thực thực tế và phải được mã hóa/ giải mã đúng cách theo lược đồ signerphải là một trong các bên ký được ủy quyền của chứng chỉ liên quanexpiryxác định thời điểm xác thực trở nên không hợp lệtokenAccountliên kết xác thực với một associated token account cụ thể- Xác thực chỉ có thể được tạo bởi các bên ký được ủy quyền của chứng chỉ liên quan
- Dữ liệu xác thực phải tuân thủ cấu trúc được định nghĩa bởi lược đồ tương ứng
Is this page helpful?