Keychain

Solana Keychain biedt een uniforme interface voor het ondertekenen van Solana-transacties over meerdere key management backends. Gebruik het om ondertekening van enterprise-kwaliteit te integreren in je backend services.

Waarom Keychain?

  • Eén interface: Eén SolanaSigner trait werkt op alle backends
  • Wissel van backend: Verander van key management provider zonder code te herschrijven
  • Zero-Cost abstractie: Feature flags bevatten alleen wat je nodig hebt

Architectuur

  • Talen: Rust + TypeScript
  • Trait: Uniforme SolanaSigner interface
  • Backends: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para
  • Compatibiliteit: @solana/kit en @solana/signers compatibel (TypeScript) | solana-sdk en solana-sdk-v3 compatibel (Rust)

Ondersteunde backends

BackendToepassingRustTypeScript
MemoryOntwikkeling, testen
HashiCorp VaultZelfgehoste HSM
AWS KMSCloud-native (AWS)
GCP KMSCloud-native (GCP)
PrivyEmbedded wallets
TurnkeyNon-custodial
FireblocksInstitutionele MPC
CDPCoinbase Developer Platform
CrossmintCrossmint managed wallets
DfnsDfns wallet infrastructuur
OpenfortOpenfort embedded wallets
ParaPara MPC wallets

Snel aan de slag

Rust

Installeer de Rust crate:

cargo add solana-keychain

Basisgebruik:

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

Installeer het TypeScript-pakket:

pnpm add @solana/keychain

Basisgebruik:

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

Overige bronnen

Bron

GitHub-repository

Gebouwd en onderhouden door de Solana Foundation.

Gelicenseerd onder MIT. Zie LICENSE voor details.

Is this page helpful?

Inhoudsopgave

Pagina Bewerken

Beheerd door

© 2026 Solana Foundation.
Alle rechten voorbehouden.
Blijf Verbonden