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
SolanaSignerfonctionne 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
SolanaSignerunifiée - Backends : Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para, Utila
- Compatibilité : Compatible
@solana/kitet@solana/signers(TypeScript) | Compatiblesolana-sdketsolana-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é.
| Backend | Cas d'usage | Rust | TypeScript |
|---|---|---|---|
| Memory | Développement, tests | ✓ | ✓ |
| HashiCorp Vault | Gestion de clés auto-hébergée | ✓ | ✓ |
| AWS KMS | Cloud natif (AWS) | ✓ | ✓ |
| GCP KMS | Cloud natif (GCP) | ✓ | ✓ |
| Privy | Portefeuilles intégrés | ✓ | ✓ |
| Turnkey | Gestion de clés non-custodiale | ✓ | ✓ |
| Fireblocks | Garde institutionnelle | ✓ | ✓ |
| CDP | Coinbase Developer Platform | ✓ | ✓ |
| Crossmint | Portefeuilles gérés Crossmint | ✓ | ✓ |
| Dfns | Infrastructure de portefeuille Dfns | ✓ | ✓ |
| Openfort | Portefeuilles backend Openfort | ✓ | ✓ |
| Para | Portefeuilles MPC Para | ✓ | ✓ |
| Utila | Garde 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 backendlet signer = Signer::from_memory("base58_private_key")?;// All signers share the same interfacelet pubkey = signer.pubkey();let signature = signer.sign_transaction(&mut tx).await?;
- Guide Rust - Installation complète et configuration du backend
- Crates.io - Crate Rust
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 factoryconst 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 transactionconst signedTx = await signTransactionWithSigners([signer],compiledTransaction);
- Guide TypeScript - Packages
@solana/keychain - Package npm - Package npm
Prochaines étapes
Guide Rust
Installez le crate et configurez chaque backend.
Guide TypeScript
Installez les packages et configurez chaque backend.
Choisir un backend
Comparez les modèles de garde et choisissez le bon backend de signature.
Bonnes pratiques en production
Gérez la signature en toute sécurité : séparation hot/cold, rotation, surveillance.
Ajout de signataires personnalisés
Intégrez un nouveau backend de gestion des clés.
Source
Construit et maintenu par la Solana Foundation. Distribué sous licence MIT.
Is this page helpful?