Keychain

**Solana Keychainは、複数の鍵管理バックエンドにわたってSolanaトランザクションに署名するための統一されたインターフェースを提供します。**バックエンドサービスにエンタープライズグレードの署名を統合するために使用できます。

なぜKeychainなのか?

  • 単一インターフェース: 1つのSolanaSignerトレイトがすべてのバックエンドで動作
  • バックエンドの切り替え: コードを書き直すことなく鍵管理プロバイダーを変更可能
  • ゼロコスト抽象化: 機能フラグで必要なもののみを含める

アーキテクチャ

  • 言語: Rust + TypeScript
  • トレイト: 統一されたSolanaSignerインターフェース
  • バックエンド: Memory、Vault、AWS KMS、GCP KMS、Privy、Turnkey、Fireblocks、CDP、Crossmint、Dfns、Openfort、Para
  • 互換性: @solana/kitおよび@solana/signers互換(TypeScript)| solana-sdkおよびsolana-sdk-v3互換(Rust)

サポートされているバックエンド

バックエンドユースケースRustTypeScript
Memory開発、テスト
HashiCorp Vault自己ホスト型HSM
AWS KMSクラウドネイティブ(AWS)
GCP KMSクラウドネイティブ(GCP)
Privy組み込みウォレット
Turnkey非カストディアル
Fireblocks機関投資家向けMPC
CDPCoinbase Developer Platform
CrossmintCrossmint管理ウォレット
DfnsDfnsウォレットインフラ
OpenfortOpenfort組み込みウォレット
ParaPara MPCウォレット

クイックスタート

Rust

Rustクレートをインストール:

cargo add solana-keychain

基本的な使い方:

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

TypeScriptパッケージをインストール:

pnpm add @solana/keychain

基本的な使い方:

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

その他のリソース

ソース

GitHubリポジトリ

Solana Foundationによって構築・保守されています。

MITライセンスの下でライセンスされています。詳細は LICENSE をご覧ください。

Is this page helpful?

目次

ページを編集

管理運営

© 2026 Solana Foundation.
無断転載を禁じます。
つながろう