Keychain

Solana Keychain cung cấp một giao diện thống nhất để ký các giao dịch Solana trên nhiều backend quản lý khóa khác nhau. Phát triển cục bộ với khóa trong bộ nhớ, sau đó chuyển sang quản lý khóa doanh nghiệp, HSM đám mây hoặc dịch vụ ví được quản lý trong môi trường sản xuất — mà không cần viết lại mã ký của bạn.

Tại sao nên dùng Keychain?

  • Giao diện duy nhất: Một trait SolanaSigner hoạt động trên tất cả các backend
  • Hoán đổi backend: Thay đổi nhà cung cấp quản lý khóa thông qua cấu hình, không phải mã nguồn
  • Trừu tượng hóa không tốn chi phí: Feature flag chỉ bao gồm những gì bạn cần
  • Đã kiểm toán: Được xem xét bảo mật bởi Accretion

Kiến trúc

  • Ngôn ngữ: Rust + TypeScript, hoàn toàn tương đương
  • Trait: Giao diện SolanaSigner thống nhất
  • Backend: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para, Utila
  • Tương thích: @solana/kit@solana/signers tương thích (TypeScript) | solana-sdksolana-sdk-v3 tương thích (Rust)

Các Backend được hỗ trợ

Các backend bao gồm môi trường phát triển cục bộ, quản lý khóa tự lưu trữ và trên đám mây, cũng như các dịch vụ ví được quản lý hoặc MPC. Xem Chọn backend để so sánh các mô hình lưu ký và chọn mô hình phù hợp.

BackendTrường hợp sử dụngRustTypeScript
MemoryPhát triển, kiểm thử
HashiCorp VaultQuản lý khóa tự lưu trữ
AWS KMSCloud-native (AWS)
GCP KMSCloud-native (GCP)
PrivyVí nhúng
TurnkeyQuản lý khóa không lưu ký
FireblocksLưu ký tổ chức
CDPCoinbase Developer Platform
CrossmintVí được quản lý bởi Crossmint
DfnsHạ tầng ví Dfns
OpenfortVí backend Openfort
ParaVí MPC Para
UtilaLưu ký MPC Utila

Bắt Đầu Nhanh

Rust

Cài đặt Rust crate:

cargo add solana-keychain

Cách sử dụng cơ bản:

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

Cài đặt gói TypeScript:

pnpm add @solana/keychain

Cách sử dụng cơ bản:

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

Các Bước Tiếp Theo

Nguồn

Được xây dựng và duy trì bởi Solana Foundation. Được cấp phép theo MIT.

Is this page helpful?

Mục lục

Chỉnh sửa trang