Solana Keychain fournit une interface unifiée pour signer des transactions Solana sur plusieurs backends de gestion de clés. Utilisez-le pour intégrer une signature de niveau entreprise dans vos services backend.
Pourquoi Keychain ?
- Interface unique : Un seul trait
SolanaSignerfonctionne sur tous les backends - Échange de backends : Changez de fournisseur de gestion de clés sans réécrire le code
- Abstraction sans coût : Les indicateurs de fonctionnalités n'incluent que ce dont vous avez besoin
Architecture
- Langages : Rust + TypeScript
- Trait : Interface
SolanaSignerunifiée - Backends : Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para
- Compatibilité : Compatible
@solana/kitet@solana/signers(TypeScript) | Compatiblesolana-sdketsolana-sdk-v3(Rust)
Backends pris en charge
| Backend | Cas d'usage | Rust | TypeScript |
|---|---|---|---|
| Memory | Développement, tests | ✓ | ✓ |
| HashiCorp Vault | HSM auto-hébergé | ✓ | ✓ |
| AWS KMS | Natif cloud (AWS) | ✓ | ✓ |
| GCP KMS | Natif cloud (GCP) | ✓ | ✓ |
| Privy | Portefeuilles intégrés | ✓ | ✓ |
| Turnkey | Non-custodial | ✓ | ✓ |
| Fireblocks | MPC institutionnel | ✓ | ✓ |
| CDP | Coinbase Developer Platform | ✓ | ✓ |
| Crossmint | Portefeuilles gérés Crossmint | ✓ | ✓ |
| Dfns | Infrastructure de portefeuilles Dfns | ✓ | ✓ |
| Openfort | Portefeuilles intégrés Openfort | ✓ | ✓ |
| Para | Portefeuilles MPC Para | ✓ | ✓ |
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 -
@solana/keychainpackages - Package npm - Package npm
Autres ressources
- Ajout de signataires personnalisés - Intégrez de nouveaux backends
- Versions GitHub - Historique des versions
Source
Développé et maintenu par la Solana Foundation.
Sous licence MIT. Consultez le fichier LICENSE pour plus de détails.
Is this page helpful?