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.networkhttps://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 内容

测试网 RPCSolana

如何选择 Solana 开发网 RPC 端点?

# 如何选择 Solana 开发网 RPC 端点? Solana 开发网 RPC 很重要,因为 Solana 开发网应用依赖稳定的端点访问来进行读取、交易、仪表盘和后端工作流。合适的提供商应匹配你的工作负载,支持你所需的网络和测试网,使限制透明化,并在共享 RPC 不再足够时提供扩展路径。 对于准备...

网络 RPCComposable Finance

Composable RPC:端点、专用节点和集成指南

Composable Finance 是一个跨链 DeFi 基础设施项目,可在以太坊、Polkadot、Kusama、Cosmos 和 NEAR 等生态系统中实现无需信任的互操作性。本指南涵盖 Composable RPC 端点、如何连接到网络,以及何时从公共端点迁移到专用节点以用于生产工作负载。...

网络 RPCMoonriver

Moonriver RPC:端点、配置与最佳实践

Moonriver 是 Kusama 上兼容以太坊的金丝雀网络,适合在部署到 Moonbeam 之前测试 dApp。本指南涵盖 Moonriver RPC 端点、如何配置钱包和工具,以及如何为生产环境选择可靠的 RPC 提供商。...

RPC 提供商选择Optimism

如何找到最可靠的Optimism RPC提供商

正在寻找最可靠的Optimism RPC提供商?可靠性不仅仅是标称的正常运行时间百分比。本指南涵盖关键指标,如延迟分布、同步健康度、归档和追踪API支持以及故障切换能力。使用决策清单客观比较提供商,避免导致生产中断的常见陷阱。...

测试网 RPCSui

Sui 测试网 RPC 与 gRPC:端点、水龙头与开发者配置

Sui 测试网 RPC 为开发者提供了以 gRPC 为先的途径来查询检查点、对象和余额;模拟和执行交易;并使用 OnFinality 托管端点流式传输实时活动。现代工作流使用 LedgerService 获取检查点数据,使用 StateService 读取对象和余额,使用 TransactionEx...

网络 RPCAcala

什么是Acala Network,如何连接?

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

永远不用担心基础设施

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

开始