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
  • Backendy: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para, Utila
  • 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

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ę