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 内容

网络 RPCPhala

Phala RPC 端点:链设置、连接指南和开发者资源

Phala Network 是一个 Polkadot 平行链,利用可信执行环境(TEE)提供机密智能合约。要与 Phala 交互,开发者需要可靠的 RPC 端点来读取链上数据、提交交易和部署 Phat Contracts。本文涵盖 Phala RPC 链设置、如何连接以及选择 RPC 提供商时的注意...

网络 RPCLitmus

TON API 密钥:如何获取以及何时需要?

TON API 密钥是一种凭证,用于验证您对 TON RPC 或 HTTP API 端点的请求,使提供商能够将流量归因于您的项目并应用其自身的速率限制和访问规则。公共端点通常无需密钥即可使用,但它们是共享的,最适合原型开发,而生产应用通常需要带密钥的端点或专用节点。 本文解释了 TON API 密钥...

网络 RPCPolygon

Polygon RPC API:端点设置、方法与调试

Polygon RPC API 是您的应用用来读取 Polygon PoS 状态并提交交易的 JSON-RPC 接口。您可以通过 HTTP 或 WebSocket 连接到暴露标准以太坊兼容方法(如 eth_call、eth_getLogs 和 eth_sendRawTransaction)的节点。本...

网络 RPCArbitrum

Arbitrum RPC 列表:如何为你的应用选择合适的端点

本文介绍了不同类型的 Arbitrum RPC 端点——公共、托管和专用——以及如何为你的应用选择合适的端点。内容涵盖链设置、常见用例,以及如何根据可靠性、可扩展性和支持来评估提供商。...

测试网 RPCBNB Chain

如何在BNB测试网上获取和使用USDC

本文介绍如何在BNB智能链测试网上获取和使用USDC。涵盖原生USDC和桥接USDC的区别、如何通过水龙头获取测试网USDC或自行部署模拟合约,以及如何配置您的dApp与代币合约交互。...

RPC 提供商选择Solana

顶级 Solana RPC 提供商的速率限制选项如何比较?

Solana RPC 提供商在实施速率限制方面有所不同:有些按 IP 限制每秒请求数,有些按计算单元或积分计量,高级套餐提供更高吞吐量或专用节点。本文比较了主要提供商的速率限制模型,并帮助您为工作负载选择合适的方案。...

永远不用担心基础设施

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

开始