摘要
peaq 是一条专为机器、车辆、机器人和其他需要链上身份、支付和数据的设备构建的 Layer-1 区块链。其 EVM 兼容运行时意味着大多数以太坊工具只需更改网络即可使用,因此开发者通常从连接 RPC 端点并读取链状态开始。
本页解释了 peaq 是什么、如何将其添加到钱包、如何进行 JSON-RPC 调用,以及随着工作负载增长如何在共享 RPC API 和专用节点基础设施之间做出选择。
peaq 是一条为机器而非人类设计的 Layer-1 区块链。它面向车辆、机器人、传感器和其他需要可验证身份、支付方式和数据发布场所的设备。如果你搜索了 peaq 网络区块链,你可能想要以下三件事之一:对其是什么的简单解释、连接钱包或应用的链设置,或者可以从代码调用的 RPC 端点。本页涵盖所有这三方面,然后帮助你决定下一步该做什么。
从这里开始:你实际需要 peaq 的什么?
在复制任何端点之前,先确定以下哪种情况符合你的需求。这可以避免你在真正需要后端节点时配置钱包,或者在编写第一个请求之前就租用基础设施。
| 你的目标 | 你需要什么 | 下一步去哪里 |
|---|---|---|
| 了解 peaq 是什么 | 对链及其经济的简短心智模型 | 阅读下一节,然后查看 peaq 网络页面 |
| 连接钱包或 dApp | 链 ID、RPC URL、浏览器、原生代币 | 使用下面的钱包配置块 |
| 从代码调用链 | JSON-RPC 端点和客户端库 | 使用下面的 curl 和 ethers 示例 |
| 运行生产流量 | 托管 RPC API 或专用节点 | 比较下表中的共享与专用 |
| 在主网前测试 | 测试网端点和水龙头 | 使用 peaq agung 测试网设置 |
如果你还在探索,请继续阅读。如果你已经知道需要一个端点,请跳到链设置部分,稍后再回来查看操作指南。
peaq 网络区块链的构建目标
大多数 Layer-1 链针对人类用户进行优化:钱包、DeFi、NFT、社交应用。peaq 则相反。其核心原语面向代表自己行动的机器。这意味着身份(机器可以持有地址并证明自己是自己)、支付(无需人工干预的机器对机器价值转移)和数据(传感器读数和设备事件记录在链上)。
两个设计选择对开发者很重要。首先,peaq 兼容 EVM,因此 Solidity 合约、ethers、viem、Hardhat 和 Foundry 都可以通过更改网络而不是重写来工作。其次,它构建在 Substrate 上,这就是为什么你会在同一个生态系统中看到 EVM 风格的工具和 Substrate 风格的工具。实际上,大多数应用开发者留在 EVM 一侧,从不直接接触 Substrate 层。
原生代币用于 gas 和质押,链暴露了常见的 EVM JSON-RPC 接口:区块查询、余额、合约调用、日志和交易提交。这就是你的 RPC 提供商必须良好服务的接口。
peaq 链设置一览
在将 peaq 添加到 MetaMask 等钱包或配置客户端库时,请使用这些值。在发布前,请务必对照 peaq 网络页面 确认当前值,因为链元数据可能会更改。
| 设置 | 值 |
|---|---|
| 网络名称 | peaq |
| 链 ID | 3338 |
| 货币符号 | PEAQ |
| 区块浏览器 | Subscan for peaq |
| RPC 传输 | HTTP 和 WebSocket,取决于提供商 |
| 测试网 | peaq agung(单独的链 ID 和端点) |
钱包网络配置条目如下所示:
{
"chainId": "0xCFA",
"chainName": "peaq",
"nativeCurrency": {
"name": "PEAQ",
"symbol": "PEAQ",
"decimals": 18
},
"rpcUrls": ["<your peaq RPC endpoint>"],
"blockExplorerUrls": ["<peaq explorer URL>"]
}
请注意,0xCFA 是链 ID 3338 的十六进制形式。如果钱包拒绝十进制值,请使用十六进制形式。对于要放入 rpcUrls 的确切 RPC URL,请使用 peaq 网络页面 上发布的端点,而不是教程中硬编码的值,因为端点会轮换。
进行你的第一次 JSON-RPC 调用
一旦你有了端点,最快的健全性检查是原始 HTTP 调用。这可以在调试任何应用代码之前确认端点可达并且你正在与正确的链通信。
curl -s <your peaq RPC endpoint> \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_chainId",
"params": []
}'
正确的响应会以十六进制返回链 ID。如果你得到 0xCFA,则你在 peaq 主网上。如果你得到其他值,则你指向了错误的网络,这是导致令人困惑的余额和合约错误的最常见原因。
在 JavaScript 中,使用 ethers 进行相同检查如下所示:
import { JsonRpcProvider } from "ethers";
const provider = new JsonRpcProvider("<your peaq RPC endpoint>");
const network = await provider.getNetwork();
console.log("chainId:", network.chainId.toString());
const block = await provider.getBlockNumber();
console.log("latest block:", block);
const balance = await provider.getBalance("0xYourAddress");
console.log("balance:", balance.toString());
如果 getBlockNumber 在调用之间推进,则节点已同步并跟随链头。如果它冻结了,则你要么在过时的节点上,要么在停止出块的测试网上。
共享 RPC API 还是专用 peaq 节点?
这是大多数团队会做错的决策,通常是因为过早过度购买或在发布前购买不足。正确的答案取决于你的请求模式,而不是你的项目规模。
| 工作负载 | 共享 RPC API | 专用节点 |
|---|---|---|
| 原型设计和脚本 | 适合,快速启动 | 不必要的开销 |
| 钱包或 dApp 前端 | 适合支持 WebSocket 的提供商 | 如果需要一致的链头延迟,则有用 |
| 索引器和回填 | 可能,但大量 eth_getLogs 范围可能受限 | 更适合,因为你控制速率限制和保留 |
| 高频后端写入 | 可行,但你共享容量 | 更适合可预测的吞吐量 |
| 合规或隔离需求 | 共享基础设施 | 你控制的专用基础设施 |
OnFinality 提供两者:为希望快速启动的团队提供托管的 RPC API 服务,以及为需要隔离容量、自定义限制或归档和跟踪访问的工作负载提供 专用节点。你可以查看 RPC 定价 来根据预期请求量比较两种模型,如果你运营多条链,可以浏览 支持的 RPC 网络。
一个实用规则:从共享端点开始,监控你的请求量和错误率,当你能够指出共享容量正在损害某个具体指标时,再迁移到专用节点。该指标通常是日志查询延迟、WebSocket 稳定性或高峰时段的写入吞吐量。
调试常见的 peaq 连接问题
大多数 peaq 问题不是链问题。它们是配置问题。按顺序处理此列表。
| 症状 | 可能原因 | 修复 |
|---|---|---|
eth_chainId 返回意外值 | 端点指向不同的网络 | 对照 peaq 网络页面重新检查端点 |
| 余额看起来错误或为零 | 错误的链,或测试网与主网上的地址 | 确认链 ID 和地址网络 |
eth_getLogs 超时 | 查询范围对于共享端点来说太宽 | 缩小区块范围或迁移到专用节点 |
| WebSocket 反复断开连接 | 空闲超时或不稳定连接 | 添加带退避的重连逻辑,或使用专用节点 |
| 交易卡在待处理状态 | Gas 价格太低或 nonce 间隙 | 使用正确的 nonce 和 gas 设置重新提交 |
| 合约调用在本地回滚但不在链上 | 过时的区块或错误的合约地址 | 重新读取区块号并验证地址 |
对于其中任何一个,第一个诊断步骤总是相同的:针对端点运行 eth_chainId 和 eth_blockNumber,并确认两者看起来正确。这一项检查可以消除大多数误报。
在 peaq agung 上进行测试网工作
如果你在主网部署之前进行构建,peaq agung 是测试网环境。它有自己的链 ID 和自己的端点,并且是与主网分开的网络。不要将两者混在一个配置文件中,也不要在测试网上重用主网密钥,反之亦然。
测试网代币来自水龙头而不是购买。水龙头的可用性和速率限制会随时间变化,因此请检查 peaq 网络页面 上的当前水龙头链接,而不是依赖缓存的 URL。当你的测试网集成通过后,将端点和链 ID 切换到主网值,并在将真实流量指向它之前重新运行冒烟测试。
上线前的操作检查清单
在发布 peaq 集成之前,确认以下每一项:
- 链 ID 和端点固定在配置中,而不是分散在代码库中。
- 你有备用端点或提供商,以便单次中断不会导致应用宕机。
- WebSocket 客户端使用指数退避重连,并在重连后重新订阅。
- 日志查询按区块范围分页,而不是在一个大跨度中请求。
- 你监控请求成功率、延迟和错误代码,而不仅仅是应用是否加载。
- 测试网和主网配置清晰分离。
- 你知道预期的峰值每秒请求数,并将其与计划匹配。
最后一点是提供商选择变得具体的地方。如果你无法说明你的峰值 RPS,你就没有准备好确定基础设施规模,你要么会多付钱,要么会在最糟糕的时刻遇到限制。
关键要点
- peaq 是一条兼容 EVM 的 Layer-1,面向机器、设备和自主系统,以身份、支付和数据为核心原语。
- 由于它兼容 EVM,标准的以太坊工具只需更改网络即可使用。
- 在任何端点上首先要验证的是
eth_chainId;它应该返回 peaq 链 ID。 - 共享 RPC API 适合原型设计和大多数前端流量;专用节点适合索引器、大量日志查询和可预测的高吞吐量后端。
- OnFinality 提供托管的 RPC API 访问和 专用节点 基础设施,详情见 peaq 网络页面。
- 测试网(peaq agung)和主网是分开的网络,具有不同的设置。
常见问题解答
peaq 兼容 EVM 吗?
是的。peaq 暴露了兼容 EVM 的执行环境,因此 Solidity 合约和标准以太坊库(如 ethers 和 viem)只需更改网络配置即可使用。
peaq 链 ID 是什么?
peaq 主网使用链 ID 3338,十六进制为 0xCFA。在发布前,请在 peaq 网络页面 上确认当前值,因为链元数据可能会更新。
如何将 peaq 添加到 MetaMask?
使用上面链设置表中的网络名称、链 ID、货币符号、RPC URL 和区块浏览器 URL 添加自定义网络。如果钱包需要,请使用十六进制链 ID。
在 peaq 上构建需要专用节点吗?
不需要。共享 RPC API 足以满足大多数开发、测试和前端流量。当你运行索引器、需要大量日志查询或需要可预测的后端写入吞吐量时,考虑使用专用节点。
如何在 peaq 上获取测试网代币?
使用 peaq 网络页面 链接的水龙头。水龙头限制和可用性会变化,因此请始终检查当前链接,而不是缓存的链接。
当 peaq 调用失败时,我应该首先检查什么?
运行 eth_chainId 和 eth_blockNumber。如果链 ID 错误,则你在错误的网络上;如果区块号冻结,则你的节点未同步。这两项检查只需几秒钟,可以排除大多数配置错误。