摘要
peaq 是基于 Polkadot 的 Layer-1 区块链,专为去中心化物理基础设施网络(DePIN)和机器经济而设计。要与 peaq 网络交互,开发者需要可靠的 RPC 端点来读取链上数据、提交交易和监控机器身份。本文涵盖基本的链设置、如何评估 RPC 提供商、常见调试技巧以及生产部署的推荐后续步骤。
peaq 是基于 Polkadot 的 Layer-1 区块链,专为去中心化物理基础设施网络(DePIN)和机器经济设计。它为机器人、车辆和传感器等机器提供链上身份、声誉和支付轨道。要在 peaq 上构建或连接您的 dApp,您需要一个可靠的 RPC 端点来读取状态和发送交易。本指南涵盖 peaq 链设置、如何选择 RPC 提供商、常见故障排除和生产注意事项。
peaq RPC 决策清单
在集成 peaq RPC 端点之前,请评估以下因素:
- 延迟:选择具有地理分布节点和低响应时间的提供商。Peaq 的出块时间约为 8 秒,因此亚秒级 RPC 延迟对实时应用至关重要。
- 可靠性:检查冗余基础设施。单点故障可能导致停机;寻找具有负载均衡端点和 SLA 的提供商。
- 速率限制:了解每秒和每天的限额。公共端点通常会限制请求,这可能阻碍高频查询。
- 归档支持:如果您需要历史状态(例如,用于分析或机器声誉历史),请确保提供商提供归档节点。
- WebSocket 支持:对于实时订阅(例如,机器事件),请确认提供商支持 WebSocket 连接。
- 定价模式:比较按需付费与订阅计划。专用节点为高吞吐量项目提供可预测的性能。
链设置
| 参数 | 值 |
|---|---|
| 网络名称 | peaq |
| 链 ID | 3338 (0xd0a) |
| 原生货币 | PEAQ |
| RPC 端点(示例) | https://peaq-rpc.publicnode.com |
| WebSocket 端点(示例) | wss://peaq-rpc.publicnode.com |
| 区块浏览器 | Subscan |
| 消费者 | 部署 |
注意:上述公共端点只是众多选项之一。对于生产环境,请使用专用或高级 RPC 服务以避免速率限制并确保正常运行时间。
如何为 peaq 选择 RPC 提供商
在评估 RPC 提供商时,请考虑下表中的标准。正确的选择取决于您的应用规模、数据需求和预算。
| 标准 | 检查内容 | 重要性 |
|---|---|---|
| 延迟 | 来自多个地区的平均响应时间 | 实时交互(例如,机器支付)需要快速响应 |
| 正常运行时间 | 历史正常运行时间百分比和事件日志 | 停机可能导致您的 dApp 停止运行 |
| 归档数据 | 完整历史状态的可用性 | 声誉和身份查找可能需要旧数据 |
| WebSocket 支持 | 实时订阅能力 | 机器事件监控依赖于推送通知 |
| 速率限制 | 每秒/天允许的请求数 | 高频查询(例如,机器队列轮询)需要宽松的限额 |
| 定价 | 免费层、按需付费或专用节点成本 | 匹配您的预算和流量模式 |
| 链覆盖 | 支持的网络数量 | 如果您是多链,单一提供商可简化管理 |
许多开发者从公共端点开始测试,但很快会转向像 OnFinality 这样的托管服务用于生产工作负载。OnFinality 为多个区块链(包括 peaq 和其他 Polkadot 生态系统链)提供可扩展的 RPC API 和专用节点。有关详细信息,请查看我们的支持的网络和定价。
peaq 上常见的 RPC 方法
由于 peaq 与 EVM 兼容,标准的以太坊 JSON-RPC 方法也可用。以下是一些基本方法:
eth_blockNumber– 获取最新区块号。eth_getBalance– 查询地址的 PEAQ 余额。eth_call– 执行智能合约的查看函数。eth_sendRawTransaction– 广播已签名的交易。eth_getTransactionReceipt– 检查交易状态。
使用 curl 的示例:
curl -X POST https://peaq-rpc.publicnode.com \
-H "Content-Type: application/json" \
--data '{
"jsonrpc":"2.0",
"method":"eth_blockNumber",
"params":[],
"id":1
}'
使用 ethers.js 的示例:
const { ethers } = require("ethers");
const provider = new ethers.providers.JsonRpcProvider("https://peaq-rpc.publicnode.com");
async function getBlockNumber() {
const blockNumber = await provider.getBlockNumber();
console.log("Latest block:", blockNumber);
}
getBlockNumber();
调试常见 RPC 问题
Nonce 过低
从同一账户发送多个交易时,确保 nonce 正确递增。使用带有 "pending" 参数的 eth_getTransactionCount 来获取下一个 nonce。
curl -X POST https://peaq-rpc.publicnode.com \
-H "Content-Type: application/json" \
--data '{
"jsonrpc":"2.0",
"method":"eth_getTransactionCount",
"params":["0xYourAddress", "pending"],
"id":1
}'
超出速率限制
公共端点通常返回 429 错误。切换到具有更高速率限制的提供商或使用专用节点。
超时错误
如果您看到超时,端点可能过载。使用具有负载均衡和多个地域的提供商。
WebSocket 断开连接
对于 WebSocket 订阅,请实现重新连接逻辑。某些提供商会自动清除空闲连接;保持心跳。
关键要点
- peaq 是用于 DePIN 的 EVM 兼容 Layer-1,链 ID 3338,原生代币 PEAQ。
- 根据延迟、可靠性、归档支持、WebSocket 和定价选择 RPC 提供商。
- 使用标准的以太坊 JSON-RPC 方法进行开发;许多 Web3 库可直接使用。
- 公共端点适合测试,但不适用于生产环境。考虑使用像 OnFinality 这样的托管服务以获得可扩展的基础设施。
- 通过适当的提供商配置调试常见问题,如 nonce 不匹配、速率限制和超时错误。
常见问题
peaq 的链 ID 是什么?
peaq 主网的链 ID 是 3338(十六进制 0xd0a)。
peaq 支持 WebSocket RPC 吗?
是的,大多数 RPC 提供商提供用于实时订阅的 WebSocket 端点。示例:wss://peaq-rpc.publicnode.com。
我可以在 MetaMask 中使用 peaq 吗?
是的,peaq 与 EVM 兼容。使用链 ID 3338 和任意 RPC URL 手动添加网络。
在哪里可以获取 PEAQ 测试网代币?
peaq 有一个测试网(链 ID 3338?实际上 peaq 有 agung 测试网)。请查看官方 peaq 文档了解水龙头详情。对于主网,您需要通过交易所或桥接获取 PEAQ。
如何运行自己的 peaq 节点?
您可以使用 peaq 客户端运行全节点。但对于大多数 dApp,托管 RPC 服务更简单可靠。有关网络和 API 选项的完整列表,请访问我们的[网络页面](/networks)和[RPC 定价](/pricing/rpc)。