Keychain

Solana Keychain fournit une interface unifiée pour signer des transactions Solana sur plusieurs backends de gestion de clés. Développez localement avec une clé en mémoire, puis basculez vers une gestion de clés d'entreprise, des HSM cloud ou des services de portefeuille gérés en production — sans réécrire votre code de signature.

Pourquoi Keychain ?

  • Interface unique : Un trait SolanaSigner fonctionne sur tous les backends
  • Changement de backend : Changez de fournisseur de gestion de clés via la configuration, pas le code
  • Abstraction sans coût : Les indicateurs de fonctionnalités n'incluent que ce dont vous avez besoin
  • Audité : Revue de sécurité par Accretion

Architecture

  • Langages : Rust + TypeScript, à parité complète
  • Trait : Interface SolanaSigner unifiée
  • Backends : Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para, Utila
  • Compatibilité : Compatible @solana/kit et @solana/signers (TypeScript) | Compatible solana-sdk et solana-sdk-v3 (Rust)

Backends pris en charge

Les backends couvrent le développement local, la gestion de clés auto-hébergée et cloud, ainsi que les services de portefeuille gérés ou MPC. Consultez Choisir un backend pour comparer les modèles de garde et choisir le plus adapté.

BackendCas d'usageRustTypeScript
MemoryDéveloppement, tests
HashiCorp VaultGestion de clés auto-hébergée
AWS KMSCloud natif (AWS)
GCP KMSCloud natif (GCP)
PrivyPortefeuilles intégrés
TurnkeyGestion de clés non-custodiale
FireblocksGarde institutionnelle
CDPCoinbase Developer Platform
CrossmintPortefeuilles gérés Crossmint
DfnsInfrastructure de portefeuille Dfns
OpenfortPortefeuilles backend Openfort
ParaPortefeuilles MPC Para
UtilaGarde MPC Utila

Démarrage rapide

Rust

Installez le crate Rust :

cargo add solana-keychain

Utilisation de 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

Installez le package TypeScript :

pnpm add @solana/keychain

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

Prochaines étapes

Source

Construit et maintenu par la Solana Foundation. Distribué sous licence MIT.

Is this page helpful?

Table des matières

Modifier la page
© 2026 Fondation Solana. Tous droits réservés.