Keychain

Solana Keychain zapewnia ujednolicony interfejs do podpisywania transakcji Solana na wielu backendach zarządzania kluczami. Twórz lokalnie z kluczem w pamięci, a następnie przełącz się na enterprise zarządzanie kluczami, chmurowe HSM lub zarządzane usługi portfeli w środowisku produkcyjnym — bez przepisywania kodu podpisywania.

Dlaczego Keychain?

  • Jeden interfejs: Jeden trait SolanaSigner działa na wszystkich backendach
  • Wymiana backendów: Zmieniaj dostawców zarządzania kluczami przez konfigurację, nie kod
  • Abstrakcja bez kosztów: Flagi funkcji dołączają tylko to, czego potrzebujesz
  • Audytowany: Przegląd bezpieczeństwa przeprowadzony przez Accretion

Architektura

  • Języki: Rust + TypeScript, z pełną parytetnością
  • Trait: Ujednolicony interfejs SolanaSigner
  • Backends: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para, Utila, Fordefi
  • Kompatybilność: @solana/kit i @solana/signers kompatybilne (TypeScript) | solana-sdk i solana-sdk-v3 kompatybilne (Rust)

Obsługiwane backendy

Backendy obejmują lokalny rozwój, samodzielnie hostowane i chmurowe zarządzanie kluczami oraz zarządzane usługi portfeli MPC. Zobacz Wybór backendu, aby porównać modele powiernicze i wybrać odpowiedni.

BackendPrzypadek użyciaRustTypeScript
MemoryRozwój, testowanie✓✓
HashiCorp VaultSamodzielne zarządzanie kluczami✓✓
AWS KMSNatywna chmura (AWS)✓✓
GCP KMSNatywna chmura (GCP)✓✓
PrivyWbudowane portfele✓✓
TurnkeyNiepoiernicze zarządzanie kluczami✓✓
FireblocksInstytucjonalna opieka✓✓
CDPCoinbase Developer Platform✓✓
CrossmintZarządzane portfele Crossmint✓✓
DfnsInfrastruktura portfeli Dfns✓✓
OpenfortPortfele backendowe Openfort✓✓
ParaPortfele MPC Para✓✓
UtilaOpieka MPC Utila✓✓
FordefiFordefi MPC custody✓✓

Szybki start

Rust

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

Następne kroki

Źródło

Zbudowane i utrzymywane przez Solana Foundation. Licencjonowane na warunkach MIT.

Is this page helpful?

Spis treści

Edytuj stronę