2 个版本

0.1.0-rc.22024年7月9日

#93 in #zksync

Download history 224/week @ 2024-07-09

224 每月下载量

MIT/Apache

1MB
23K SLoC

运行测试共识节点

这些说明指导您在本地和集群环境中设置和运行测试共识节点的过程。

本地设置

  1. 编辑位于工具包根目录中的 addresses.txt 文件。此文件包含节点的地址,格式为 IP:PORT。对于单个节点,使用示例文件。要运行相互通信的多个节点,请在单独的行上写入每个节点地址。这将根据地址运行一个节点。

  2. 切换到项目根目录(era-consensus)并执行以下命令

    make nodes_config
    

    此命令将创建一个名为 nodes-config 的目录,并为 .txt 文件中列出的每个地址创建一个文件夹,以 IP 地址作为文件夹名,为相应的节点提供必要的配置文件。

    make node IP=<NODE_IP>
    

    此命令的默认值设置为 127.0.0.1:3054,用于启动初始节点。要运行不同的节点,只需使用 addresses.txt 文件中之前详细说明的 IP 地址即可。请注意,运行此命令将控制终端。

在 minikube 中运行

要在本地使用 minikube 运行多个节点,我们首先需要构建二进制文件

make docker_build_executor

此命令将创建 executor 二进制文件,并将其包含在 Docker 镜像中。

在运行部署脚本之前,请确保已安装并正在运行 minikube

minikube start

然后运行

make start_k8s_nodes NODES=<number> SEED_NODES=<number>

在这里,NODES 是希望在 k8s 集群中运行的总节点数(如果省略,则默认为 4),而 SEED_NODES 是要首先部署为种子节点的节点数量(默认为 1)。

此命令将

  • 为每个节点生成配置文件(此步骤在未来可能发生变化,因为我们可能不需要在镜像中包含配置文件)
  • 使用上一步创建的配置文件和二进制文件构建 Docker 镜像
  • 部署初始种子节点
  • 获取种子节点的内部 IP 地址
  • 部署其余节点,提供种子节点的 IP 地址以建立连接

您可以使用

minikube dashboard

以启动 minikube 仪表板以检查已部署的 pod。请记住使用 consensus 命名空间查找所有与共识相关的基础设施。

最后,清理一切

make clean

这将从 minikube 环境中删除所有命名空间、部署和 pod,并从 Docker 中生成的镜像。如果您想停止 minikube 环境,只需做

minikube delete --all

依赖关系

~122MB
~2.5M SLoC