توفر سولانا Keychain واجهة موحدة لتوقيع معاملات سولانا عبر خلفيات إدارة مفاتيح متعددة. طوّر محلياً باستخدام مفتاح في الذاكرة، ثم انتقل إلى إدارة مفاتيح المؤسسات، أو وحدات أمان الأجهزة السحابية (HSM)، أو خدمات المحافظ المُدارة في بيئة الإنتاج — دون الحاجة إلى إعادة كتابة كود التوقيع الخاص بك.
لماذا Keychain؟
- واجهة موحدة: سمة
SolanaSignerواحدة تعمل عبر جميع الخلفيات - تبديل الخلفيات: تغيير موفري إدارة المفاتيح من خلال الإعدادات، لا الكود
- تجريد بدون تكلفة: تتضمن أعلام الميزات فقط ما تحتاجه
- مدقَّق: مراجعة أمنية بواسطة Accretion
البنية المعمارية
- اللغات: Rust + TypeScript، بتكافؤ كامل
- السمة: واجهة
SolanaSignerموحدة - الخلفيات: Memory، Vault، AWS KMS، GCP KMS، Privy، Turnkey، Fireblocks، CDP، Crossmint، Dfns، Openfort، Para، Utila
- التوافق: متوافق مع
@solana/kitو@solana/signers(TypeScript) | متوافق معsolana-sdkوsolana-sdk-v3(Rust)
الخلفيات المدعومة
تمتد الخلفيات لتشمل التطوير المحلي، وإدارة المفاتيح الذاتية والسحابية، وخدمات المحافظ المُدارة أو MPC. راجع اختيار خلفية لمقارنة نماذج الحضانة واختيار الأنسب لك.
| الخلفية | حالة الاستخدام | Rust | TypeScript |
|---|---|---|---|
| Memory | التطوير والاختبار | ✓ | ✓ |
| HashiCorp Vault | إدارة مفاتيح ذاتية الاستضافة | ✓ | ✓ |
| AWS KMS | سحابي أصيل (AWS) | ✓ | ✓ |
| GCP KMS | سحابي أصيل (GCP) | ✓ | ✓ |
| Privy | محافظ مضمّنة | ✓ | ✓ |
| Turnkey | إدارة مفاتيح غير حافظة | ✓ | ✓ |
| Fireblocks | حضانة مؤسسية | ✓ | ✓ |
| CDP | منصة مطوري Coinbase | ✓ | ✓ |
| Crossmint | محافظ Crossmint المُدارة | ✓ | ✓ |
| Dfns | بنية تحتية لمحافظ Dfns | ✓ | ✓ |
| Openfort | محافظ خلفية Openfort | ✓ | ✓ |
| Para | محافظ Para MPC | ✓ | ✓ |
| Utila | حضانة Utila MPC | ✓ | ✓ |
البدء السريع
Rust
قم بتثبيت حزمة Rust:
cargo add solana-keychain
الاستخدام الأساسي:
use solana_keychain::{Signer, SolanaSigner};// Create a signer from any backendlet signer = Signer::from_memory("base58_private_key")?;// All signers share the same interfacelet pubkey = signer.pubkey();let signature = signer.sign_transaction(&mut tx).await?;
TypeScript
قم بتثبيت حزمة TypeScript:
pnpm add @solana/keychain
الاستخدام الأساسي:
import { createKeychainSigner } from "@solana/keychain";import { signTransactionWithSigners } from "@solana/signers";// Create any signer via the unified factoryconst signer = await createKeychainSigner({backend: "vault",vaultAddr: "https://vault.example.com:8200",vaultToken: "hvs.xxxxx",keyName: "my-solana-key",publicKey: "base58_public_key"});// Sign an already-compiled transactionconst signedTx = await signTransactionWithSigners([signer],compiledTransaction);
- دليل TypeScript -
@solana/keychainالحزم - حزمة npm - حزمة npm
الخطوات التالية
دليل Rust
قم بتثبيت الحزمة وإعداد كل واجهة خلفية.
دليل TypeScript
قم بتثبيت الحزم وإعداد كل واجهة خلفية.
اختيار الواجهة الخلفية
قارن بين نماذج الحضانة واختر واجهة التوقيع المناسبة.
أفضل الممارسات في الإنتاج
إدارة التوقيع بأمان: الفصل بين البارد والساخن، والتدوير، والمراقبة.
إضافة موقّعين مخصصين
دمج واجهة خلفية جديدة لإدارة المفاتيح.
المصدر
تم البناء والصيانة بواسطة مؤسسة سولانا. مرخّص بموجب MIT.
Is this page helpful?