Keychain

Solana Keychain zapewnia zunifikowany interfejs do podpisywania transakcji Solana w różnych systemach zarządzania kluczami. Użyj go, aby zintegrować podpisywanie na poziomie korporacyjnym w swoich usługach backendowych.

Dlaczego Keychain?

  • Jeden interfejs: Pojedyncza cecha SolanaSigner działa ze wszystkimi backendami
  • Zmiana backendów: Zmieniaj dostawców zarządzania kluczami bez przepisywania kodu
  • Abstrakcja bez kosztów: Flagi funkcji włączają tylko to, czego potrzebujesz

Architektura

  • Języki: Rust + TypeScript
  • Cecha: Zunifikowany interfejs SolanaSigner
  • Backendy: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para
  • Kompatybilność: Kompatybilny z @solana/kit i @solana/signers (TypeScript) | Kompatybilny z solana-sdk i solana-sdk-v3 (Rust)

Obsługiwane backendy

BackendPrzypadek użyciaRustTypeScript
MemoryRozwój, testowanie
HashiCorp VaultWłasny HSM
AWS KMSNatywnie chmurowy (AWS)
GCP KMSNatywnie chmurowy (GCP)
PrivyWbudowane portfele
TurnkeyBez przechowywania
FireblocksInstytucjonalny MPC
CDPCoinbase Developer Platform
CrossmintZarządzane portfele Crossmint
DfnsInfrastruktura portfeli Dfns
OpenfortWbudowane portfele Openfort
ParaPortfele MPC Para

Szybki start

Rust

Zainstaluj pakiet Rust:

cargo add solana-keychain

Podstawowe użycie:

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

Zainstaluj pakiet TypeScript:

pnpm add @solana/keychain

Podstawowe użycie:

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

Inne zasoby

Źródło

Repozytorium GitHub

Zbudowane i utrzymywane przez Solana Foundation.

Licencjonowane na podstawie MIT. Zobacz LICENSE, aby uzyskać szczegółowe informacje.

Is this page helpful?

Spis treści

Edytuj stronę

Zarządzane przez

© 2026 Solana Foundation.
Wszelkie prawa zastrzeżone.
Bądź na bieżąco