摘要
Moonbeam 主网使用链 ID 1284 (0x504),原生代币为 GLMR。公共 RPC 端点包括 https://rpc.api.moonbeam.network、https://moonbeam.drpc.org 和 https://moonbeam.api.onfinality.io/public。对于生产环境应用,请根据可靠性、可扩展性、WebSocket 支持和归档数据访问来评估提供商。OnFinality 为 Moonbeam 提供可扩展的 RPC API 和专用节点。
Moonbeam RPC 决策检查清单
在将您的 dApp 连接到 Moonbeam 之前,请验证以下关键项目:
- 链 ID:1284 (0x504) — 确保您的钱包和应用配置一致。
- 原生代币:GLMR — 用于支付 Gas 费。
- RPC 端点类型:选择公共共享端点,或专用节点以获得更高的可靠性。
- WebSocket 支持:实时功能(如交易订阅)所需。
- 归档节点访问:历史状态查询(例如,对过去区块的
eth_call)所需。 - 速率限制:公共端点可能限制请求速率;生产应用通常需要具有可扩展计划的提供商。
- 地理延迟:选择端点靠近用户群的提供商。
Moonbeam 链设置
Moonbeam 是 Polkadot 上兼容以太坊的智能合约平行链。它镜像了以太坊的 JSON-RPC API,使部署基于 Solidity 的 dApp 变得简单。以下是 Moonbeam 主网的基本网络参数:
| 参数 | 值 |
|---|---|
| 网络名称 | Moonbeam 主网 |
| 链 ID | 1284 (0x504) |
| 原生货币 | GLMR |
| RPC 端点 (HTTPS) | https://rpc.api.moonbeam.network (官方公共) |
| RPC 端点 (WSS) | wss://wss.api.moonbeam.network (官方公共) |
| 区块浏览器 | https://moonbeam.moonscan.io |
Moonbeam 的公共 RPC 端点
以下是 Moonbeam 主网常用的公共 RPC 端点列表。请注意,公共端点可能存在速率限制,不建议用于高流量生产应用。
| 提供商 | HTTPS 端点 | WSS 端点 | 备注 |
|---|---|---|---|
| 官方 Moonbeam | https://rpc.api.moonbeam.network | wss://wss.api.moonbeam.network | 由 Moonbeam 团队运营;可能有限速 |
| OnFinality | https://moonbeam.api.onfinality.io/public | wss://moonbeam.api.onfinality.io/public-ws | 提供免费套餐;可扩展的高级计划 |
| PublicNode | https://moonbeam-rpc.publicnode.com | wss://moonbeam-rpc.publicnode.com | 免费且注重隐私 |
| DRPC | https://moonbeam.drpc.org | wss://moonbeam.drpc.org | 去中心化 RPC,多提供商故障转移 |
| 1RPC | https://1rpc.io/glmr | — | 保护隐私,有限速 |
| Dwellir | https://moonbeam-rpc.dwellir.com | wss://moonbeam-rpc.dwellir.com | 需要 API 密钥以获得专用访问 |
Moonbeam RPC 提供商对比
选择生产环境的提供商时,请考虑以下标准:
| 标准 | 检查内容 | 为什么重要 |
|---|---|---|
| 可靠性 | 运行时间历史、故障转移机制 | 确保您的 dApp 保持在线 |
| 可扩展性 | 每秒请求限制、突发容量 | 处理流量峰值而无性能下降 |
| WebSocket 支持 | WSS 端点可用性 | 实时事件(如待处理交易)所需 |
| 归档数据 | 历史状态访问 | 分析、审计和某些智能合约调用所需 |
| 地理覆盖 | 靠近用户的服务器位置 | 减少延迟,改善用户体验 |
| 定价 | 按需付费 vs. 固定计划 | 符合您的预算和使用模式 |
| 支持 | SLA、社区 vs. 专属支持 | 生产事故时至关重要 |
OnFinality 为 Moonbeam 提供共享 RPC API 访问和专用节点,提供灵活的扩展和全球端点。有关详细定价和网络支持,请访问 RPC 定价页面 和 支持的网络列表。
使用 ethers.js 连接 Moonbeam
以下是使用 ethers.js 库连接 Moonbeam 的方法。将端点 URL 替换为您偏好的提供商。
import { ethers } from "ethers";
// 使用公共端点
const provider = new ethers.JsonRpcProvider("https://rpc.api.moonbeam.network");
async function getChainId() {
const network = await provider.getNetwork();
console.log("Chain ID:", network.chainId); // 1284
}
getChainId();
对于 WebSocket 连接:
const wsProvider = new ethers.WebSocketProvider("wss://wss.api.moonbeam.network");
wsProvider.on("block", (blockNumber) => {
console.log("New block:", blockNumber);
});
常见陷阱与故障排除
- 链 ID 错误:始终使用
1284(或0x504)。使用其他 ID 会导致交易被拒绝。 - 速率限制:公共端点可能返回
429 Too Many Requests。对于生产环境,请选择具有足够容量的提供商。 - WebSocket 断开连接:不稳定的连接可能导致订阅断开。在应用中实现重连逻辑。
- 需要归档节点:对历史区块的
eth_call等方法需要归档节点。OnFinality 的专用节点提供归档访问。 - Gas 价格估算:Moonbeam 使用固定的基础费用;监测网络拥塞以调整 Gas 限制。
关键要点
- Moonbeam 主网使用链 ID 1284,原生货币为 GLMR。
- 多个公共 RPC 端点可用,但用于生产时存在限制。
- 选择提供商时,评估可靠性、可扩展性、WebSocket 支持、归档数据和地理覆盖。
- OnFinality 为 Moonbeam 提供灵活的 RPC API 和专用节点解决方案,适用于各种规模的项目。
- 在部署前,务必使用 HTTP 和 WebSocket 端点测试您的集成。
常见问题
Moonbeam 主网的 RPC URL 是什么?
存在多个公共端点,包括 https://rpc.api.moonbeam.network(官方)和 https://moonbeam.api.onfinality.io/public。对于生产环境,建议使用专用节点。
Moonbeam 的链 ID 是什么? 链 ID 为 1284(十六进制:0x504)。
Moonbeam 支持 WebSocket 吗? 是的,WebSocket 端点可用于实时数据。
如何在 Moonbeam 上获取归档数据? 使用归档节点提供商。OnFinality 的专用节点包含归档访问。
我可以使用 MetaMask 连接 Moonbeam 吗? 可以,您可以使用上面的链设置手动添加网络。
共享节点和专用节点有什么区别? 共享节点是多租户的,可能有速率限制;专用节点提供独占访问和更高的可靠性。