Keychain

Solana Keychain menyediakan antarmuka terpadu untuk menandatangani transaksi Solana di berbagai backend manajemen kunci. Kembangkan secara lokal dengan kunci in-memory, lalu beralih ke manajemen kunci enterprise, cloud HSM, atau layanan dompet terkelola di produksi — tanpa perlu menulis ulang kode penandatanganan Anda.

Mengapa Keychain?

  • Antarmuka Tunggal: Satu trait SolanaSigner bekerja di semua backend
  • Ganti Backend: Ubah penyedia manajemen kunci melalui konfigurasi, bukan kode
  • Abstraksi Tanpa Biaya: Feature flag hanya menyertakan apa yang Anda butuhkan
  • Diaudit: Ditinjau keamanannya oleh Accretion

Arsitektur

  • Bahasa: Rust + TypeScript, dengan paritas penuh
  • Trait: Antarmuka SolanaSigner terpadu
  • Backend: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para, Utila
  • Kompatibilitas: @solana/kit dan @solana/signers kompatibel (TypeScript) | solana-sdk dan solana-sdk-v3 kompatibel (Rust)

Backend yang Didukung

Backend mencakup pengembangan lokal, manajemen kunci yang di-host sendiri dan berbasis cloud, serta layanan dompet terkelola atau MPC. Lihat Memilih backend untuk membandingkan model kustodi dan memilih yang tepat.

BackendKasus PenggunaanRustTypeScript
MemoryPengembangan, pengujian
HashiCorp VaultManajemen kunci self-hosted
AWS KMSCloud-native (AWS)
GCP KMSCloud-native (GCP)
PrivyDompet tertanam
TurnkeyManajemen kunci non-kustodial
FireblocksKustodi institusional
CDPCoinbase Developer Platform
CrossmintDompet terkelola Crossmint
DfnsInfrastruktur dompet Dfns
OpenfortDompet backend Openfort
ParaDompet MPC Para
UtilaKustodi MPC Utila

Mulai Cepat

Rust

Instal crate Rust:

cargo add solana-keychain

Penggunaan dasar:

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?;

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 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
);

Langkah Selanjutnya

Sumber

Dibangun dan dipelihara oleh Solana Foundation. Dilisensikan di bawah MIT.

Is this page helpful?

Daftar Isi

Edit Halaman
© 2026 Yayasan Solana. Semua hak dilindungi.