Keychain

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 SolanaSigner Trait 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 SolanaSigner Schnittstelle
  • Backends: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para, Utila
  • Kompatibilität: @solana/kit und @solana/signers kompatibel (TypeScript) | solana-sdk und solana-sdk-v3 kompatibel (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.

BackendAnwendungsfallRustTypeScript
MemoryEntwicklung, Tests
HashiCorp VaultSelbst gehostetes Key-Management
AWS KMSCloud-nativ (AWS)
GCP KMSCloud-nativ (GCP)
PrivyEingebettete Wallets
TurnkeyNon-Custodial Key-Management
FireblocksInstitutionelle Verwahrung
CDPCoinbase Developer Platform
CrossmintVerwaltete Crossmint-Wallets
DfnsDfns Wallet-Infrastruktur
OpenfortOpenfort Backend-Wallets
ParaPara MPC-Wallets
UtilaUtila MPC-Verwahrung

Schnellstart

Rust

Installiere das Rust-Crate:

cargo add solana-keychain

Grundlegende Verwendung:

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

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

Nächste Schritte

Quelle

Entwickelt und gepflegt von der Solana Foundation. Lizenziert unter MIT.

Is this page helpful?

Inhaltsverzeichnis

Seite bearbeiten
© 2026 Solana Foundation. Alle Rechte vorbehalten.
Keychain | Solana