FluxRPC 快速入门:5分钟查询 Solana
Source: Dev.to

你想读取 Solana 上的数据。本指南将在 5 分钟内帮助你实现。
简要概述
TypeScript
import { Connection, PublicKey, LAMPORTS_PER_SOL } from '@solana/web3.js';
const connection = new Connection('https://eu.fluxrpc.com?key=YOUR_API_KEY', 'confirmed');
const balance = await connection.getBalance(new PublicKey('YOUR_WALLET_ADDRESS'));
console.log(balance / LAMPORTS_PER_SOL, 'SOL');
cURL
curl -s -X POST https://eu.fluxrpc.com?key=YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"getBalance","params":["YOUR_WALLET_ADDRESS"]}' | jq
示例输出
{
"jsonrpc": "2.0",
"result": {
"context": { "slot": 123456789 },
"value": 35737443
},
"id": 1
}
获取您的 API 密钥 → dashboard.fluxbeam.xyz
前置条件
- Node.js 18+
- FluxRPC API 密钥(免费,生成约需 30 秒)
第一步 — 获取 API 密钥
- 前往 dashboard.fluxbeam.xyz
- 登录(Google、GitHub 或 Solana 钱包)
- 点击 Create API Key
- 复制密钥
第2步 — 创建项目
mkdir fluxrpc-quickstart && cd fluxrpc-quickstart
npm init -y
npm install @solana/web3.js tsx
第3步 — 编写代码
Create index.ts:
import { Connection, PublicKey, LAMPORTS_PER_SOL } from '@solana/web3.js';
const API_KEY: string = 'your-api-key-here';
const RPC_URL: string = `https://eu.fluxrpc.com?key=${API_KEY}`;
const WALLET: string = 'YOUR_WALLET_ADDRESS';
async function main(): Promise {
const connection = new Connection(RPC_URL, 'confirmed');
const publicKey = new PublicKey(WALLET);
const start = Date.now();
const lamports = await connection.getBalance(publicKey);
const ms = Date.now() - start;
console.log(`Wallet: ${WALLET}`);
console.log(`Balance: ${lamports / LAMPORTS_PER_SOL} SOL`);
console.log(`Latency: ${ms}ms`);
}
main();
将 your-api-key-here 替换为您生成的密钥。
第4步 — 运行
npx tsx index.ts
示例输出
Wallet: Wallet Address
Balance: 0.035737443 SOL
Latency: 142ms
您刚刚读取了 Solana 主网。
刚刚发生了什么
| 组件 | 用途 |
|---|---|
| Connection | 打开到 FluxRPC 的连接。第二个参数 'confirmed' 设置提交级别(数据必须达到的最终确定程度)。 |
| PublicKey | 将钱包地址字符串解析为 Solana 兼容的格式。 |
| getBalance | 返回钱包的 lamports 余额(1 SOL = 10⁹ lamports)。 |
此模式对所有 RPC 调用重复:connect → query → handle response.
为什么选择 FluxRPC?
最新数据
大多数提供商会缓存响应。FluxRPC 返回最新确认的(HEAD 槽)状态——没有陈旧读取。
没有速率限制
按带宽付费,而不是按请求次数付费。
- 每 GB $0.06
- 一个
getBalance调用约为 0.5 KB → 200 万次调用 ≈ $0.06
免费层:10 GB。
为负载而建
即使 Solana 拥堵,也能保持一致的性能。
亚毫秒延迟(Lantern)
Lantern 在本地缓存账户状态。
- 响应时间:0.1–0.25 ms
- 吞吐量:10k+ 请求/秒
更多方法
getLatestBlockhash
const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash();
console.log('Blockhash:', blockhash);
getAccountInfo
import type { AccountInfo } from '@solana/web3.js';
const account: AccountInfo | null = await connection.getAccountInfo(publicKey);
if (account) {
console.log('Owner:', account.owner.toBase58());
console.log('Lamports:', account.lamports);
console.log('Executable:', account.executable);
console.log('Data length:', account.data.length);
}
参考
端点
| 地区 | URL |
|---|---|
| EU | https://eu.fluxrpc.com?key=API_KEY |
| US | https://us.fluxrpc.com?key=API_KEY |
选择最接近的地区;错误的地区会增加约 100 ms 的延迟。
提交级别
| 级别 | 含义 |
|---|---|
processed | 节点已看到 |
confirmed | 超多数已投票 |
finalized | 不会被回滚 |
常见错误
| 错误 | 解决方案 |
|---|---|
Invalid public key input | 验证钱包地址是有效的 Base58 字符串 |
Failed to fetch | 检查 API 密钥和端点 URL |
403 Forbidden | 从仪表板重新生成 API 密钥 |
TypeError: fetch failed | 升级到 Node.js 18+ |
错误处理示例
try {
const balance = await connection.getBalance(publicKey);
} catch (error) {
console.error('RPC error:', error);
}
祝使用 FluxRPC 开发愉快!
退出全屏模式
下一步
- Transactions — 构建并发送 SOL 转账
- WebSockets — 订阅账户变更
Docs: fluxrpc.com
