Documentation Index
Fetch the complete documentation index at: https://docs.solanatracker.io/llms.txt
Use this file to discover all available pages before exploring further.
本指南将帮助你完成对 Solana Tracker Data API 的第一次调用。你将学习如何鉴权、发送请求并处理响应。
前置条件
开始之前,请确保你已具备:
Solana Tracker 账户
免费注册即可获取 API 密钥。
第 1 步:获取 API 密钥
创建账户后,从控制台获取 API 密钥。该密钥用于通过 x-api-key 请求头对你的请求进行鉴权。
进入 API Keys
在侧边栏中点击 “API Keys” 区域。
复制你的 API 密钥
点击 API 密钥旁的复制按钮。请妥善保管你的 API 密钥,切勿将其提交到公共仓库。
第 2 步:发起第一次 API 调用
我们先使用 /price 端点获取 SOL 的当前价格。
curl -X GET "https://data.solanatracker.io/price?token=So11111111111111111111111111111111111111112" \
-H "x-api-key: YOUR_API_KEY"
{
"price": 175.42,
"priceQuote": 175.42,
"liquidity": 14187570.69,
"marketCap": 99213713748.19,
"lastUpdated": 1760274132867
}
第 3 步:连接到 RPC 节点
Solana Tracker 同时提供 RPC 节点,可直接发起区块链调用。RPC 使用的 URL 与鉴权方式与 Data API 不同:
| 产品 | 用途 | 鉴权方式 |
|---|
| Data API | 代币价格、钱包、交易和分析数据 | x-api-key 请求头 |
| RPC | 直接调用 Solana 方法,如余额查询和账户更新 | RPC URL 中的 api_key |
import { Connection, PublicKey } from '@solana/web3.js';
const connection = new Connection(
'https://rpc-mainnet.solanatracker.io?api_key=YOUR_API_KEY',
{
commitment: 'confirmed',
wsEndpoint: 'wss://rpc-mainnet.solanatracker.io?api_key=YOUR_API_KEY'
}
);
// 获取账户余额
const publicKey = new PublicKey('YOUR_WALLET_ADDRESS');
const balance = await connection.getBalance(publicKey);
console.log(`Balance: ${balance / 1e9} SOL`);
// 订阅账户变更
connection.onAccountChange(
publicKey,
(accountInfo) => {
console.log('Account updated:', accountInfo);
}
);
第 4 步:探索常见用例
错误处理
请始终在你的应用中实现完善的错误处理。
const apiKey = 'YOUR_API_KEY';
try {
const response = await fetch('https://data.solanatracker.io/price?token=INVALID_TOKEN_ADDRESS', {
headers: { 'x-api-key': apiKey }
});
if (!response.ok) {
const error = await response.json();
console.error(`API Error: ${error.message || response.statusText}`);
// 处理具体的错误码
switch (response.status) {
case 401:
console.error('Invalid API key');
break;
case 429:
console.error('Rate limit exceeded');
break;
case 500:
console.error('Server error - please retry');
break;
}
} else {
const data = await response.json();
// 处理成功的响应
}
} catch (error) {
console.error('Network error:', error);
}