Solana Keychain bietet eine einheitliche Schnittstelle zum Signieren von Solana-Transaktionen über mehrere Key-Management-Backends hinweg. Entwickle lokal mit einem In-Memory- Schlüssel und wechsle dann in der Produktion zu Enterprise-Key-Management, Cloud-HSMs oder verwalteten Wallet- Diensten — ohne deinen Signiercode neu schreiben zu müssen.
Warum Keychain?
- Einheitliche Schnittstelle: Ein
SolanaSignerTrait funktioniert über alle Backends hinweg - Backends austauschen: Wechsle den Key-Management-Anbieter per Konfiguration, nicht per Code
- Nullkostenabstraktion: Feature-Flags binden nur das ein, was du benötigst
- Geprüft: Sicherheitsüberprüfung durch Accretion
Architektur
- Sprachen: Rust + TypeScript, vollständig gleichwertig
- Trait: Einheitliche
SolanaSignerSchnittstelle - Backends: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para, Utila
- Kompatibilität:
@solana/kitund@solana/signerskompatibel (TypeScript) |solana-sdkundsolana-sdk-v3kompatibel (Rust)
Unterstützte Backends
Die Backends umfassen lokale Entwicklung, selbst gehostetes und cloudbasiertes Key-Management sowie verwaltete oder MPC-Wallet-Dienste. Siehe Backend auswählen, um Custody- Modelle zu vergleichen und das passende auszuwählen.
| Backend | Anwendungsfall | Rust | TypeScript |
|---|---|---|---|
| Memory | Entwicklung, Tests | ✓ | ✓ |
| HashiCorp Vault | Selbst gehostetes Key-Management | ✓ | ✓ |
| AWS KMS | Cloud-nativ (AWS) | ✓ | ✓ |
| GCP KMS | Cloud-nativ (GCP) | ✓ | ✓ |
| Privy | Eingebettete Wallets | ✓ | ✓ |
| Turnkey | Non-Custodial Key-Management | ✓ | ✓ |
| Fireblocks | Institutionelle Verwahrung | ✓ | ✓ |
| CDP | Coinbase Developer Platform | ✓ | ✓ |
| Crossmint | Verwaltete Crossmint-Wallets | ✓ | ✓ |
| Dfns | Dfns Wallet-Infrastruktur | ✓ | ✓ |
| Openfort | Openfort Backend-Wallets | ✓ | ✓ |
| Para | Para MPC-Wallets | ✓ | ✓ |
| Utila | Utila MPC-Verwahrung | ✓ | ✓ |
Schnellstart
Rust
Installiere das Rust-Crate:
cargo add solana-keychain
Grundlegende Verwendung:
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?;
- Rust-Leitfaden - Vollständige Installation und Backend-Konfiguration
- Crates.io - Rust-Crate
TypeScript
Installiere das TypeScript-Paket:
pnpm add @solana/keychain
Grundlegende Verwendung:
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);
- TypeScript-Leitfaden -
@solana/keychainPakete - npm-Paket - npm-Paket
Nächste Schritte
Rust-Leitfaden
Installiere das Crate und konfiguriere jedes Backend.
TypeScript-Leitfaden
Installiere die Pakete und konfiguriere jedes Backend.
Backend auswählen
Vergleiche Verwahrungsmodelle und wähle das passende Signatur-Backend.
Best Practices für die Produktion
Sicherer Betrieb von Signaturen: Hot/Cold-Trennung, Rotation, Monitoring.
Eigene Signer hinzufügen
Integriere ein neues Schlüsselverwaltungs-Backend.
Quelle
Entwickelt und gepflegt von der Solana Foundation. Lizenziert unter MIT.
Is this page helpful?