Keychain

Solana Keychain fornisce un'interfaccia unificata per la firma delle transazioni Solana su più backend di gestione delle chiavi. Sviluppa in locale con una chiave in memoria, poi passa alla gestione enterprise delle chiavi, HSM cloud o servizi di wallet gestiti in produzione — senza riscrivere il codice di firma.

Perché Keychain?

  • Interfaccia Unica: Un solo trait SolanaSigner funziona su tutti i backend
  • Cambio di Backend: Cambia i provider di gestione delle chiavi tramite configurazione, non codice
  • Astrazione a Costo Zero: I feature flag includono solo ciò di cui hai bisogno
  • Verificato: Revisione della sicurezza eseguita da Accretion

Architettura

  • Linguaggi: Rust + TypeScript, con piena parità
  • Trait: Interfaccia unificata SolanaSigner
  • Backend: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para, Utila, Fordefi
  • Compatibilità: compatibile con @solana/kit e @solana/signers (TypeScript) | compatibile con solana-sdk e solana-sdk-v3 (Rust)

Backend Supportati

I backend coprono lo sviluppo locale, la gestione delle chiavi self-hosted e cloud, e servizi di wallet gestiti o MPC. Consulta Scegliere un backend per confrontare i modelli di custodia e scegliere quello più adatto.

BackendCaso d'UsoRustTypeScript
MemorySviluppo, testing✓✓
HashiCorp VaultGestione chiavi self-hosted✓✓
AWS KMSCloud-native (AWS)✓✓
GCP KMSCloud-native (GCP)✓✓
PrivyWallet integrati✓✓
TurnkeyGestione chiavi non-custodial✓✓
FireblocksCustodia istituzionale✓✓
CDPCoinbase Developer Platform✓✓
CrossmintWallet gestiti da Crossmint✓✓
DfnsInfrastruttura wallet Dfns✓✓
OpenfortWallet backend Openfort✓✓
ParaWallet MPC Para✓✓
UtilaCustodia MPC Utila✓✓
FordefiCustodia MPC Fordefi✓✓

Avvio rapido

Rust

Installa il crate Rust:

cargo add solana-keychain

Utilizzo di base:

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

Installa il pacchetto TypeScript:

pnpm add @solana/keychain

Utilizzo di base:

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

Prossimi passi

Sorgente

Sviluppato e mantenuto dalla Solana Foundation. Distribuito sotto licenza MIT.

Is this page helpful?

Indice dei contenuti

Modifica pagina
© 2026 Solana Foundation. Tutti i diritti riservati.