摘要
Astar API是指用于与Astar网络交互的JSON-RPC接口,以及官方的代币和dApp质押数据API。本指南解释了不同类型的Astar API,如何使用RPC端点进行连接,以及如何为生产应用选择合适的基础设施。
快速推荐:你应该使用哪个Astar API?
在深入了解细节之前,这里有一个快速指南,帮助你决定哪种Astar API适合你的用例:
- 对于标准区块链交互(读取余额、发送交易、查询区块):通过RPC提供商使用Astar JSON-RPC API。这是dApp和钱包的核心API。
- 对于代币价格和供应数据:使用Astar代币API(api.astar.network)获取ASTR价格、市值和供应信息。
- 对于dApp质押数据:使用dApp质押API或GraphQL索引器查询质押统计、奖励和质押者信息。
- 对于高需求的生产工作负载:考虑使用专用节点或托管RPC服务,它们提供可靠性和可扩展性,因为公共代币API有使用限制。
如果你正在构建生产应用程序,你需要一个提供一致性能、WebSocket支持和归档数据的RPC提供商。OnFinality提供Astar RPC端点和专用节点,可以处理你的工作负载。
什么是Astar API?
Astar API是一组允许开发者与Astar网络交互的接口。它包括:
- JSON-RPC API:用于读取和写入区块链数据的以太坊兼容方法,例如
eth_blockNumber、eth_getBalance和eth_sendRawTransaction。 - 代币API:用于代币统计的RESTful端点,例如ASTR价格、市值和供应量。
- dApp质押API:用于查询dApp质押数据的RESTful端点,例如TVL、质押者和奖励。
- GraphQL索引器:用于对dApp质押数据进行高级查询的GraphQL端点。
Astar是一个多链智能合约平台,支持EVM和WebAssembly(Wasm)智能合约。作为Polkadot平行链,它提供跨链互操作性。JSON-RPC API对以太坊开发者来说很熟悉,使得迁移现有dApp变得容易。
Astar JSON-RPC API:连接到网络
要与Astar网络交互,你需要一个RPC端点。你可以使用公共端点、托管提供商或你自己的节点。以下是使用OnFinality公共端点的示例:
curl https://astar.api.onfinality.io/public \
-X POST \
-H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
此请求返回最新的区块号。你可以使用相同的端点与ethers.js或viem等库:
import { createPublicClient, http } from 'viem';
const client = createPublicClient({
chain: astar,
transport: http('https://astar.api.onfinality.io/public')
});
const blockNumber = await client.getBlockNumber();
console.log('Current block number:', blockNumber);
对于WebSocket支持,你可以使用wss://astar.api.onfinality.io/public/ws进行实时订阅。
Astar代币API:获取价格和供应数据
Astar代币API提供ASTR的代币统计信息。它可在https://api.astar.network/api/v3/astar/token获取。该API通过Swagger UI在https://api.astar.network/有文档。
获取ASTR代币统计信息的示例请求:
curl https://api.astar.network/api/v3/astar/token
这将返回包含price、market_cap、circulating_supply和total_supply等字段的JSON。请注意,此API是一项附带服务,有使用限制,可能不适合高需求场景。对于生产环境,考虑托管你自己的实例或使用专用数据服务。
dApp质押API和索引器
dApp质押API允许你查询Astar上的质押数据。端点包括:
/api/v3/{network}/dapps-staking/chaindapps- 已注册的dApp列表/api/v3/{network}/dapps-staking/tvl/{period}- 给定时期的TVL/api/v3/{network}/dapps-staking/stakerslist/{contractAddress}- dApp的质押者列表/api/v3/{network}/dapps-staking/rewards/{period}- 奖励事件
对于更复杂的查询,GraphQL索引器可在https://squid.subsquid.io/dapps-staking-indexer-astar/graphql使用。这允许你使用GraphQL查询质押数据。
为Astar选择RPC提供商
为Astar选择RPC提供商时,请考虑以下因素:
| 因素 | 检查内容 | 为什么重要 |
|---|---|---|
| 可靠性 | 正常运行时间历史、冗余、故障转移 | 停机可能破坏你的dApp |
| 性能 | 延迟、吞吐量、速率限制 | 响应慢会降低用户体验 |
| 数据可用性 | 归档数据、追踪支持 | 索引和分析所需 |
| WebSocket支持 | 实时订阅 | 实时更新必不可少 |
| 定价 | 免费层、按需付费、专用计划 | 必须符合你的预算和规模 |
| 支持 | 文档、SLA、社区 | 有助于快速解决问题 |
OnFinality提供Astar RPC端点,具有公共和私有选项,以及用于高吞吐量工作负载的专用节点。你可以比较RPC定价以找到适合你需求的计划。
常见陷阱和故障排除
- 速率限制:公共端点通常有速率限制。如果达到限制,请考虑付费计划或专用节点。
- WebSocket断开:确保你的客户端优雅地处理重新连接。
- 错误的链ID:Astar主网链ID是592。确保你的钱包或dApp使用正确的ID。
- 数据一致性:使用归档数据时,验证提供商是否支持所需的区块范围。
关键要点
- Astar API包括JSON-RPC、代币和dApp质押端点。
- 对于生产应用,选择提供性能和支持的可靠RPC提供商。
- 公共API有使用限制;对于高需求场景,考虑专用基础设施。
- OnFinality提供Astar RPC端点和专用节点以支持你的开发。
常见问题解答
什么是Astar API?
Astar API是一组用于与Astar网络交互的接口,包括用于区块链数据的JSON-RPC方法、代币统计和dApp质押数据。
如何获取Astar RPC端点?
你可以使用公共端点,如https://astar.api.onfinality.io/public,或注册OnFinality等托管提供商以获取私有端点。
Astar代币API免费吗?
是的,Astar代币API是免费的,但有使用限制。对于高需求应用,考虑托管你自己的实例或使用专用数据服务。
我可以使用WebSocket与Astar吗?
是的,许多RPC提供商提供WebSocket端点用于实时订阅。OnFinality为Astar提供WebSocket支持。
Astar链ID是什么?
Astar主网链ID是592。对于测试网,请使用相应的ID。
如何在公共和专用RPC之间选择?
公共端点适用于开发和轻度使用。对于高流量的生产应用,专用节点提供更好的性能和可靠性。比较RPC定价以做出决定。