摘要
Acala 是一个基于 Substrate 构建并连接到 Polkadot 的 DeFi 区块链,提供原生 Substrate 和 EVM 兼容性。它提供了包含 DEX、流动性质押和稳定币的流动性层,使其成为跨链金融的中心。
本页介绍 Acala 的架构、其在 Polkadot 生态系统中的角色,以及如何使用 RPC 端点连接您的应用程序。您将找到选择正确端点、配置钱包或 dApp 以及解决常见问题的实用指南。
快速决策:如何连接到 Acala
在深入了解细节之前,这里有一个快速指南,帮助您决定如何将您的应用程序连接到 Acala。正确的选择取决于您的工作负载以及您是需要公共端点还是专用基础设施。
| 工作负载 | 推荐方法 | 原因 |
|---|---|---|
| 原型、黑客松、低流量 dApp | 公共 RPC 端点 | 免费、快速启动、无需设置 |
| 中等流量的生产 dApp | 托管 RPC 提供商 | 可靠、可扩展、有支持 |
| 高吞吐量的 DeFi 协议、验证者或索引器 | 专用节点 | 完全控制、明确的速率限制、自定义配置 |
对于大多数开发者来说,使用公共端点进行测试是可以的,但对于生产环境,您需要像 OnFinality 这样的托管提供商。OnFinality 为 Acala 提供共享和专用 RPC 服务,具有全球覆盖和企业级基础设施。查看我们的 RPC 定价 和 支持的网络 了解详情。
如果您需要运行自己的节点,可以使用官方的 Acala 客户端。但是,运行节点需要持续的维护、监控和同步。托管提供商可以减轻这种运维负担。
什么是 Acala?
Acala 是一个基于 Substrate 构建的第 1 层区块链,Substrate 是 Polkadot 背后的框架。它作为 Polkadot 生态系统中的平行链运行,这意味着它连接到 Polkadot 中继链,并可以与其他平行链互操作。Acala 专注于去中心化金融(DeFi),提供一套金融原语:
- Acala DEX:用于交换资产的去中心化交易所。
- 流动性质押:质押 DOT 并获得流动性质押代币(LST),如 LDOT,可用于其他 DeFi 应用。
- 稳定币:Acala 发行 aUSD,一种去中心化的稳定币。
- 通用资产中心:一个跨链资产路由器,支持不同链之间的无缝转移。
Acala 兼容 EVM,这意味着它支持 Solidity 智能合约。这允许开发者以最小的更改部署现有的以太坊 dApp,同时利用 Substrate 的灵活性和性能。
Acala 的架构:Substrate 和 EVM+
Acala 采用混合架构,结合了 Substrate 的原生运行时和称为 EVM+ 的 EVM 兼容层。这允许开发者选择:
- Substrate 原生模块:用 Rust 编写,这些模块与 Acala 的 DeFi 原语和 Polkadot 的跨链消息传递(XCMP)深度集成。
- EVM 智能合约:用 Solidity 编写,与 MetaMask、Hardhat 和 Truffle 等以太坊工具兼容。
这种双重方法为开发者提供了灵活性。您可以构建一个使用 Acala 原生模块以提高效率的 DeFi 协议,或者移植现有的 Solidity 合约并与 Acala 的资产交互。
Acala 在 Polkadot 生态系统中的角色
Acala 是 Polkadot DeFi 基础设施的关键部分。它提供:
- 流动性:Acala 的 DEX 和流动性质押为生态系统带来流动性,使其他平行链能够访问资产。
- 互操作性:通过 XCMP,Acala 可以与其他平行链发送和接收资产,创建统一的流动性层。
- 稳定币:aUSD 作为整个生态系统的稳定交换媒介。
Acala 还在探索 JAM(Join-Accumulate Machine),这是 Polkadot 的下一代架构。这使 Acala 定位为 JAM 原生 dApp 链,可能提供更大的可扩展性和灵活性。
Acala RPC 端点:公共和提供商选项
要与 Acala 交互,您需要一个 RPC 端点。以下是选项:
- 公共端点:Acala 在
https://acala-rpc-0.aca-api.network提供公共 RPC 端点。这适用于测试和低流量使用,但可能有速率限制,并且对于生产环境可能不可靠。 - 托管提供商:OnFinality 和其他提供商提供可靠、可扩展的 RPC 服务。OnFinality 提供共享和专用端点,具有全球覆盖和负载均衡。
- 自托管节点:您可以运行自己的 Acala 节点并公开自己的 RPC 端点。这为您提供完全控制,但需要基础设施管理。
对于生产应用程序,我们建议使用托管提供商以确保正常运行时间和性能。OnFinality 的 Acala RPC 服务专为高可用性而设计,可以处理生产工作负载。有关更多详细信息,请参阅我们的 网络页面。
连接到 Acala:钱包和 dApp 配置
要将您的钱包或 dApp 连接到 Acala,您需要配置网络设置。以下是 MetaMask 的示例:
{
"chainId": "0x2b6e",
"chainName": "Acala",
"nativeCurrency": {
"name": "Acala",
"symbol": "ACA",
"decimals": 18
},
"rpcUrls": ["https://acala-rpc-0.aca-api.network"],
"blockExplorerUrls": ["https://acala.subscan.io"]
}
为了更可靠的连接,请使用 OnFinality 的托管 RPC URL。您可以在 OnFinality 仪表板中找到您的个人端点。
对于开发者,您可以使用 polkadot-js 或 ethers 等库与 Acala 交互。以下是使用 polkadot-js 的简单示例:
const { ApiPromise, WsProvider } = require('@polkadot/api');
async function main() {
const provider = new WsProvider('wss://acala-rpc-0.aca-api.network');
const api = await ApiPromise.create({ provider });
// Get chain name
const chain = await api.rpc.system.chain();
console.log('Chain:', chain.toString());
// Get account balance
const alice = '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY';
const { data: balance } = await api.query.system.account(alice);
console.log('Balance:', balance.free.toString());
await api.disconnect();
}
main().catch(console.error);
常见的 Acala RPC 错误和故障排除
在使用 Acala RPC 时,您可能会遇到以下常见问题:
- 速率限制:公共端点通常限制请求。如果您看到
429 Too Many Requests,请考虑使用托管提供商或专用节点。 - 连接超时:如果您的请求超时,请检查您的网络连接和端点的可用性。使用可靠的提供商以最大程度地减少这种情况。
- 找不到区块:如果您的节点未完全同步,可能会发生这种情况。确保您的节点同步到最新区块。
- 无效的链 ID:确保您的钱包或 dApp 配置了正确的链 ID(Acala 为 0x2b6e)。
如果您使用 OnFinality,您可以通过仪表板监控端点的健康状况。对于高级故障排除,您可以使用 WebSocket 订阅来监听新区块:
const provider = new WsProvider('wss://acala-rpc-0.aca-api.network');
const api = await ApiPromise.create({ provider });
await api.rpc.chain.subscribeNewHeads((header) => {
console.log(`New block #${header.number}: ${header.hash}`);
});
Acala 与其他 Polkadot 平行链的比较
Acala 经常与 Moonbeam 和 Astar 等其他 DeFi 平行链进行比较。以下是一个快速比较:
| 功能 | Acala | Moonbeam | Astar |
|---|---|---|---|
| 重点 | DeFi 中心 | EVM 兼容智能合约 | 多链 dApp 中心 |
| 原生代币 | ACA | GLMR | ASTR |
| EVM 兼容性 | 是(EVM+) | 是 | 是 |
| 独特功能 | 流动性质押、稳定币、DEX | 跨链集成 | 第 2 层扩展解决方案 |
Acala 的优势在于其集成的 DeFi 套件,而 Moonbeam 专注于以太坊兼容性,Astar 专注于多链支持。您的选择取决于您项目的需求。
关键要点
- Acala 是 Polkadot 上专注于 DeFi 的平行链,提供 DEX、流动性质押和稳定币。
- 它结合了 Substrate 的原生模块和 EVM 兼容性,为开发者提供了灵活性。
- 对于生产应用程序,请使用像 OnFinality 这样的可靠 RPC 提供商,以确保正常运行时间和性能。
- 使用正确的链 ID 和 RPC URL 配置您的钱包以连接到 Acala。
- 通过使用托管提供商来解决速率限制和超时等常见问题。
常见问题解答
Acala 代币(ACA)有什么用途?
ACA 是 Acala 的原生代币,用于治理、交易费用和质押。它也是 aUSD 稳定币的抵押品。
Acala 是否兼容 EVM?
是的,Acala 通过其 EVM+ 模块支持 EVM 兼容的智能合约,允许开发者部署 Solidity 合约。
如何获得 Acala RPC 端点?
您可以使用公共端点,但对于生产环境,请考虑像 OnFinality 这样的托管提供商。注册 API 密钥以获得专用端点。
我可以运行自己的 Acala 节点吗?
是的,您可以使用官方的 Acala 客户端运行自己的节点。但是,它需要基础设施管理和维护。
什么是 aUSD?
aUSD 是 Acala 的去中心化稳定币,由抵押资产支持。它用于交易、借贷,并作为稳定的价值存储。
Acala 如何连接到其他 Polkadot 平行链?
Acala 使用 XCMP(跨链消息传递)与其他平行链通信,实现资产转移和互操作性。