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

Node.js SDK

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

安装

Helius Node.js SDK 可以通过以下任一包管理器安装:
  • npm
  • pnpm
  • Yarn
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(())
}

文档

错误处理

当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以获取客户端返回的所有可能错误的列表。对于Node.js SDK,请参考Kit的错误
2

查看文档

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

联系支持

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

对我们的 SDK 贡献

我们欢迎所有对我们 SDK 的贡献!如果您有兴趣,这里是我们的 GitHub 仓库:
特别想为 Helius Rust SDK 做贡献吗?在提交 pull request 之前,请阅读以下贡献指南

非官方社区 SDK

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