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
  • 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

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.