تمثل بيانات الاعتماد سلطة تصديق في نظام تصديق سولانا. تحدد بيانات الاعتماد من يمكنه إصدار التصديقات وأنواع التصديقات التي يمكنه إصدارها. تحتوي كل بيانات اعتماد على مجموعة من الموقعين المعتمدين الذين يمكنهم إنشاء تصديقات تحت سلطتها.
البنية
يمثل هيكل بيانات الاعتماد (Credential) بيانات اعتماد في نظام تصديق سولانا. تحدد كل بيانات اعتماد سلطة يمكنها إصدار التصديقات والموقعين المعتمدين للقيام بذلك.
تعريفات الأنواع
بيانات الاعتماد
export type Credential = {discriminator: number; // Internal discriminatorauthority: Address; // Authority public keyname: ReadonlyUint8Array; // Credential nameauthorizedSigners: Array<Address>; // List of authorized signers};
الطرق
جلب بيانات الاعتماد
| الطريقة | الوصف | المعاملات | القيمة المُرجعة |
|---|---|---|---|
fetchCredential | جلب بيانات اعتماد واحدة بواسطة عنوانها | rpc: سياق RPC، address: عنوان بيانات الاعتماد، config?: إعدادات الجلب | Promise<Account<Credential>> |
fetchMaybeCredential | جلب بيانات الاعتماد بشكل آمن، يُرجع null إذا لم توجد | rpc: سياق RPC، address: عنوان بيانات الاعتماد، config?: إعدادات الجلب | Promise<MaybeAccount<Credential>> |
fetchAllCredential | جلب عدة بيانات اعتماد بواسطة عناوينها | rpc: سياق RPC، addresses: مصفوفة عناوين بيانات الاعتماد، config?: إعدادات الجلب | Promise<Account<Credential>[]> |
fetchAllMaybeCredential | جلب عدة بيانات اعتماد بشكل آمن، يتجاوز غير الموجودة | rpc: سياق RPC، addresses: مصفوفة عناوين بيانات الاعتماد، config?: إعدادات الجلب | Promise<MaybeAccount<Credential>[]> |
التسلسل
| الطريقة | الوصف | المعاملات | القيمة المُرجعة |
|---|---|---|---|
getCredentialEncoder | الحصول على المُشفر لبيانات الاعتماد | لا شيء | Encoder<CredentialArgs> |
getCredentialDecoder | الحصول على فاك التشفير لبيانات الاعتماد | لا شيء | Decoder<Credential> |
getCredentialCodec | الحصول على المُرمّز لبيانات الاعتماد | لا شيء | Codec<CredentialArgs, Credential> |
أمثلة الاستخدام
جلب بيانات اعتماد واحدة
const credential = await fetchCredential(rpc, credentialAddress);console.log("Credential name:", credential.name);
جلب بيانات اعتماد متعددة
const credentials = await fetchAllCredential(rpc, [credential1Address,credential2Address]);credentials.forEach((credential) =>console.log("Credential:", credential.name));
الجلب الآمن
const credential = await fetchMaybeCredential(rpc, credentialAddress);if (credential) {console.log("Credential found:", credential.name);} else {console.log("Credential not found");}
ملاحظات مهمة
- يُستخدم حقل
discriminatorداخليًا ولا ينبغي تعديله - يحدد حقل
authorityمن لديه السيطرة على بيانات الاعتماد authorizedSignersهو مصفوفة من العناوين المصرح لها بإنشاء شهادات تحت بيانات الاعتماد هذه- يتم تخزين حقل
nameكمصفوفة بايتات ويجب ترميزه/فك ترميزه بشكل صحيح وفقًا لاحتياجات تطبيقك - يمكن فقط للموقعين المصرح لهم إنشاء شهادات تحت بيانات الاعتماد
- يمكن للسلطة تعديل قائمة الموقعين المصرح لهم
Is this page helpful?