菜单

开发

相关源文件

本页面为希望为 Base Node 项目贡献力量的开发者提供信息。它涵盖了开发流程、仓库结构以及贡献指南。关于运行 Base 节点的信息,请参阅 入门指南

开发概述

Base Node 是一个基于 Docker Compose 的系统,用于在 Base 网络上运行节点。Base 网络是建立在 Optimism OP Stack 之上的以太坊 Layer 2 扩容解决方案。开发流程遵循标准的 Git 工作流程,使用 GitHub 进行源代码控制,GitHub Actions 进行 CI/CD,以及 Docker 进行容器化。

来源:CONTRIBUTING.md .github/workflows/pr.yml

存储库结构

Base Node 仓库围绕其支持的多个执行客户端进行组织,为每个客户端提供 Docker 配置,并包含 CI 工作流以确保跨架构的构建正常工作。

来源:.github/workflows/pr.yml

拉取请求 CI 流程

当创建或更新拉取请求时,将自动运行 GitHub Actions 工作流,以测试在 AMD64 和 ARM64 架构上为所有执行客户端构建 Docker 镜像。

来源:.github/workflows/pr.yml1-84

CI 工作流代码实体

下图将 CI 工作流概念映射到仓库中的实际代码实体

来源:.github/workflows/pr.yml1-84

贡献指南

该项目遵循 CONTRIBUTING.md 文件中概述的结构化贡献流程。以下是关键组件的细分:

来源:CONTRIBUTING.md1-56

开发环境设置

要设置 Base Node 的开发环境以进行贡献,您需要:

  1. 先决条件:

    • Git
    • Docker 和 Docker Compose
    • GitHub 账户
  2. 初始设置:

    • Fork GitHub 上的 Base Node 仓库。
    • 在本地克隆您的 fork:git clone https://github.com/YOUR-USERNAME/node.git
    • 添加上游仓库:git remote add upstream https://github.com/base/node.git
  3. 进行更改:

    • 创建一个新分支:git checkout -b feature/your-feature-name
    • 对相关文件进行更改。
    • 通过构建 Docker 镜像在本地测试您的更改。
  4. 本地构建测试:

    在本地测试 Geth 构建:

    在本地测试 Reth 构建:

    在本地测试 Nethermind 构建:

来源:.github/workflows/pr.yml1-84

拉取请求流程

当您准备好提交更改时:

  1. 准备您的拉取请求:

    • 确保您的提交消息清晰、描述性强。
    • 撰写详细的 PR 描述,解释更改和理由。
    • 如果 PR 解决了现有问题,请在描述中引用该问题。
  2. 提交 PR:

    • 将您的分支推送到您的 fork:git push origin feature/your-feature-name
    • 转到原始 Base Node 仓库并创建一个新的 PR。
    • 将您的分支选为源分支。
  3. CI 流程:

    • 当您的 PR 提交后,GitHub Actions 将自动运行 CI 工作流。
    • 该工作流将测试在 AMD64 和 ARM64 上为所有执行客户端构建 Docker 镜像。
    • 如果任何构建失败,您需要修复问题并推送额外的提交。
  4. 审查流程:

    • 维护者将审查您的 PR。
    • 对反馈做出响应并进行必要的更改。
    • 批准后,您的 PR 将被合并。

来源:CONTRIBUTING.md30-43 .github/workflows/pr.yml1-84

CI/CD 工作流

Base Node 项目使用 GitHub Actions 来自动化构建和测试。有关 CI/CD 工作流的更详细信息,请参阅 CI/CD 工作流

进一步的贡献信息

有关为 Base Node 项目做出贡献的更详细指南,包括代码风格、测试要求和提交流程,请参阅 贡献指南