**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)
サポートされているバックエンド
| バックエンド | ユースケース | Rust | TypeScript |
|---|---|---|---|
| Memory | 開発、テスト | ✓ | ✓ |
| HashiCorp Vault | 自己ホスト型HSM | ✓ | ✓ |
| AWS KMS | クラウドネイティブ(AWS) | ✓ | ✓ |
| GCP KMS | クラウドネイティブ(GCP) | ✓ | ✓ |
| Privy | 組み込みウォレット | ✓ | ✓ |
| Turnkey | 非カストディアル | ✓ | ✓ |
| Fireblocks | 機関投資家向けMPC | ✓ | ✓ |
| CDP | Coinbase Developer Platform | ✓ | ✓ |
| Crossmint | Crossmint管理ウォレット | ✓ | ✓ |
| Dfns | Dfnsウォレットインフラ | ✓ | ✓ |
| Openfort | Openfort組み込みウォレット | ✓ | ✓ |
| Para | Para MPCウォレット | ✓ | ✓ |
クイックスタート
Rust
Rustクレートをインストール:
cargo add solana-keychain
基本的な使い方:
use solana_keychain::{Signer, SolanaSigner};// Create a signer from any backendlet signer = Signer::from_memory("base58_private_key")?;// All signers share the same interfacelet 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 factoryconst 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 transactionconst signedTx = await signTransactionWithSigners([signer],compiledTransaction);
- TypeScriptガイド -
@solana/keychainパッケージ - npmパッケージ - npmパッケージ
その他のリソース
- カスタム署名者の追加 - 新しいバックエンドの統合
- GitHubリリース - リリース履歴
ソース
Solana Foundationによって構築・保守されています。
MITライセンスの下でライセンスされています。詳細は LICENSE をご覧ください。
Is this page helpful?