Solana Keychain menyediakan antarmuka terpadu untuk menandatangani transaksi Solana di berbagai backend manajemen kunci. Gunakan untuk mengintegrasikan penandatanganan tingkat enterprise ke dalam layanan backend Anda.
Mengapa Keychain?
- Antarmuka Tunggal: Satu trait
SolanaSignerberfungsi di semua backend - Tukar Backend: Ubah penyedia manajemen kunci tanpa menulis ulang kode
- Abstraksi Tanpa Biaya: Feature flag hanya menyertakan yang Anda butuhkan
Arsitektur
- Bahasa: Rust + TypeScript
- Trait: Antarmuka
SolanaSignerterpadu - Backend: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para
- Kompatibilitas: Kompatibel dengan
@solana/kitdan@solana/signers(TypeScript) | Kompatibel dengansolana-sdkdansolana-sdk-v3(Rust)
Backend yang Didukung
| Backend | Kasus Penggunaan | Rust | TypeScript |
|---|---|---|---|
| Memory | Pengembangan, pengujian | ✓ | ✓ |
| HashiCorp Vault | HSM self-hosted | ✓ | ✓ |
| AWS KMS | Cloud-native (AWS) | ✓ | ✓ |
| GCP KMS | Cloud-native (GCP) | ✓ | ✓ |
| Privy | Dompet tertanam | ✓ | ✓ |
| Turnkey | Non-custodial | ✓ | ✓ |
| Fireblocks | MPC institusional | ✓ | ✓ |
| CDP | Coinbase Developer Platform | ✓ | ✓ |
| Crossmint | Dompet terkelola Crossmint | ✓ | ✓ |
| Dfns | Infrastruktur dompet Dfns | ✓ | ✓ |
| Openfort | Dompet tertanam Openfort | ✓ | ✓ |
| Para | Dompet MPC Para | ✓ | ✓ |
Mulai Cepat
Rust
Instal crate Rust:
cargo add solana-keychain
Penggunaan dasar:
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?;
- Panduan Rust - Instalasi lengkap dan konfigurasi backend
- Crates.io - Crate Rust
TypeScript
Instal paket TypeScript:
pnpm add @solana/keychain
Penggunaan dasar:
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);
- Panduan TypeScript - Paket
@solana/keychain - Paket npm - Paket npm
Sumber Daya Lainnya
- Menambahkan Penandatangan Kustom - Integrasikan backend baru
- Rilis GitHub - Riwayat rilis
Sumber
Dibangun dan dipelihara oleh Solana Foundation.
Dilisensikan di bawah MIT. Lihat LICENSE untuk detail lebih lanjut.
Is this page helpful?