Logo
新用户订阅 RPC,首月享 6.5 折优惠查看优惠
RPC Assistant

Avalanche API:开发者应了解哪些关于RPC、数据和节点访问的内容?

摘要

Avalanche API是开发者用于在Avalanche主网及其Layer 1上读写数据的接口集合。它包括C链、P链和X链的JSON-RPC方法,以及用于余额、交易和代币元数据的更高级数据API。选择合适的API访问方式取决于你的工作负载:简单的dApp调用可以使用公共RPC端点,而生产环境应用通常需要专用或托管基础设施以确保可靠性和速率限制。

Avalanche API决策清单

在选择Avalanche API方案之前,请检查以下清单:

  • 你需要哪条链? Avalanche有C链(EVM)、P链(平台)和X链(资产)。每条链暴露不同的JSON-RPC命名空间。
  • 你需要哪些数据? 对于原始区块和交易,使用RPC。对于索引余额、代币转账和历史数据,数据API通常更简单。
  • 你的速率限制是多少? 公共端点是共享的,可能会限制你。对于生产环境,请检查提供商的速率限制以及他们是否提供专用吞吐量。
  • 你需要归档数据吗? 历史状态查询需要归档节点。请确认你的提供商支持C链的归档RPC。
  • 你需要WebSocket吗? 对于实时订阅,你需要WebSocket端点。并非所有提供商都提供。
  • 如何处理故障转移? 单个端点是单点故障。请规划多个端点或使用具有自动故障转移功能的提供商。
  • 你的预算是多少? 免费层适用于开发,但生产工作负载通常需要付费计划以获得更高限制和支持。

什么是Avalanche API?

Avalanche API是让应用程序与Avalanche网络交互的接口集合。它包括:

  • 用于C链、P链和X链的JSON-RPC API
  • 提供索引化、人类可读数据(如交易历史和代币余额)的数据API
  • 用于实时事件订阅的WebSocket API

Avalanche的C链是EVM兼容链,因此它支持标准的以太坊JSON-RPC方法,如eth_getBalanceeth_calleth_sendRawTransaction。P链和X链使用Avalanche特定的方法进行平台操作和资产转移。

Avalanche C链API:EVM JSON-RPC

C链是Avalanche上的默认智能合约链。它完全兼容EVM,这意味着你可以使用熟悉的工具,如ethers.js、web3.js和Hardhat。

常见的C链RPC方法

  • eth_blockNumber – 获取最新区块号
  • eth_getBalance – 获取地址的AVAX余额
  • eth_call – 执行只读合约调用
  • eth_sendRawTransaction – 广播已签名的交易
  • eth_getTransactionReceipt – 获取交易收据
  • eth_subscribe – 通过WebSocket订阅事件

示例:获取AVAX余额

curl -X POST https://api.avax.network/ext/bc/C/rpc \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "eth_getBalance",
    "params": ["0xYourAddress", "latest"],
    "id": 1
  }'

0xYourAddress替换为真实地址。响应将包含以wei为单位的余额。

Avalanche P链和X链API

P链处理平台操作,如质押和验证者管理。X链处理资产转移。这些链使用Avalanche特定的JSON-RPC方法。

  • P链platform.getCurrentValidatorsplatform.getBalanceplatform.issueTx
  • X链avm.getBalanceavm.issueTxavm.getUTXOs

这些方法可在不同的端点路径上使用,例如/ext/bc/P/ext/bc/X。如果你构建的dApp仅使用C链,可能不需要这些,但它们对于质押或跨链操作至关重要。

Avalanche数据API与RPC对比

Avalanche官方数据API提供索引化数据,比原始RPC更容易查询。例如,你可以获取地址的交易列表,而无需扫描每个区块。

标准检查什么为什么重要
数据新鲜度数据更新速度有多快?实时应用需要低延迟。
历史深度索引回溯多远?分析和审计需要完整历史。
速率限制每秒请求数是多少?高流量应用需要余量。
WebSocket支持能否订阅事件?实时通知需要WebSocket。
归档数据历史状态是否可用?某些查询需要归档节点。
成本免费层与付费计划预算影响可扩展性。

对于简单查询(如“获取最新区块”),RPC就足够了。对于复杂查询(如“获取此地址的所有ERC-20转账”),数据API更高效。

如何选择Avalanche API提供商

评估Avalanche API提供商时,请考虑:

  • 可靠性:寻找具有正常运行时间和透明状态页面记录的提供商。
  • 可扩展性:提供商能否处理流量高峰而不会限制你的应用?
  • 支持:他们是否为生产问题提供专门支持?
  • 安全性:端点是否受到DDoS和其他攻击的保护?
  • 兼容性:他们是否支持你需要的所有方法,包括归档和WebSocket?

OnFinality作为其支持的RPC网络的一部分提供Avalanche RPC端点。你还可以启动专用节点以完全控制你的基础设施。查看RPC定价以找到适合你工作负载的计划。

常见陷阱和故障排除

  • 速率限制:公共端点经常返回429 Too Many Requests。使用具有更高限制的提供商或实现重试逻辑。
  • 错误的端点路径:确保你使用了目标链的正确路径。例如,C链是/ext/bc/C/rpc
  • EVM兼容性问题:某些工具期望以太坊主网设置。正确配置链ID(C链主网为43114)和网络名称。
  • WebSocket断开:WebSocket连接可能会断开。实现重连逻辑。
  • 归档数据缺失:如果遇到missing trie node错误,你需要归档节点。

示例:使用ethers.js连接Avalanche C链

const { ethers } = require("ethers");

const provider = new ethers.JsonRpcProvider("https://api.avax.network/ext/bc/C/rpc");

async function getBalance(address) {
  const balance = await provider.getBalance(address);
  console.log(`Balance: ${ethers.formatEther(balance)} AVAX`);
}

getBalance("0xYourAddress");

何时使用专用节点

专用节点让你独占访问Avalanche节点。这在以下情况下很有用:

  • 你有高吞吐量需求。
  • 你需要自定义RPC方法或调优。
  • 你想避免共享端点上的嘈杂邻居。
  • 你需要遵守严格的数据隐私政策。

OnFinality的专用节点服务让你无需运营开销即可部署和管理Avalanche节点。

关键要点

  • Avalanche提供多种API:C链(EVM)、P链、X链和数据API。
  • C链兼容EVM,因此以太坊工具只需少量配置即可使用。
  • 对于原始区块链访问,选择RPC;对于索引化、查询友好的数据,选择数据API。
  • 评估提供商时,考虑可靠性、速率限制、归档支持和WebSocket可用性。
  • 对于生产环境,考虑专用节点或托管服务以确保性能和正常运行时间。

常见问题

什么是Avalanche API?

Avalanche API是用于与Avalanche网络(包括C链、P链和X链)交互的JSON-RPC和REST接口集合。

Avalanche API是否兼容以太坊?

是的,C链完全兼容EVM,因此它支持标准的以太坊JSON-RPC方法和库,如ethers.js和web3.js。

使用Avalanche API需要API密钥吗?

公共端点不需要密钥,但它们有速率限制。对于生产环境,像OnFinality这样的提供商提供具有更高限制和更好可靠性的API密钥。

RPC和数据API有什么区别?

RPC提供原始区块链数据,而数据API提供索引化、更易查询的数据,如交易历史和代币余额。

如何开始使用Avalanche API?

你可以从公共端点开始测试,然后为生产环境注册托管RPC服务。查看OnFinality的支持的网络以获取Avalanche端点。

RPC 知识库

相关 RPC 内容

RPC 提供商选择Solana

哪个 Solana RPC 提供商支持测试网和开发网?

# 哪个 Solana RPC 提供商支持测试网和开发网? 在 Solana 上开发时,你需要一个除了主网之外还支持测试网和开发网的 RPC 提供商。开发网是使用免费 SOL 测试程序和交易的主要环境,而测试网用于压力测试网络升级和验证器性能。许多提供商为所有三个集群提供端点,但支持质量——速率限制...

网络 RPCSolana

Solana 免费 RPC:有哪些选择,何时需要付费?

免费的 Solana RPC 端点非常适合原型开发、黑客松和低流量 dApp,但它们存在速率限制和可靠性方面的权衡。本文介绍了在哪里可以找到免费端点、如何测试它们,以及何时应转向托管或专用 RPC 提供商以用于生产工作负载。...

网络 RPCBNB Chain

选择BNB Chain RPC提供商时应注意什么?

# 选择BNB Chain RPC提供商时应注意什么? 最佳的BNB Chain RPC提供商能为生产级dApp提供可靠的BNB RPC访问、清晰的请求限制、高可用性、实用的分析功能、测试网支持,以及在共享端点无法满足工作负载时提供专用BNB节点的路径。 BNB Chain被DeFi应用、交易所、钱...

网络 RPCKusama

Kusama API:端点、方法和如何连接

Kusama API 提供对 Kusama 金丝雀网络的 JSON-RPC 和 WebSocket 访问。本页涵盖可用的端点、常用方法、连接示例,以及如何为您的项目选择公共、共享或专用节点基础设施。...

网络 RPCSolana

Solana 公共 RPC 节点:它们是什么以及何时使用它们

Solana 公共 RPC 节点是免费的、由社区运营的端点,允许你在不运行自己的验证器的情况下读写 Solana 上的数据。它们非常适合原型开发、轻量级 dApp 和快速测试,但存在速率限制和可靠性风险。本指南解释了它们的工作原理、局限性以及何时迁移到托管或专用 RPC 提供商。...

网络 RPCEfinity

什么是 Solana 专用节点,何时应该使用?

Solana 专用节点是一个单租户 RPC 端点,为您的应用程序提供对 Solana 节点的独占访问,避免共享基础设施的速率限制和嘈杂邻居效应。它非常适合需要一致性能的高吞吐量交易机器人、数据分析和生产级 dApp。本文解释了专用节点与共享节点和自托管节点的区别,并提供了实用的决策指南,帮助您为工作...

永远不用担心基础设施

OnFinality 消除了 DevOps 的繁重工作,让您能够更聪明、更快地构建。

开始