Keychain

Solana Keychain fornisce un'interfaccia unificata per la firma delle transazioni Solana attraverso diversi backend di gestione delle chiavi. Utilizzalo per integrare la firma di livello enterprise nei tuoi servizi backend.

Perché Keychain?

  • Interfaccia Singola: Un unico trait SolanaSigner funziona con tutti i backend
  • Scambio Backend: Cambia fornitore di gestione delle chiavi senza riscrivere il codice
  • Astrazione a Costo Zero: I flag delle funzionalità includono solo ciò di cui hai bisogno

Architettura

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

Backend Supportati

BackendCaso d'UsoRustTypeScript
MemorySviluppo, testing
HashiCorp VaultHSM self-hosted
AWS KMSCloud-native (AWS)
GCP KMSCloud-native (GCP)
PrivyWallet integrati
TurnkeyNon-custodial
FireblocksMPC istituzionale
CDPCoinbase Developer Platform
CrossmintWallet gestiti da Crossmint
DfnsInfrastruttura wallet Dfns
OpenfortWallet integrati Openfort
ParaWallet MPC Para

Avvio Rapido

Rust

Installa il crate Rust:

cargo add solana-keychain

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

Altre Risorse

Sorgente

Repository GitHub

Sviluppato e mantenuto dalla Solana Foundation.

Rilasciato sotto licenza MIT. Consulta il LICENSE per i dettagli.

Is this page helpful?

Indice dei contenuti

Modifica pagina

Gestito da

© 2026 Solana Foundation.
Tutti i diritti riservati.
Resta connesso