跳转到主要内容
Helius TypeScript SDK为所有Helius API提供类型安全的方法,使代理与Solana进行交互的速度最快。
  • Package: helius-sdk (npm / pnpm / yarn)
  • Version: 2.x (使用 @solana/kit,而不是 @solana/web3.js)
  • Runtime: 任何JavaScript运行时 — 浏览器、Deno、Bun、edge runtimes(Cloudflare Workers, Vercel Edge), Node.js 20+
  • TypeScript: 5.8+ (包含完整类型定义)
  • License: ISC

安装

npm install helius-sdk

快速开始

import { createHelius } from "helius-sdk";

const helius = createHelius({
  apiKey: "YOUR_API_KEY",
  network: "mainnet", // or "devnet"
});

// Get all NFTs and tokens owned by a wallet
const assets = await helius.getAssetsByOwner({
  ownerAddress: "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
  page: 1,
  limit: 50,
});

// Get transaction history (with token account activity)
const txs = await helius.getTransactionsForAddress([
  "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
  { limit: 100, transactionDetails: "full", filters: { tokenAccounts: "balanceChanged" } },
]);

// Send a transaction via Helius Sender (ultra-low latency)
const sig = await helius.tx.sendTransactionWithSender({
  instructions: [transferInstruction],
  signers: [walletSigner],
  region: "US_EAST",
});

客户端选项

const helius = createHelius({
  apiKey: "YOUR_API_KEY",       // Required for webhooks, enhanced txs, wallet API
  network: "mainnet",           // "mainnet" (default) or "devnet"
  baseUrl: "https://custom..",  // Override RPC URL (optional)
  rebateAddress: "wallet",      // Wallet for RPC rebates (optional)
  userAgent: "my-agent/1.0",   // Sent as X-Helius-Client header (optional)
});

命名空间

所有方法通过helius客户端访问。DAS API 方法和标准Solana RPC 方法可直接在helius.*上使用。其他功能组织为命名空间:
Namespace访问目的
DAS APIhelius.getAsset(), helius.getAssetsByOwner(), 等查询NFTs、代币、压缩资产
RPC V2helius.getTransactionsForAddress(), helius.getProgramAccountsV2()增强的RPC,支持分页和过滤
Transactionshelius.tx.*智能交易和Helius Sender
Enhancedhelius.enhanced.*将交易解析成人类可读格式
Webhookshelius.webhooks.*创建和管理webhook订阅
WebSocketshelius.ws.*实时区块链数据流
Stakinghelius.stake.*将SOL质押到Helius验证者
ZK Compressionhelius.zk.*压缩账户和证明
Wallet APIhelius.wallet.*余额、历史、身份查找
Standard RPChelius.getBalance(), helius.getSlot(), 等通过代理实现所有标准Solana RPC方法
Raw RPChelius.raw直接访问底层@solana/kit Rpc客户端
Authimport { makeAuthClient } from "helius-sdk/auth/client"代理注册和API密钥管理(独立导入)

编程注册(认证模块)

认证模块是一个独立的导入——不是在主HeliusClient上。用于编程代理注册流程。
import { makeAuthClient } from "helius-sdk/auth/client";

const auth = makeAuthClient();

// All-in-one shortcut:
const result = await auth.agenticSignup({ secretKey: keypair.secretKey });
// result: { jwt, walletAddress, projectId, apiKey, endpoints, credits }

// Or step-by-step:
const keypair = await auth.generateKeypair();
const address = await auth.getAddress(keypair);
const { message, signature } = await auth.signAuthMessage(keypair.secretKey);
const { token } = await auth.walletSignup(message, signature, address);
const project = await auth.createProject(token);
const apiKey = await auth.createApiKey(token, project.id, address);

深入探讨

最佳实践

推荐模式、分页、常见错误和错误处理

API 参考

每个命名空间的完整方法列表

资源

GitHub 仓库

源代码、示例和问题跟踪

代码示例

按命名空间组织的每个方法的工作示例

SDK API 文档(TypeDoc)

从源代码生成的完整 API 文档

迁移指南(1.x 到 2.x)

从 @solana/web3.js 升级到 @solana/kit