跳转到主要内容
在 Helius,我们开发了一个 Node.js 和一个 Rust SDK,以简化在 Solana 上的开发。以下页面包含有关安装和使用这些 SDK 的信息,还涵盖了常见错误处理、最新文档的查找方式以及如何为这些 SDK 做出贡献。 我们还列出了由我们优秀社区创建的非官方社区 SDK。请注意,这些 SDK 并非由我们团队正式维护——只有 Node.js 和 Rust SDK 是官方维护的。

Node.js SDK

官方 Helius Node.js SDK,用于 Solana 开发

Rust SDK

官方 Helius Rust SDK,用于 Solana 开发

Node.js SDK

请注意,Node.js SDK 从版本 2.0.0 开始已重写。这样做是为了使用 @solana/kit 并去除对 @solana/web3.js 超过 1.73.2 版本的依赖性。对于迁移到最新版本的用户,请参阅我们的迁移指南

安装

Helius Node.js SDK 可以通过以下任一包管理器安装:
npm install helius-sdk

快速开始

下面是一个如何使用 Node.js SDK 获取给定地址拥有的资产列表的简单示例:
import { createHelius } from "helius-sdk";

(async () => {
  const apiKey = ""; // From Helius dashboard
  const helius = createHelius({ apiKey });

  try {
    const assets = await helius.getAssetsByOwner({
      ownerAddress: "owner_address_goes_here",
      page: 1,
      limit: 50,
      sortBy: { sortBy: "created", sortDirection: "asc" },
    });

    console.log("Fetched assets:", assets);
  } catch (error) {
    console.error("Error:", error);
  }
})();

文档

示例目录中包含了详细的代码示例,涵盖每个方法和基本用法,按命名空间组织。有关 API 参考文档,请参阅我们的文档Solana 官方文档以获取一般的 Solana JSON RPC API 帮助。有关 Kit 的一般帮助,请参阅Kit 的文档

Rust SDK

安装

1

添加依赖到 Cargo.toml

要在您的项目中使用 Helius Rust SDK,请通过 cargo 将其添加为依赖项。打开您的项目 Cargo.toml 并在 [dependencies] 下添加以下行:
helius = "x.y.z"
其中 x.y.z 是您所需的版本。
2

替代方案:使用 cargo add 命令

或者,使用 cargo add helius 通过命令行直接添加依赖。这将自动找到与您的项目兼容的最新版本,并将其添加到您的 Cargo.toml
3

保持您的 SDK 更新

记得定期运行 cargo update 来获取 SDK 的最新版本。

快速开始

下面是一个使用增强交易API解析给定交易的简单示例:
use helius::error::Result;
use helius::types::*;
use helius::Helius;

#[tokio::main]
async fn main() -> Result<()> {
    let api_key: &str = "your_api_key";
    let cluster: Cluster = Cluster::MainnetBeta;

    let helius: Helius = Helius::new(api_key, cluster).unwrap();

    let request: ParseTransactionsRequest = ParseTransactionsRequest {
        transactions: vec![
            "2sShYqqcWAcJiGc3oK74iFsYKgLCNiY2DsivMbaJGQT8pRzR8z5iBcdmTMXRobH8cZNZgeV9Ur9VjvLsykfFE2Li".to_string(),
        ],
    };

    let response: Result<Vec<EnhancedTransaction>, HeliusError> = helius.parse_transactions(request).await;
    println!("Assets: {:?}", response);

    Ok(())
}

文档

Rust 文档

docs.rs上的最新文档

API 参考

Helius API 文档

示例

GitHub 仓库中的代码示例

错误处理

当API返回非成功(即4xx或5xx状态码)时,将抛出错误消息。
例如,下面是使用Node.js SDK进行不正确的getAsset调用时抛出的401错误:
{
  "jsonrpc": "2.0",
  "error": {
    "code": -32001,
    "message": "Authentication failed. Missing or invalid API key."
  },
  "id": "1"
}

常见错误代码

在使用Helius SDK时,您可能会遇到几个错误代码。下面是一些常见错误代码的表格,以及帮助您排除故障的附加信息:
当请求参数无效时发生。
当提供了无效的API密钥或由于RPC规则限制访问时发生。
表示用户在给定时间范围内超过了请求限制或超出了信用额度。
这是服务器端问题的通用错误消息。请联系Helius支持以获得帮助。
如果您遇到这些错误:
1

检查错误文档

如果使用 Rust SDK,请参阅 errors.rs 以查看 Helius 客户端可能返回的所有错误列表。对于 Node.js SDK,请参考 Kit 的错误
2

查看文档

请参阅 Helius 文档 以获得进一步指导
3

联系支持

联系 Helius 支持团队以获得更详细的帮助

对我们的 SDK 贡献

我们欢迎所有对我们 SDK 的贡献!如果您有兴趣,这里是我们的 GitHub 仓库:

Node.js SDK

贡献我们的 Node.js SDK

Rust SDK

贡献我们的 Rust SDK
特别想为 Helius Rust SDK 做贡献吗?在提交 pull request 之前,请阅读以下贡献指南

非官方社区 SDK

我们出色的社区成员还创建了他们自己的 SDK 来与我们的 REST API 进行交互。请注意,我们的团队不正式维护这些 SDK。

Kotlin SDK

PHP SDK

Python SDK

Rust SDK (Synchronous)

Rust SDK (Asynchronous)