Solana 生态中有多个区块浏览器,其中 Solscan 提供了功能全面的 API,适用于查询地址资产、Solana 生态中有多个区块浏览器,其中 Solscan 提供了功能全面的 API,适用于查询地址资产、交易详情、合约交互等多种开发场景。相比直接使用 RPC,Solscan API 封装度更高,使用门槛更低,非常适合数据分析和轻量级服务集成。
🧰 一、准备工作
1.1 Solscan 官网与 API 文档地址
Solscan 的 API 是公开的,不需要注册即可调用,但会有访问频率限制(通常为每秒数次,建议缓存结果)。
🌐 二、Solscan API 的请求基础结构
Solscan 提供的 API 基于 HTTPS 接口,支持 RESTful 方式调用。
示例:
GET https://public-api.solscan.io/account/tokens?address=<YOUR_WALLET_ADDRESS>
请求头建议添加:
Content-Type: application/json
User-Agent: your-app-name
大多数接口无需 API key,但为避免频繁访问被限制,建议合理控制速率或引入缓存策略。
🔑 三、常用 API 接口及使用示例
3.1 获取地址 Token 持仓
-
接口:
/account/tokens
GET https://public-api.solscan.io/account/tokens?address=你的钱包地址
返回示例:
[
{
"tokenAddress": "So11111111111111111111111111111111111111112",
"tokenAmount": {
"decimals": 9,
"uiAmount": 1.25
},
"tokenIcon": "https://.../so-icon.png",
"tokenName": "Wrapped SOL"
}
]
3.2 获取账户交易记录
-
接口:
/account/transactions
GET https://public-api.solscan.io/account/transactions?address=你的钱包地址&limit=10
可用于分析用户行为或监控链上交互。
3.3 获取代币信息
-
接口:
/token/meta?tokenAddress=...
GET https://public-api.solscan.io/token/meta?tokenAddress=TOKEN_ADDRESS
返回代币的 logo、符号、Decimals、描述等,可用于钱包集成或前端展示。
3.4 获取 Token 持有人分布
-
接口:
/token/holders?tokenAddress=...&limit=10
GET https://public-api.solscan.io/token/holders?tokenAddress=TOKEN_ADDRESS&limit=10
可用于分析早期持币结构或是否为"貔貅币"(前排集中)。
🔄 四、进阶用法:结合 Solana JSON RPC + Solscan API
Solscan API 适合用于前端展示和轻量数据服务,但对于高频查询、事件监听等需求,建议搭配使用 Solana JSON RPC:
-
Solscan 负责:链上数据可视化展示(如 Token 图标、交易简述)
-
RPC 负责:底层实时交互监听(如 mempool 抓取、program logs)
例如构建一个空投监控系统时,可以:
-
用 RPC 实时抓取交易 logs
-
用 Solscan API 获取用户钱包余额、Token 分布
-
前端调用 API 显示交互细节
📦 五、封装建议(Node.js 示例)
使用 axios 快速调用:
const axios = require('axios');
async function getTokenBalance(address) {
const url = `https://public-api.solscan.io/account/tokens?address=${address}`;
const res = await axios.get(url);
return res.data;
}
也可将多个接口封装为 SDK,例如:
class SolscanAPI {
constructor(base = "https://public-api.solscan.io") {
this.base = base;
}
async getAccountTokens(address) {
return axios.get(`${this.base}/account/tokens?address=${address}`);
}
async getTransactions(address, limit = 10) {
return axios.get(`${this.base}/account/transactions?address=${address}&limit=${limit}`);
}
}
🧠 使用建议
使用场景 | 推荐做法 |
---|---|
钱包开发 | 获取账户余额与 Token 图标信息 |
交易可视化平台 | 结合交易记录与代币持仓信息 |
空投追踪、项目分析工具 | 查询 Token 持有人分布 & 历史交易 |
社群风控监控 | 监控可疑合约或地址频繁活动 |
🔚 结语:Solscan API 是轻量化数据集成的利器
如果你想快速接入 Solana 链上的数据,又不想自己跑节点或频繁写 RPC 代码,Solscan 提供的 API 是一个低门槛且高可用的选择。适合做社区工具、交易看板、地址分析器等前端或轻后端项目。
而当你结合如 CiaoTool 这样的发币工具来创建项目时,也可以利用 Solscan API 实现链上数据展示、持币分析等运营功能,形成完整的工具闭环。
如需更多实战代码或集成示例,欢迎留言讨论或收藏本篇教程 📚