如何运行一个Hyperledger Besu节点

  • QuickNode
  • 发布于 2025-01-14 18:55
  • 阅读 18

本文介绍了如何在企业环境中运行Hyperledger Besu节点,包括其定义、硬件和软件要求、安装步骤以及配置标志的详细信息。

重要通知

本指南的某些部分可能引用了较旧的技术。我们的目标是确保你能够获取最新且相关的信息。如果你希望看到本指南的更新版本,请告知我们

概述

随着以太坊网络的不断发展,对适合企业使用的以太坊客户端的需求也随之而来。Hyperledger Besu 是一款面向企业的以太坊客户端,能够实现公共和私有的许可网络。本指南将介绍运行 Hyperledger Besu 的要求,并解释如何运行 Hyperledger Besu。

什么是以太坊客户端?

以太坊客户端是以太坊技术规范在特定用例和特定编程语言中的实现。以太坊客户端在多个方面可能有所不同,但它们都具备相同的基本功能。每个客户端都能够加入点对点的以太坊区块链,同步本地的区块链副本,在区块链网络上广播交易,以及创建和管理账户。用户通过客户端界面与区块链交互,代码库 JSON API 也是如此。

以下是最流行且广泛使用的以太坊客户端:

  • Geth - Go 实现。
  • OpenEthereum - Rust 实现。
  • Nethermind - C#, .NET 实现。
  • Besu - Java 实现。
  • Trinity - Python 实现。

什么是 Hyperledger Besu?

Hyperledger Besu 是一款专为企业使用而构建的以太坊客户端。Besu 是基于 Java 的开源客户端,基于 Apache 2.0 许可证创建。与其他客户端一样,Besu 符合以太坊黄皮书的规范。它可以在以太坊主网或私有许可网络上运行,并且支持 Rinkeby、Ropsten 和 Görli 等测试网。Besu 包含多种共识算法,包括 PoW、PoA,并具有专门为联盟环境设计的全面许可方案。由于它是用 Java 实现的,因此拥有强大的代码库。Besu 帮助企业在私有网络上构建安全且高效的事务处理应用程序。

以下是 Hyperledger Besu 的一些显著特性:

  • 存储:它使用 RocksDB 键值数据库在本地存储链数据。
  • 监控:节点和网络性能监控。
  • 许可:Besu 是一个许可网络,通过启用账户许可和/或节点许可,仅允许特定节点和账户参与网络。
  • EVM(以太坊虚拟机)

硬件和软件要求

Besu 的系统要求取决于我们愿意同步的网络类型。

首先且最重要的要求是磁盘空间,启用修剪的快速同步需要 750GB 的磁盘空间,而默认禁用修剪的完整同步需要大约 3TB 的磁盘空间。

虚拟机(VM)要求:

如果你使用 VirtualBox 等虚拟机管理器设置虚拟机,以下是创建虚拟机的推荐属性:

  • 内存大小:4096 MB(推荐)
  • 虚拟硬盘至少 10 GB(推荐 20 GB)
  • 虚拟硬盘文件类型:VDI(如果需要与其他应用程序共享,请使用 VHD)

Java JDK:Besu 需要在系统上安装 Java 11+。

注意:对于 Windows,Besu 目前仅支持 64 位版本的 Windows,并且需要 64 位版本的 JDK/JRE。

运行 Besu 节点

第一步是在你的系统上安装 Besu 客户端。

安装 Besu:

macOS:使用 Homebrew

注意:需要 macOS High Sierra 10.13 或更高版本。

Linux/Windows:下载最新的二进制版本,解压后运行二进制文件。

二进制文件位于

你可以通过检查版本来确认是否安装正确。

你可以通过简单地输入以下命令来启动主网节点:

$ besu

节点将开始同步区块链,这可能需要一些时间,具体取决于网络连接。

你可以使用 --network 标志指定网络类型

例如,如果你想运行 Ropsten 节点:

$ besu --network=ropsten

--network=dev 用于本地区块链,如 ganache

注意:区块链的状态将保存在你运行 besu 的同一目录中,因此当你切换网络时,它将覆盖之前的状态,你可以在不同的目录中运行 besu 以使用不同的网络。

额外的标志配置

以下是一些根据需求运行 Besu 节点的有用标志。

  • 查看其他标志和一些有用的命令:
$ besu --help
  • 启用 JSON RPC HTTP 服务运行节点:
$ besu --rpc-http-enabled
  • 启用 JSON RPC WebSocket 服务运行节点:
$ besu --rpc-ws-enabled
  • 在节点上启用挖矿(默认设置为 FALSE):
$ besu --miner-enabled
  • 指定 eth_gasPrice 考虑的区块数量(默认设置为 100):
$ besu --api-gas-price-blocks
  • 启用旧版 Eth/64 fork id(默认设置为 false):
$ besu --compatibility-eth64-forkid-enabled
  • 启动 GraphQL HTTP 服务:
$ besu --graphql-http-enabled
  • 设置日志详细级别(日志详细级别:OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL):
$ besu --logging=<日志详细级别>
  • 设置交易被包含在区块中的最低 gas 价格(以 Wei 为单位):
$ besu --min-gas-price=<最低交易 gas 价格>
  • 启用修剪以删除旧状态(默认设置为 false):
$ besu --pruning-enabled
  • 将同步模式设置为 FAST 或 FULL(如果提供了 --network 并且启用了隐私,则默认设置为 FAST。否则为 FULL):
$ besu  --sync-mode=<模式>
  • 设置交易池中保留的待处理交易哈希的最大数量(默认设置为 4096):
$ besu   --tx-pool-haes-max-size=<整数>
  • 指定交易池中保留的待处理交易的最大数量:
$ besu  --tx-pool-max-size=<整数>

结论

恭喜你成功启动了你自己的 Hyperledger Besu 节点!你可以参考 Hyperledger Besu 的官方文档 获取更多详细信息。

订阅我们的新闻通讯以获取更多关于以太坊的文章和指南。如果你有任何反馈,请随时通过 Twitter 或我们的 Discord 社区服务器与我们联系,那里有一些你将遇到的最酷的开发者 :)

  • 原文链接: quicknode.com/guides/inf...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
QuickNode
QuickNode
江湖只有他的大名,没有他的介绍。