Keychain

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 SolanaSigner berfungsi 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 SolanaSigner terpadu
  • Backend: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para
  • Kompatibilitas: Kompatibel dengan @solana/kit dan @solana/signers (TypeScript) | Kompatibel dengan solana-sdk dan solana-sdk-v3 (Rust)

Backend yang Didukung

BackendKasus PenggunaanRustTypeScript
MemoryPengembangan, pengujian
HashiCorp VaultHSM self-hosted
AWS KMSCloud-native (AWS)
GCP KMSCloud-native (GCP)
PrivyDompet tertanam
TurnkeyNon-custodial
FireblocksMPC institusional
CDPCoinbase Developer Platform
CrossmintDompet terkelola Crossmint
DfnsInfrastruktur dompet Dfns
OpenfortDompet tertanam Openfort
ParaDompet MPC Para

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

Sumber Daya Lainnya

Sumber

Repositori GitHub

Dibangun dan dipelihara oleh Solana Foundation.

Dilisensikan di bawah MIT. Lihat LICENSE untuk detail lebih lanjut.

Is this page helpful?

Daftar Isi

Edit Halaman

Dikelola oleh

© 2026 Yayasan Solana.
Semua hak dilindungi.
Terhubung