Eine Transaktion wird nur ausgeführt, wenn sie eine gültige
Signatur von jedem
erforderlichen Signer trägt. Während der lokalen Entwicklung hält man diesen Key in der Regel als
Keypair und signiert direkt. In der
Produktion stellt sich eine andere, entscheidende Frage: Wo liegt der private Key,
und wer ist berechtigt, eine Signatur damit zu autorisieren?
Bette niemals private Keys in clientseitigen Code ein, bündele sie nicht in einem Frontend und committe sie nicht in die Versionsverwaltung. Wer einen Key erlangt, erhält die volle Kontrolle über die Mittel dieses Konten.
Signing-Ansätze
| Ansatz | Wo der Key liegt | Wer signiert | Geeignet für |
|---|---|---|---|
| Lokales keypair | Eine Datei oder Umgebungsvariable auf dem Rechner | Dein Code, direkt | Lokale Entwicklung, Tests, CI |
| Browser-Wallet | Die Wallet des Endbenutzers (z. B. Phantom, Solflare) | Der Endbenutzer, pro Transaktion | Frontend-dApps, bei denen Nutzer ihre eigenen Transaktionen signieren |
| Cloud-KMS / HSM | Ein hardwaregestützter Key-Dienst (AWS KMS, GCP KMS, Vault) | Dein Backend fordert eine Signatur vom Dienst an | Backend-Dienste, Treasury-Operationen, regulierte Umgebungen |
| Verwaltete / MPC-Wallets | Aufgeteilt oder verwahrt in der Infrastruktur eines Anbieters | Der Anbieter ko-signiert gemäß deiner Richtlinie | Eingebettete Wallets, Genehmigungsworkflows, institutionelle Verwahrung |
Das lokale keypair ist der einzige Ansatz, bei dem rohes Key-Material in deiner Anwendung liegt. Jeder Produktionsansatz hält den Key in dedizierter Infrastruktur und beauftragt diese Infrastruktur, in deinem Namen zu signieren.
Backend-Signing
Wenn ein Server signieren muss (Fee-Zahlungen, Senden von Programmtransaktionen oder
Betrieb einer Treasury), verwende ein dediziertes Key-Management-Backend statt eines rohen
keypair. Die Solana Foundation pflegt Keychain, eine
einheitliche Signing-Bibliothek (Rust, TypeScript, Python und Go), die ein einziges
SolanaSigner-Interface für alle Backends in der obigen Tabelle bereitstellt: Memory,
HashiCorp Vault, AWS KMS, GCP KMS, Fireblocks, Privy, Turnkey, CDP, Crossmint,
Dfns, Para, Openfort, Utila und Fordefi.
Da das Interface von allen Backends gemeinsam genutzt wird, kannst du lokal mit einem
In-Memory-Key entwickeln und per Konfiguration auf ein Produktions-Backend wechseln, ohne
den Anwendungscode umschreiben zu müssen (Backends, die für dich broadcasten, wie Crossmint,
werden stattdessen über einen Sign-and-Send-Pfad aufgerufen). Keychain ist kompatibel mit
@solana/kit, dem
Rust SDK, solders (Python) und solana-go v2
(Go).
Keychain
Einheitliches Signing über lokale Keys, KMS, HSM und verwaltete Wallet-Backends hinweg.
Ein Backend auswählen
Vergleiche Verwahrungsmodelle und wähle das richtige Signing-Backend für deine App.
Die vollständige Produktions-Checkliste — Key-Management, RPC-Sicherheit und Monitoring — findest du unter Production Readiness.
Is this page helpful?