Keychain

O Solana Keychain fornece uma interface unificada para assinar transações Solana em múltiplos backends de gerenciamento de chaves. Desenvolva localmente com uma chave em memória, depois mude para gerenciamento de chaves empresarial, HSMs em nuvem ou serviços de carteira gerenciada em produção — sem reescrever seu código de assinatura.

Por que Keychain?

  • Interface Única: Um trait SolanaSigner funciona em todos os backends
  • Troque de Backend: Mude os provedores de gerenciamento de chaves por configuração, não por código
  • Abstração de Custo Zero: Flags de recursos incluem apenas o que você precisa
  • Auditado: Revisado em segurança pela Accretion

Arquitetura

  • Linguagens: Rust + TypeScript, com paridade total
  • Trait: Interface unificada SolanaSigner
  • Backends: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para, Utila, Fordefi
  • Compatibilidade: @solana/kit e @solana/signers compatíveis (TypeScript) | solana-sdk e solana-sdk-v3 compatíveis (Rust)

Backends Suportados

Os backends abrangem desenvolvimento local, gerenciamento de chaves auto-hospedado e em nuvem, e serviços de carteira gerenciada ou MPC. Consulte Como escolher um backend para comparar os modelos de custódia e escolher o mais adequado.

BackendCaso de UsoRustTypeScript
MemoryDesenvolvimento, testes✓✓
HashiCorp VaultGerenciamento de chaves próprio✓✓
AWS KMSNativo em nuvem (AWS)✓✓
GCP KMSNativo em nuvem (GCP)✓✓
PrivyCarteiras integradas✓✓
TurnkeyGerenciamento de chaves sem custódia✓✓
FireblocksCustódia institucional✓✓
CDPCoinbase Developer Platform✓✓
CrossmintCarteiras gerenciadas Crossmint✓✓
DfnsInfraestrutura de carteiras Dfns✓✓
OpenfortCarteiras backend Openfort✓✓
ParaCarteiras MPC Para✓✓
UtilaCustódia MPC Utila✓✓
FordefiCustódia MPC Fordefi✓✓

Início Rápido

Rust

Instale o crate Rust:

cargo add solana-keychain

Uso básico:

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

Instale o pacote TypeScript:

pnpm add @solana/keychain

Uso básico:

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

Próximos passos

Fonte

Desenvolvido e mantido pela Solana Foundation. Licenciado sob MIT.

Is this page helpful?

Índice

Editar Página
© 2026 Fundação Solana. Todos os direitos reservados.