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

Acala RPC:如何连接Acala网络端点

摘要

Acala是一个专注于DeFi的Polkadot平行链,它同时提供Substrate RPC和EVM+接口。本文介绍了可用的Acala RPC端点,如何配置钱包和dApp,以及如何为生产工作负载选择公共、认证和专用节点基础设施。

快速决策指南:你应该使用哪种Acala RPC设置?

在深入端点列表之前,先确定你的工作负载实际需要什么。正确的Acala RPC设置取决于你的阶段和流量模式:

  • 原型开发或轻量测试:使用公共Acala RPC端点进行快速检查、脚本调试和初始集成测试。它适用于低量请求,且不需要API密钥。
  • 生产dApp或后端服务:切换到认证端点。你可以获得更清晰的速率限制、分析和操作可见性,这有助于规划容量并避免意外限流。
  • 高吞吐量、归档或自定义节点需求:考虑使用专用Acala节点。这为你提供隔离的资源、运行归档节点的能力以及对节点配置的控制——对于收集人、索引器或需要一致性能的应用程序非常重要。

如果不确定,可以从公共端点开始,测量请求量,然后随着流量增长升级到认证或专用基础设施。有关RPC提供商的更深入比较,请参阅我们的选择RPC提供商指南。

Acala概览:一个网络中的Substrate和EVM+

Acala是一个为DeFi构建的Polkadot平行链。它提供完整的Substrate运行时,包含稳定币、流动性质押和DEX功能的pallet。在此基础上,Acala提供EVM+环境,与以太坊工具兼容,同时仍可访问Substrate特定功能。

这种双重性质意味着,当你搜索“Acala RPC”时,你可能在寻找以下两种之一:

  1. Substrate RPC端点,用于查询链状态、提交交易或与Acala的自定义pallet交互。
  2. EVM RPC端点,用于使用MetaMask、ethers.js或viem等工具部署和交互Solidity智能合约。

两者都很重要,你选择的端点取决于你正在构建的应用程序类型。

Acala链设置概览

如果你要连接钱包或基于EVM的工具,需要正确的链配置。以下是Acala主网的关键设置:

设置值
网络名称Acala
链ID787 (0x313)
货币符号ACA
区块浏览器https://blockscout.acala.network
RPC URL (HTTPS)https://eth-rpc-acala.aca-api.network
RPC URL (WSS)wss://eth-rpc-acala.aca-api.network

这些设置通常列在ChainList等链注册表中。在连接钱包之前,请务必使用官方Acala文档验证链ID和RPC URL。

Acala RPC端点选项

Acala提供多个公共RPC端点,每个端点具有不同的特性。以下是你常见的端点摘要:

提供商端点 (HTTPS)端点 (WSS)备注
Acala基金会https://acala-rpc.aca-api.networkwss://acala-rpc.aca-api.network官方端点,可能有速率限制
Dwellirhttps://acala-rpc.n.dwellir.comwss://acala-rpc.n.dwellir.com独立提供商
LuckyFridayhttps://rpc-acala.luckyfriday.iowss://rpc-acala.luckyfriday.io社区提供商
OnFinalityhttps://acala-polkadot.api.onfinality.io/publicwss://acala-polkadot.api.onfinality.io/public-ws用于测试的公共端点;生产环境需认证访问

注意:公共端点是共享的,可能会被限流或经历停机。对于生产应用程序,应使用认证端点或专用节点。

使用MetaMask连接Acala EVM+

如果你正在构建使用Acala EVM+侧的dApp,可以将Acala作为自定义网络添加到MetaMask。以下是示例配置:

{
  "chainId": "0x313",
  "chainName": "Acala",
  "nativeCurrency": {
    "name": "Acala",
    "symbol": "ACA",
    "decimals": 18
  },
  "rpcUrls": ["https://eth-rpc-acala.aca-api.network"],
  "blockExplorerUrls": ["https://blockscout.acala.network"]
}

你也可以使用window.ethereum.request方法以编程方式添加网络:

await window.ethereum.request({
  method: 'wallet_addEthereumChain',
  params: [{
    chainId: '0x313',
    chainName: 'Acala',
    nativeCurrency: {
      name: 'Acala',
      symbol: 'ACA',
      decimals: 18
    },
    rpcUrls: ['https://eth-rpc-acala.aca-api.network'],
    blockExplorerUrls: ['https://blockscout.acala.network']
  }]
});

使用ethers.js或viem调用Acala RPC

对于EVM+开发,你可以使用标准的以太坊库。以下是使用ethers.js的示例:

import { ethers } from 'ethers';

const provider = new ethers.JsonRpcProvider('https://eth-rpc-acala.aca-api.network');

const blockNumber = await provider.getBlockNumber();
console.log('Acala block number:', blockNumber);

以及使用viem:

import { createPublicClient, http } from 'viem';

const client = createPublicClient({
  chain: {
    id: 787,
    name: 'Acala',
    network: 'acala',
    nativeCurrency: { name: 'Acala', symbol: 'ACA', decimals: 18 },
    rpcUrls: {
      default: { http: ['https://eth-rpc-acala.aca-api.network'] },
    },
  },
  transport: http(),
});

const blockNumber = await client.getBlockNumber();
console.log('Acala block number:', blockNumber);

Substrate RPC:查询链状态

对于Substrate特定操作,你可以直接使用JSON-RPC接口。以下是获取最新最终确定区块头的curl示例:

curl -H "Content-Type: application/json" \
  -d '{"id":1,"jsonrpc":"2.0","method":"chain_getFinalizedHead","params":[]}' \
  https://acala-polkadot.api.onfinality.io/public

你也可以使用WebSocket订阅新区块:

const WebSocket = require('ws');
const ws = new WebSocket('wss://acala-polkadot.api.onfinality.io/public-ws');

ws.on('open', () => {
  ws.send(JSON.stringify({
    id: 1,
    jsonrpc: '2.0',
    method: 'chain_subscribeNewHeads',
    params: []
  }));
});

ws.on('message', (data) => {
  console.log('New head:', data.toString());
});

Acala RPC方法和限制

Acala RPC端点支持标准的Substrate和以太坊JSON-RPC方法。常见方法包括:

  • chain_getBlock
  • chain_getFinalizedHead
  • state_getStorage
  • eth_blockNumber
  • eth_getBalance
  • eth_call

公共端点通常有速率限制以保护基础设施。如果你需要更高的吞吐量或更一致的性能,请考虑认证端点或专用节点。OnFinality的RPC定价页面提供了计划和限制的详细信息。

常见Acala RPC问题排查

以下是使用Acala RPC时可能遇到的一些常见问题:

  • 连接超时:公共端点可能缓慢或过载。尝试不同的端点或使用WebSocket连接获取实时数据。
  • 速率限制:如果你收到HTTP 429响应,说明你达到了速率限制。降低请求频率或升级到认证端点。
  • 错误的链ID:确保你的钱包或dApp配置了链ID 787。使用错误的链ID可能导致交易失败。
  • EVM与Substrate混淆:如果你尝试在Substrate端点上调用EVM方法,将会失败。请根据你的用例使用适当的端点。

何时考虑使用专用Acala节点

专用Acala节点让你完全控制节点环境。这对于以下情况很有用:

  • 高流量应用程序,需要一致的性能和明确的速率限制。
  • 归档节点,需要查询历史状态。
  • 收集人,需要运行节点进行区块生产。
  • 自定义节点配置,需要特定标志或补丁。

OnFinality提供专用Acala节点,具有托管操作、监控和隔离资源。你也可以探索我们的支持的网络以查看我们支持的其他链。

关键要点

  • Acala是一个Polkadot平行链,同时具有Substrate和EVM+接口。
  • 使用公共RPC端点进行测试,但生产环境应切换到认证或专用基础设施。
  • 使用正确的链ID(787)和RPC URL配置钱包。
  • 使用ethers.js或viem等标准以太坊库进行EVM+开发。
  • 对于Substrate特定查询,直接使用JSON-RPC接口。
  • 监控使用情况并规划扩展,以避免速率限制和停机。

常见问题解答

Acala RPC端点是什么?

Acala提供多个公共RPC端点,包括https://acala-rpc.aca-api.network和https://acala-polkadot.api.onfinality.io/public。对于生产环境,请使用认证端点或专用节点。

Acala链ID是多少?

Acala链ID是787(0x313)。

我可以将MetaMask与Acala一起使用吗?

是的,你可以使用链ID 787和EVM RPC URL将Acala作为自定义网络添加到MetaMask。

Acala上的Substrate和EVM RPC有什么区别?

Substrate RPC用于链状态和交易,而EVM RPC用于智能合约交互。请根据你的用例使用适当的端点。

如何获得专用Acala节点?

你可以通过OnFinality的专用节点服务获得专用Acala节点。

RPC 知识库

相关 RPC 内容

网络 RPCpeaq

什么是 peaq 网络 RPC?如何连接?

peaq 网络 RPC 是您的应用程序与 peaq 区块链之间的 API 网关,peaq 是一个兼容 EVM 的 Layer-1,专为 DePIN 和机器经济而设计。本参考涵盖链 ID 3338、PEAQ 代币详情、公共端点、JSON-RPC 测试以及生产前需要关注的提供商标准。 公共 peaq R...

网络 RPCAcala

什么是Acala Network,如何连接?

Acala Network是基于Polkadot构建的去中心化金融(DeFi)中心,提供跨链流动性、流动性质押和EVM兼容的智能合约平台。本指南涵盖Acala的架构、如何通过RPC端点连接,以及开发者在Acala上构建时的关键考量。...

网络 RPCKusamaAsset Hub

Asset Hub Kusama RPC Endpoints: Chain Settings, Faucet, and Debugging Tips

Asset Hub Kusama is the Kusama system parachain for hosting and transferring fungible and non-fungible assets. This article provides the RPC endpoints...

区块链基础设施

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

专用节点是专为单个用户或项目提供的区块链节点,具有隔离的计算、存储和带宽资源。它们消除了共享RPC服务中的资源争用,非常适合高吞吐量的dApp、交易机器人、分析管道以及任何需要持续低延迟访问的工作负载。与共享节点不同,专用节点让您完全控制客户端配置、归档数据保留和自定义RPC方法支持。然而,它们也带...

网络 RPC

关于RPC端点,我需要了解什么?

# 关于RPC端点,我需要了解什么? RPC端点至关重要,因为Web3应用程序依赖于稳定的端点访问来进行读取、交易、仪表盘和后端工作流。正确的设置应匹配您的工作负载,支持您所需的网络和测试网,使限制可见,并在共享RPC不再足够时为您提供扩展路径。 对于通用Web3构建者、基础设施负责人、DeFi团队...

测试网 RPCZenChain

如何获取 ZenChain 测试网 ZTC 代币:水龙头指南与 RPC 配置

# 如何获取 ZenChain 测试网 ZTC 代币:水龙头指南与 RPC 配置 ZenChain 是一个与比特币对齐的 Layer 1 区块链,结合了比特币的安全性与以太坊兼容的可编程性。要在 ZenChain 测试网上构建和测试 dApp,你需要测试网 ZTC 代币作为 gas 费用。本指南涵盖...

永远不用担心基础设施

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

开始