欢迎订阅专栏:10分钟Solana-性能web3
Solana 拥有一个庞大且多样的 SDK 生态系统,覆盖了从主流到小众的多种编程语言。这些 SDK 主要分为由 Anza 维护的官方 SDK 和由社区贡献的社区 SDK。
📚 官方 SDK
这些是 Solana 官方推荐和构建的 SDK,提供了最核心、最稳定的功能。
| 语言/平台 | SDK 名称 | 描述 | 链接 |
|---|---|---|---|
| TypeScript (推荐) | @solana/kit | 官方推荐的 TypeScript SDK,用于构建 Node.js、Web 和 React Native 应用。它是模块化的,支持按需加载。 | GitHub, npm |
| TypeScript (客户端) | @solana/client | 一个轻量级的 Solana 客户端运行时,集成了 RPC、钱包、交易和订阅等功能。 | GitHub, npm |
| TypeScript (React) | @solana/react | 为 React 应用提供的 Hooks,用于管理钱包、余额和交易等。 | GitHub, npm |
| TypeScript (旧版) | @solana/web3.js | Solana 的旧版 TypeScript SDK,目前由社区维护。 | GitHub |
| Rust (客户端) | solana_sdk | 用于在 Rust 中编写客户端应用程序。需要注意的是,此 SDK 在 v3 版本中进行了模块化重构。 | GitHub, Crate |
| Rust (链上程序) | solana_program | 用于编写 Solana 链上程序(智能合约)的 Rust SDK。 | GitHub |
| Python | solana-py | Python 的基础库,功能类似于 solana-web3.js,用于构建交易和与 JSON RPC API 交互。 | PyPI |
🌐 社区 SDK
除了官方 SDK,Solana 强大的社区也为各种语言和平台贡献了丰富的 SDK。以下是一些主要语言的社区 SDK:
-
Python
solders:一个高性能的 Python 工具包,由 Rust 编写,提供核心 SDK 功能。solathon:一个高性能、易用且功能丰富的 Python SDK。
-
Go
solana-go:功能全面的 Go 语言 SDK,支持完整的 JSON RPC 和 WebSocket 接口。可使用anchor-go为 Anchor 程序生成客户端。debot-solana-go-sdk:另一个社区 Go SDK。- 其他:还有针对特定协议(如 Meteora、Pump)的 Go SDK。
-
Java / Kotlin
sol4k:一个 Kotlin 客户端,可在 Java 或其他 JVM 语言以及 Android 上使用。sava:另一个 Solana Java SDK。solanaj:一个轻量级的 Java 区块链客户端。
-
C++
solcpp:一个用于与 Solana 和 Mango Markets 交互的 C++ SDK。solana-cpp-sdk:一个用于链上程序的仅头文件(header-only)C++ SDK。SolanaRpcClient:一个基于 Boost.Beast 的 RPC 客户端实现。
注意:Solana 也支持使用 C 和 C++ 编写链上程序。
-
.NET (C#)
Solnet:Solana 的 .NET SDK,可集成到 Web 或桌面应用中。
🎮 游戏开发 SDK
Solana 的低费用和高速特性使其成为游戏开发的热门选择,社区为此提供了丰富的游戏引擎 SDK。
| 游戏引擎 | SDK / 维护者 | 主要功能 |
|---|---|---|
| Unity | Magicblock | NFT 支持、Candy Machine 集成、交易、RPC、Phantom 深度链接、WebGL 连接器、移动钱包适配器、会话密钥、Anchor 客户端代码生成。 |
| Godot | ZenRepublic 和 Virus-Axel | 钱包适配器集成、交易、RPC 功能、Anchor 客户端代码生成、Metaplex Candy Machine 集成。 |
| Unreal Engine | Varmeta, Bitfrost, Thugz 等 | 集成 Solana 区块链功能、管理钱包、执行交易、铸造 Metaplex NFT 等。 |
| Rust 引擎 | Turbo.Computer | 一个用 Rust 编写的轻量级游戏引擎,专注于 Solana,并提供完整的 RPC 支持。 |
| 通用框架 | Honeycomb 协议 | 提供链上程序和状态压缩工具,处理游戏生命周期功能,如质押、任务、战利品箱、玩家档案等。 |
🛠️ 其他重要工具与库
@solana/keychain:一个统一的签名接口,支持 Vault、Privy、AWS KMS、Fireblocks 等多种密钥管理服务。@solana-program/*:一系列与 Solana 原生程序(如 Token、Memo、Compute Budget)交互的官方 JavaScript 客户端。solita:一个工具,可以从 Anchor 或 Shank 提取的 IDL 生成低级别的 TypeScript SDK。
以上是主流的 SDK,Solana 生态还有面向特定协议(如支付、AI 代理)的 SDK,可以根据具体需求进一步探索。
如果想了解某个特定 SDK 的更多细节,可以随时再问我。