لا تُنفَّذ المعاملة إلا إذا حملت
توقيعاً صالحاً من كل
موقِّع مطلوب. خلال التطوير المحلي، عادةً ما تحتفظ بهذا المفتاح على هيئة
Keypair وتوقّع مباشرةً. أما في
بيئة الإنتاج فالسؤال الجوهري مختلف: أين يوجد المفتاح الخاص، ومن يملك صلاحية تفويض التوقيع به؟
لا تضمّن المفاتيح الخاصة أبداً في كود جانب العميل، ولا تحزمها داخل واجهة أمامية، ولا ترفعها إلى نظام التحكم في الإصدارات. فمن يحصل على المفتاح يكتسب تحكماً كاملاً في أموال ذلك الحساب.
أساليب التوقيع
| الأسلوب | مكان تخزين المفتاح | الجهة الموقِّعة | الأنسب لـ |
|---|---|---|---|
| keypair محلي | ملف أو متغير بيئة على الجهاز | كودك مباشرةً | التطوير المحلي، الاختبارات، CI |
| محفظة المتصفح | محفظة المستخدم النهائي (مثل Phantom، Solflare) | المستخدم النهائي، لكل معاملة على حدة | تطبيقات dApps الأمامية حيث يوقّع المستخدمون معاملاتهم بأنفسهم |
| Cloud KMS / HSM | خدمة مفاتيح مدعومة بالأجهزة (AWS KMS، GCP KMS، Vault) | تطلب الخلفية توقيعاً من الخدمة | خدمات الخلفية، عمليات الخزينة، البيئات الخاضعة للتنظيم |
| محافظ مُدارة / MPC | مقسَّمة أو محفوظة لدى بنية تحتية خاصة بالمزوّد | يوقّع المزوّد بالاشتراك وفق سياستك | المحافظ المدمجة، سير عمل الموافقات، الحضانة المؤسسية |
يُعدّ keypair المحلي الأسلوب الوحيد الذي يضع مادة المفتاح الخام داخل تطبيقك. كل أسلوب إنتاجي يحتفظ بالمفتاح في بنية تحتية مخصصة ويطلب منها التوقيع نيابةً عنك.
التوقيع من الخلفية
عندما يحتاج خادم إلى التوقيع (لدفع الرسوم أو إرسال معاملات البرامج أو
إدارة خزينة)، استخدم واجهة خلفية مخصصة لإدارة المفاتيح بدلاً من استخدام
keypair خام. تتولى مؤسسة سولانا صيانة Keychain، وهي
مكتبة توقيع موحدة (Rust وTypeScript وPython وGo) توفر واجهة
SolanaSigner واحدة عبر جميع الواجهات الخلفية في الجدول أعلاه: Memory،
HashiCorp Vault، AWS KMS، GCP KMS، Fireblocks، Privy، Turnkey، CDP، Crossmint،
Dfns، Para، Openfort، Utila وFordefi.
ولأن الواجهة مشتركة بين جميع الواجهات الخلفية، يمكنك التطوير محليًا باستخدام مفتاح
في الذاكرة ثم الانتقال إلى واجهة خلفية للإنتاج عبر الإعدادات، دون
إعادة كتابة كود التطبيق (أما الواجهات الخلفية التي تبث المعاملات نيابةً عنك، مثل Crossmint،
فيتم استدعاؤها عبر مسار التوقيع والإرسال). يتوافق Keychain مع
@solana/kit وRust SDK وsolders (Python) وsolana-go v2
(Go).
Keychain
توقيع موحّد عبر المفاتيح المحلية، وKMS، وHSM، وخلفيات المحافظ المُدارة.
اختيار الخلفية
قارن بين نماذج الحضانة واختر خلفية التوقيع المناسبة لتطبيقك.
للاطلاع على قائمة تدقيق الإنتاج الشاملة — إدارة المفاتيح، وأمان RPC، والمراقبة — راجع جاهزية الإنتاج.
Is this page helpful?