写给你的 Berachain RPC 最全指南 | 开发者必备教程

导言

在和 RhizomeDAO 一些开发者交流时,我们发现不少朋友在进行 Berachain 上的开发过程中,都遇到了 RPC 相关的问题。

因此,我们翻译了 Manny Bera 撰写的面向开发者的 RPC 教程,指南后半部分也覆盖了 Berachain 全节点的运维教程和注意事项,以供对 Berachain 有兴趣的广大开发者参考。

Erica


写给你的 Berachain RPC 最全指南 | 开发者必备教程

Berachain 上有哪些可用的 RPC 服务及其他常见的 RPC 问题

在 Berachain,官方团队经常收到关于 RPC 服务以及相关内容的诸多问题。

在本文中,我们将深入探讨开发者在 Berachain 当前 V2 bArtio 测试网中可以利用的各种 RPC 服务细节。

Berachain V1 Artio 仍然活跃吗?

截至 2024 年 6 月,Berachain V1 Artio 已被弃用,取而代之的是 Berachain V2 bArtio。如果你想了解新的架构,请查阅由 Berachain 首席技术官 Dev Bear 撰写的文章。

写给你的 Berachain RPC 最全指南 | 开发者必备教程

点击阅读文章→《BeaconKit – A Modular Framework for Building EVM Consensus Clients ⛵️✨

有哪些免费的 RPC 提供商?

对于 Berachain 的主 RPC 服务,我们推荐使用:https://bartio.rpc.berachain.com。

Berachain bArtio 网络配置:

Network: 
Berachain bArtio

RPC URL: 
https://bartio.rpc.berachain.com/

Chain ID:
80084

Currency Symbol:
BERA

Block Explorer URL:
https://bartio.beratrail.io/

ChainList 上也有越来越多的免费 RPC 提供商,但请注意,这些并未得到 Berachain 的认可。

此外,QuickNodeNirvana LabsAlchemy 都提供带有丰厚免费额度的私人 RPC 端点。

公共 RPC 提供商的速率限制是多少?

使用 https://bartio.rpc.berachain.com 时,当前的速率限制如下,但请注意,这些限制可能会随时更改。

Requests Per Second:
50

Requests Per Minute:
2000

Request Per Day:
100000

Berachain 提供 WebSocket 服务(WSS)吗?

Berachain 确实通过像 QuickNode、Nirvana Labs 和 Alchemy 这样的 RPC 提供商提供 WebSocket 服务。这些是专用的私人端点,用户需要注册各自的账户才能使用。

Berachain 通过公共 RPC 提供 WSS 服务吗?

目前,Berachain 不提供公共 WebSocket 服务。

你是否需要 WebSocket 服务?

除非你的团队正在进行高频交易,或在获取链上数据时有严格的时间要求(实时更新到秒级),通常推荐的做法是设置一个轮询策略来获取数据。





Polling:指客户端以固定的时间间隔定期向服务器发送请求,检查是否有更新。

调试 RPC 方法请求是否可用?

由于调试 RPC 方法并非总是常见的功能,Berachain 的公共 RPC 不提供此功能,但可以通过其他 RPC 提供商获取。

Nirvana Labs
Nirvana 在其免费服务中提供调试功能。

写给你的 Berachain RPC 最全指南 | 开发者必备教程

https://nirvanalabs.io/pricing

调试请求示例:

curl --location 'https://berachain.nirvanalabs.xyz/YOUR-NODE-NAME?apikey=YOUR-NIRVANA-API-KEY' \
--header 'Content-Type: application/json' \
--data '{
  "jsonrpc": "2.0",
  "method": "debug_traceTransaction",
  "params": [
    "0xead913400b737358b6d6ad909fcc43b697c63ecd9895cc2fe4a41efd572bf12a"
  ],
  "id": 86
}'

QuickNode
QuickNode 在其 Scale 或 Build 计划中提供 trace 和调试功能。

写给你的 Berachain RPC 最全指南 | 开发者必备教程

https://www.quicknode.com/pricing

其他选项

另一个选择是运行你自己的全节点,详细信息如下。

RPC 提供商是否提供不受保护(非 EIP155 签名)的交易?

这是开发者偶尔提出的边缘案例,Berachain 公共 RPC 及其他 RPC 提供商不提供此功能。

对于这种情况,我们建议运行全节点(使用 Geth、Reth 等),以允许不受保护的交易。

下面提供了关于如何运行节点的更多详细信息。

Berachain 的 RPC 是否提供 NFT API 数据端点?

目前,我们的现有 RPC 提供商并未提供任何 NFT RPC API 端点或 RPC 方法。这可能会在未来有所变化。

作为替代方案,一些其他提供商目前提供 NFT API 端点。

Routescan(Beratail 区块浏览器)
作为 Berachain 的主要区块浏览器,Routescan 提供 API 来获取特定钱包的资产,包括 NFT。

写给你的 Berachain RPC 最全指南 | 开发者必备教程

https://bartio.beratrail.io/documentation/api-swagger

Curl 请求示例:

curl --location 'https://api.routescan.io/v2/network/testnet/evm/80084/address/0xb7AE5De3e843a26Ca764605f6Bec916701f88556/erc721-holdings';

Reservoir
Reservoir 是获取所有与 NFT 数据和交易相关信息的一站式平台。

写给你的 Berachain RPC 最全指南 | 开发者必备教程

https://reservoir.tools

它提供了一个端点,用于检索 Berachain V2 bArtio 测试网上与钱包地址相关的所有 NFT。

Curl 请求示例:

# BASE API URL: https://api-berachain-testnet.reservoir.tools/
curl --location 'https://api-berachain-testnet.reservoir.tools/users/0xWALLE_ADDRESS/tokens/v6' \
--header 'x-api-key: <YOUR-RESERVOIR-API-KEY>'

如需了解有关该端点的更多详细信息,请查阅他们关于 getUsersUserTokens 的文档

运行节点 & 我是否应该运行全节点?

运行节点的两个主要因素是维护知识和/或成本。

专业技能问题

Berachain 提供了一个简单的指南,帮助你入门并了解如何运行全节点。可以访问:https://docs.berachain.com/nodes/quickstart。

如果这超出了你的专业知识范围,特别是涉及到二进制更新和服务器维护,我们强烈建议使用像 QuickNode、Alchemy 或 Nirvana 这样的 RPC 提供商。

成本问题

运行全节点时,成本也可能是一个考虑因素,尤其是存档节点,这类节点需要更多的硬盘空间。

运行 BeaconKit 共识客户端和执行客户端(如 Reth 或 Geth)的系统要求如下(每个要求的规格都需乘以二):

OS: Linux / MacOS
CPU Architecture: AMD64 or ARM64 / ARM64 Darwin
CPU: 4 Physical Cores
RAM: 24GB
Storage: 500GB

注意:随着网络的增长,硬盘需求可能会增加。

为了提供一些参考,在 us-east-2 地区使用 AWS 的 c5ad.8xlarge 实例(32vCPUs、64GB RAM、2 x 600 NVMe SSD)的成本大约为每月 486.18 美元(详见 AWS 定价计算器)。

另一方面,如果你对配置专用服务器有更多的了解,你可能会对 Hetzner 作为一种选择感兴趣。

仍然想运行全节点吗?

如果你不担心成本或技术要求,那么可以前往 Berachain 文档的快速入门页面:运行节点

我可以运行验证节点吗?

由于 Berachain V2 bArtio 测试网的需求量过高,我们目前不再接受测试网的申请。

我们欢迎有兴趣的验证人节点在 Berachain 主网启动时运行节点。

RPC 服务是否宕机了?

如果你发现我们的 Beratrail 区块浏览器上没有显示区块,这可能更多是区块浏览器的问题,而不是 RPC 服务的问题。

你可以运行以下 cURL 请求,如果区块编号发生变化,那么 RPC 服务应该是正常的:

curl --location 'https://bartio.rpc.berachain.com' \
--header 'Content-Type: application/json' \
--data '{
 "jsonrpc":"2.0",
 "method":"eth_blockNumber",
 "params":[],
 "id":84
}'

# [Expected Similar Output]:
# {
#     "jsonrpc": "2.0",
#     "id": 84,
#     "result": "0x1ce748" // <----- THIS WILL CHANGE
# }

如果你没有得到以下结果,尝试使用其他地区的 VPN 以排除是否是地区性故障的问题。

如何报告错误/漏洞?

如果你在使用 Berachain RPC 服务时遇到错误,帮助我们解决问题的最佳方式是提供可复现的步骤,包括以下内容:

  • 你从哪个地区发起了 RPC 请求?是否使用其他地区的 VPN 进行了测试以排除地区性问题?
  • 你在什么时间范围内尝试发起了多少请求?这些请求是否在公共 RPC 端点限制内(参见上文)?
  • 你的 HTTP 请求是什么样的?这个问题是否持续发生?(例如:RPC 方法、参数、URL、API 密钥等)
  • 请求是否是调试请求或 pre-EIP-155 请求?(参见上文)
  • 预期行为是什么,出现的意外结果是什么?(例如:错误信息、日志等)
  • 你是如何发出请求的?使用的是 cURL、SDK、HTTP 客户端、后端服务、前端服务、浏览器插件等?你是否尝试过其他方法来排除是否是特定 SDK 的问题?
  • 如果可能,能否在 GitHub Gist 这样的代码片段中分享你的合约代码?
  • 我们也非常感谢任何截图,但请同时粘贴任何钱包或交易哈希,以便更轻松地复制和复现问题。

当你准备好这些信息后,欢迎在 Berachain 官方的 Discord 服务器或 Telegram 群组中给我们发送消息。

下一步是什么?

Berachain Faucet 获取一些测试网 $BERA 代币,开始 BUIDL 吧!

❤️ 别忘了为这篇文章点个赞 👏🏼

原创文章,作者:Erica,如若转载,请注明出处:https://www.dappchaser.com/berachain-rpc-tutorial/

发表评论

邮箱地址不会被公开。 必填项已用*标注

评论列表(2条)

  • gexiao 2024年10月10日 00:07

    如果准备自己运行测试网节点,一定要严格参考官方 GitHub 仓库里 beacon-kit/testing/networks/80084 里的配置文件。这个配置文件经常迭代,细节更新不会在文档里讲。

    • Erica 回复 gexiao 2024年10月10日 02:18

      赞的~一看就是跑过节点的说出来的话~

联系我们

邮件:contact@dappchaser.com

QR code