摘要
本页说明如何通过 RPC 端点连接到 Fantom Opera,包括链设置、公共和私有 RPC 选项以及常见调试步骤。它帮助开发者配置钱包、部署合约,并为生产工作负载选择合适的基础设施。
快速建议:为您的用例选择合适的 Fantom 端点
在深入配置之前,请决定哪种类型的 Fantom 端点适合您的工作负载。如果您正在构建原型、测试 dApp 或偶尔调用,公共端点就足够了。对于需要一致性能、更高速率限制或访问历史数据的生产应用程序,请考虑专用节点或高级 RPC 服务。
- 公共端点:适用于开发和轻度使用。可能受到速率限制和共享带宽的影响。
- 私有 RPC 端点:提供专用 URL,通常具有更高的吞吐量和更高的可靠性。适用于生产 dApp 和服务。
- 专用节点:让您完全控制节点,包括运行归档模式或自定义设置的能力。最适合高流量应用程序或特殊需求。
如需快速开始,您可以使用 OnFinality 提供的公共 Fantom 端点:https://fantom.api.onfinality.io/public。但是,对于生产环境,我们建议探索专用节点选项或 RPC 定价 以找到满足您需求的解决方案。
Fantom Opera 链设置一览
连接到 Fantom 时,您需要正确的网络参数。以下是 Fantom Opera(主网)的基本详细信息:
| 参数 | 值 |
|---|---|
| 网络名称 | Fantom Opera |
| 链 ID | 250 |
| 原生货币 | FTM (Fantom) |
| 符号 | FTM |
| 小数位数 | 18 |
| 区块浏览器 | https://ftmscan.com |
| RPC 端点(公共) | https://fantom.api.onfinality.io/public |
这些设置用于将 Fantom 添加到钱包或配置 dApp。确保使用正确的链 ID 以避免交易错误。
如何在钱包和 dApp 中配置 Fantom 端点
无论是设置 MetaMask、自定义钱包还是后端服务,过程都是相似的。以下是常见场景的示例。
将 Fantom 添加到 MetaMask
- 打开 MetaMask,点击顶部的网络下拉菜单。
- 点击“添加网络”或“自定义 RPC”。
- 填写详细信息:
- 网络名称:Fantom Opera
- 新的 RPC URL:
https://fantom.api.onfinality.io/public - 链 ID:250
- 货币符号:FTM
- 区块浏览器 URL:https://ftmscan.com
- 保存并切换到 Fantom 网络。
在 JavaScript 中配置 Web3 提供程序
使用 ethers.js 或 viem,您可以使用 Fantom 端点设置提供程序。
ethers.js 示例:
const { ethers } = require("ethers");
const provider = new ethers.providers.JsonRpcProvider("https://fantom.api.onfinality.io/public");
async function getBlockNumber() {
const blockNumber = await provider.getBlockNumber();
console.log("Current block number:", blockNumber);
}
getBlockNumber();
viem 示例:
import { createPublicClient, http } from 'viem';
import { fantom } from 'viem/chains';
const client = createPublicClient({
chain: fantom,
transport: http('https://fantom.api.onfinality.io/public')
});
const blockNumber = await client.getBlockNumber();
console.log(blockNumber);
向 Fantom 端点发出 JSON-RPC 调用
Fantom 支持以太坊 JSON-RPC 标准。您可以使用 curl 或任何 HTTP 客户端与端点交互。
基本 curl 示例
curl https://fantom.api.onfinality.io/public \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
这将返回最新的区块号。其他常见方法包括 eth_getBalance、eth_call 和 eth_getLogs。
检查 FTM 余额
curl https://fantom.api.onfinality.io/public \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xYourAddress","latest"],"id":1}'
将 0xYourAddress 替换为有效的 Fantom 地址。
调试常见的 Fantom 端点问题
使用 Fantom 端点时,您可能会遇到错误。以下是常见症状及其解决方法。
| 症状 | 可能原因 | 修复方法 |
|---|---|---|
connection refused 或超时 | 端点宕机或网络问题 | 检查您的互联网,重试,或使用其他端点。 |
invalid chain id | 钱包或 dApp 配置了错误的链 ID | 确保链 ID 为 250。 |
rate limit exceeded | 对公共端点的请求过多 | 使用私有端点或专用节点,或实现退避。 |
method not found | 使用了不支持的 JSON-RPC 方法 | 验证方法是否属于以太坊 JSON-RPC 规范。 |
response too large | 请求了过多的日志或区块 | 缩小查询参数范围。 |
使用 curl 和 WebSocket 进行调试
对于实时数据,您可以使用 WebSocket 订阅。以下是使用 wscat 的示例:
wscat -c wss://fantom.api.onfinality.io/public
然后发送订阅请求:
{"jsonrpc":"2.0","method":"eth_subscribe","params":["newHeads"],"id":1}
如果您没有收到响应,请检查您的客户端是否支持 WebSocket,以及端点 URL 是否正确。
公共与私有 Fantom 端点:需要考虑的事项
公共端点很方便,但它们是共享的。对于生产环境,您需要评估权衡。
- 吞吐量:公共端点可能会限制大量使用。私有端点提供更高的速率限制。
- 可靠性:公共端点可能不太可预测。专用节点提供一致的性能。
- 数据访问:如果您需要归档数据或自定义跟踪,通常需要专用节点。
OnFinality 提供专用节点,可以根据您的需求进行定制,包括归档模式和自定义配置。您还可以比较 RPC 定价 以了解成本影响。
Fantom 端点的生产就绪检查清单
在启动您的应用程序之前,请查看此清单:
- 使用私有或专用端点,而不是公共端点。
- 实现重试逻辑和备用端点。
- 监控您的端点的健康状况和性能。
- 设置速率限制错误的警报。
- 确保您的链 ID 和网络设置正确。
- 同时测试 HTTP 和 WebSocket 连接。
- 如果您需要历史数据,请考虑使用归档节点。
关键要点
- Fantom Opera 使用链 ID 250,原生货币为 FTM。
- 公共端点
https://fantom.api.onfinality.io/public适用于开发和测试。 - 对于生产环境,请评估私有 RPC 或专用节点选项,以确保可靠性和性能。
- 使用标准的以太坊 JSON-RPC 方法与 Fantom 交互。
- 通过检查链 ID、速率限制和端点可用性来调试常见问题。
常见问题解答
什么是 Fantom 端点?
Fantom 端点是一个 URL,允许您通过 JSON-RPC 与 Fantom 区块链交互。它用于发送交易、查询数据和部署智能合约。
如何获得免费的 Fantom 端点?
您可以使用公共端点 https://fantom.api.onfinality.io/public 进行开发。对于生产环境,请考虑付费计划。
Fantom 的链 ID 是什么?
Fantom Opera 的链 ID 是 250。
我可以将 WebSocket 与 Fantom 一起使用吗?
是的,Fantom 支持 WebSocket 进行实时订阅。请向您的提供商咨询 WebSocket URL。
如何在公共和专用 Fantom 节点之间选择?
如果您需要高吞吐量、可靠性或归档数据,建议使用专用节点。对于简单的测试,公共端点就足够了。
如需更多信息,请访问 Fantom 网络页面 或探索支持的网络。