تمثل الشهادة ادعاءً أو بياناً موثقاً في نظام شهادات سولانا. يتم إنشاء الشهادات بواسطة موقعين مصرح لهم ضمن بيانات اعتماد وتتبع مخططاً محدداً. تحتوي كل شهادة على البيانات الفعلية للادعاء والبيانات الوصفية حول إنشائها وصلاحيتها.
البنية
يمثل هيكل Attestation شهادة في نظام شهادات سولانا. ترتبط كل شهادة ببيانات اعتماد ومخطط، وتحتوي على البيانات المشهود بها إلى جانب البيانات الوصفية حول إنشائها وفترة صلاحيتها.
تعريفات الأنواع
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;};
الدوال
جلب الشهادات
| الدالة | الوصف | المعاملات | القيمة المُرجعة |
|---|---|---|---|
fetchAttestation | تجلب شهادة واحدة بواسطة عنوانها | rpc: سياق RPC، address: عنوان الشهادة، config?: إعدادات الجلب | Promise<Account<Attestation>> |
fetchMaybeAttestation | تجلب شهادة بشكل آمن، وترجع null إذا لم توجد | rpc: سياق RPC، address: عنوان الشهادة، config?: إعدادات الجلب | Promise<MaybeAccount<Attestation>> |
fetchAllAttestation | تجلب شهادات متعددة بواسطة عناوينها | rpc: سياق RPC، addresses: مصفوفة عناوين الشهادات، config?: إعدادات الجلب | Promise<Account<Attestation>[]> |
fetchAllMaybeAttestation | تجلب شهادات متعددة بشكل آمن، وتتجاوز ما لم يُعثر عليه | rpc: سياق RPC، addresses: مصفوفة عناوين الشهادات، config?: إعدادات الجلب | Promise<MaybeAccount<Attestation>[]> |
التسلسل
| الدالة | الوصف | المعاملات | القيمة المُرجعة |
|---|---|---|---|
getAttestationEncoder | تحصل على المشفّر لبيانات الشهادة | لا توجد | Encoder<AttestationArgs> |
getAttestationDecoder | تحصل على فاك التشفير لبيانات الشهادة | لا توجد | Decoder<Attestation> |
getAttestationCodec | تحصل على الترميز لبيانات الشهادة | لا توجد | Codec<AttestationArgs, Attestation> |
أمثلة الاستخدام
جلب شهادة واحدة
const attestation = await fetchAttestation(rpc, attestationAddress);console.log("Attestation nonce:", attestation.nonce);
جلب شهادات متعددة
const attestations = await fetchAllAttestation(rpc, [attestation1Address,attestation2Address]);attestations.forEach((attestation) =>console.log("Attestation:", attestation.nonce));
الجلب الآمن
const attestation = await fetchMaybeAttestation(rpc, attestationAddress);if (attestation) {console.log("Attestation found:", attestation.nonce);} else {console.log("Attestation not found");}
ملاحظات هامة
- حقل
discriminatorيُستخدم داخليًا ويجب عدم تعديله - حقل
nonceيوفر معرفًا فريدًا لكل شهادة - حقول
credentialوschemaتربط الشهادة ببيانات الاعتماد والمخطط المرتبطين بها - حقل
dataيحتوي على بيانات الشهادة الفعلية ويجب تشفيره/فك تشفيره بشكل صحيح وفقًا للمخطط - يجب أن يكون
signerأحد الموقعين المصرح لهم لبيانات الاعتماد المرتبطة - حقل
expiryيحدد متى تصبح الشهادة غير صالحة - حقل
tokenAccountيربط الشهادة بحساب رمز محدد - يمكن إنشاء الشهادات فقط بواسطة الموقعين المصرح لهم لبيانات الاعتماد المرتبطة
- يجب أن تتوافق بيانات الشهادة مع البنية المحددة في المخطط المرتبط
Is this page helpful?