Keychain

توفر سولانا 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. راجع اختيار خلفية لمقارنة نماذج الحضانة واختيار الأنسب لك.

الخلفيةحالة الاستخدامRustTypeScript
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 backend
let signer = Signer::from_memory("base58_private_key")?;
// All signers share the same interface
let pubkey = signer.pubkey();
let signature = signer.sign_transaction(&mut tx).await?;
  • دليل Rust - التثبيت الكامل وإعداد الواجهة الخلفية
  • Crates.io - حزمة Rust

TypeScript

قم بتثبيت حزمة TypeScript:

pnpm add @solana/keychain

الاستخدام الأساسي:

import { createKeychainSigner } from "@solana/keychain";
import { signTransactionWithSigners } from "@solana/signers";
// Create any signer via the unified factory
const 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 transaction
const signedTx = await signTransactionWithSigners(
[signer],
compiledTransaction
);

الخطوات التالية

المصدر

تم البناء والصيانة بواسطة مؤسسة سولانا. مرخّص بموجب MIT.

Is this page helpful?

جدول المحتويات

تعديل الصفحة