Xác thực

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 discriminator
nonce: Address; // Unique identifier for the attestation
credential: Address; // Associated credential address
schema: Address; // Associated schema address
data: ReadonlyUint8Array; // Attestation data
signer: Address; // Address of the signer who created the attestation
expiry: bigint; // Expiration timestamp
tokenAccount: 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 bigint
tokenAccount: Address;
};

Phương thức

Lấy Xác thực

Phương thứcMô tảTham sốTrả về
fetchAttestationLấ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ệuPromise<Account<Attestation>>
fetchMaybeAttestationLấy 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ỉ xác thực, config?: Cấu hình lấy dữ liệuPromise<MaybeAccount<Attestation>>
fetchAllAttestationLấy nhiều xác thực theo địa chỉ của chúngrpc: Ngữ cảnh RPC, addresses: Mảng các địa chỉ xác thực, config?: Cấu hình lấy dữ liệuPromise<Account<Attestation>[]>
fetchAllMaybeAttestationLấy nhiều xác thực một cách an toàn, bỏ qua nếu không tìm thấyrpc: Ngữ cảnh RPC, addresses: Mảng các địa chỉ xác thực, config?: Cấu hình lấy dữ liệuPromise<MaybeAccount<Attestation>[]>

Tuần tự hóa

Phương thứcMô tảTham sốTrả về
getAttestationEncoderLấy bộ mã hóa cho dữ liệu xác thựcKhông cóEncoder<AttestationArgs>
getAttestationDecoderLấy bộ giải mã cho dữ liệu xác thựcKhông cóDecoder<Attestation>
getAttestationCodecLấy codec cho dữ liệu xác thựcKhô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
  • nonce cung cấp một mã định danh duy nhất cho mỗi xác thực
  • Các trường credentialschema liên kết xác thực với chứng chỉ và lược đồ tương ứng
  • Trường data chứ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 đồ
  • signer phải là một trong các bên ký được ủy quyền của chứng chỉ liên quan
  • expiry xác định thời điểm xác thực trở nên không hợp lệ
  • tokenAccount liê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?

Mục lục

Chỉnh sửa trang