بيانات الاعتماد

تمثل بيانات الاعتماد سلطة تصديق في نظام تصديق سولانا. تحدد بيانات الاعتماد من يمكنه إصدار التصديقات وأنواع التصديقات التي يمكنه إصدارها. تحتوي كل بيانات اعتماد على مجموعة من الموقعين المعتمدين الذين يمكنهم إنشاء تصديقات تحت سلطتها.

البنية

يمثل هيكل بيانات الاعتماد (Credential) بيانات اعتماد في نظام تصديق سولانا. تحدد كل بيانات اعتماد سلطة يمكنها إصدار التصديقات والموقعين المعتمدين للقيام بذلك.

تعريفات الأنواع

بيانات الاعتماد

export type Credential = {
discriminator: number; // Internal discriminator
authority: Address; // Authority public key
name: ReadonlyUint8Array; // Credential name
authorizedSigners: 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?

تدار بواسطة

© 2026 مؤسسة سولانا.
جميع الحقوق محفوظة.
تواصل معنا