**Kora 是您的 Solana 签名基础设施。**实现无 gas 交易,用户可以使用任何代币支付费用——USDC、BONK 或您应用的原生代币——或处理任何需要可信签名者的交易签名。
为什么选择 Kora?
- 更好的用户体验:用户无需持有 SOL
- 收益控制:以 USDC、您的代币或任何其他代币收取费用
- 生产就绪:内置安全验证、速率限制和监控
- 轻松集成:JSON-RPC API + TypeScript SDK
- 灵活部署:支持 Railway、Docker 或任何云平台
架构
- 语言:Rust,配备 TypeScript SDK
- 协议:JSON-RPC 2.0
- 签名器:Solana 私钥、Turnkey、Privy
- 身份验证:API 密钥、HMAC 或无验证
- 部署:灵活的部署选项(Docker、Railway 等)
功能特性
- 可配置的验证规则和白名单
- 完整的 Token-2022 支持,带扩展过滤
- Redis 缓存以提升性能
- 速率限制和支出保护
- 安全的密钥管理(Turnkey、Privy、Vault)
- HMAC 和 API 密钥身份验证
- Prometheus 指标和监控
- 增强的费用支付者保护策略
快速开始
安装 Kora:
cargo install kora-cli
基本用法:
kora rpc [OPTIONS] # --help for full list of options
→ 快速入门指南 - 几分钟内在本地运行 Kora
→ 节点运营指南 - 运行支付主节点
TypeScript SDK
Kora 提供简洁的 JSON-RPC 接口,支持三种客户端选项:
// Option 1: Standalone clientimport { KoraClient } from "@solana/kora";const kora = new KoraClient({ rpcUrl: "http://localhost:8080" });const signed = await kora.signTransaction({ transaction });// Option 2: Kit client (recommended) — handles planning, fees, signing, and sendingimport { createKitKoraClient } from "@solana/kora";import { address } from "@solana/kit";const client = await createKitKoraClient({endpoint: "http://localhost:8080",rpcUrl: "https://api.mainnet-beta.solana.com",feeToken: address("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),feePayerWallet: userSigner});
→ API 参考 - JSON-RPC 方法和 TypeScript SDK
本地开发
前置要求
- Rust 1.86+ 或
- Solana CLI 2.2+
- Node.js 20+ 和 pnpm(用于 SDK)
安装
git clone https://github.com/solana-foundation/kora.gitcd koragit checkout v2.0.5just install
构建
just build
运行服务器
基本用法:
kora rpc [OPTIONS]
或者使用测试配置运行:
just run
本地测试
运行所有测试:
just test-all
社区与支持
- 有疑问? 请在 Solana Stack Exchange
提问(使用
kora标签) - 发现问题? 请在 GitHub Issues 报告
其他资源
- Kora CLI Crates.io - 用于运行 Kora 节点的 Rust 包
- @solana/kora NPM 包 - 用于与 Kora 节点交互的 TypeScript SDK
源代码
由 Solana Foundation 构建和维护。
采用 MIT 许可证。详情请参阅 LICENSE。
Is this page helpful?