跳转到主要内容
Helius API 使用 API 密钥进行请求认证。每个 API 请求必须包含您的 API 密钥以验证您的身份和权限。
您的 API 密钥是敏感信息,可以访问您的 Helius 账户。切勿在客户端代码、公共代码库或浏览器可访问的区域中暴露它。

入门指南

1. 创建您的 API 密钥

1

注册或登录

Helius 控制台上创建一个账户或登录到已有账户。
2

导航到 API 密钥

转到控制台侧边栏中的 API 密钥 部分。
3

生成新密钥

点击 创建新 API 密钥 并为您的项目提供一个描述性名称(例如,“生产应用程序”,“开发环境”)。
4

复制并安全存储您的密钥

立即复制您的 API 密钥并安全存储。一旦导航离开,您将无法再次查看它。

2. 使用您的 API 密钥

在所有请求中包含您的 API 密钥作为查询参数:
curl "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getAccountInfo","params":["ACCOUNT_ADDRESS"]}'

入门指南(针对代理)

代理可以通过编程方式注册Helius账户、创建项目,并使用Helius CLI生成API密钥。 完整说明请参阅:https://dashboard.helius.dev/agents.md

安装 Helius CLI

npm install -g helius-cli

生成密钥对

helius keygen

为生成的钱包提供资金(手动)

向步骤 2 中提供的钱包地址发送 1 USDC 和 0.001 SOL。

注册并获取API密钥

helius signup --json

安全最佳实践

环境变量

将您的API密钥存储在环境变量中,而不是源代码中。
export HELIUS_API_KEY="YOUR_API_KEY"

IP限制

在仪表板中为您的API密钥设置IP限制,以限制特定IP地址或范围的访问。

分开密钥

为开发、登台和生产环境使用不同的API密钥,以隔离使用并提高安全性。

监控使用情况

定期检查仪表板中的API使用情况,以检测异常模式或潜在的安全问题。

密钥管理

// Use environment variables
const apiKey = process.env.HELIUS_API_KEY;

// Or use a secrets manager
const { SecretManagerServiceClient } = require('@google-cloud/secret-manager');
const client = new SecretManagerServiceClient();

async function getApiKey() {
  const [version] = await client.accessSecretVersion({
    name: 'projects/PROJECT_ID/secrets/helius-api-key/versions/latest',
  });
  return version.payload.data.toString();
}

速率限制与使用

速率限制因订阅计划而异。在Helius Dashboard监控您的使用情况,以确保您不超出分配的限制。

理解速率限制

  • 每秒请求数:根据您的订阅层级
  • 每月请求配额:每个计费周期允许的总请求数
  • 突发允许:短期内高于基本速率限制的峰值

处理速率限制

async function makeRequest(url, data) {
  try {
    const response = await fetch(url, {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify(data)
    });
    
    if (response.status === 429) {
      const retryAfter = response.headers.get('Retry-After');
      console.log(`Rate limited. Retry after ${retryAfter} seconds`);
      await new Promise(resolve => setTimeout(resolve, retryAfter * 1000));
      return makeRequest(url, data); // Retry
    }
    
    return response.json();
  } catch (error) {
    console.error('Request failed:', error);
    throw error;
  }
}

故障排除

症状: 401 Unauthorized或“无效API密钥”错误解决方案:
  • 验证您的API密钥是否正确且未被重新生成
  • 检查您是否将API密钥作为查询参数包含: ?api-key=YOUR_KEY
  • 确保API密钥中没有多余的空格或字符
  • 确认您的API密钥没有过期或被撤销
症状: 429 Too Many Requests错误解决方案:
  • 在控制面板中检查您当前的使用情况
  • 在重试逻辑中实施指数退避
  • 考虑升级计划以获得更高的限制
  • 优化请求以减少不必要的调用
症状: 403 Forbidden错误解决方案:
  • 验证IP限制是否未阻止您的请求
  • 检查您的订阅是否包括对该端点的访问
  • 确保您的API密钥具有必要的权限

下一步

支持

需要帮助进行身份验证或有关于API密钥的问题?