提案: 创建以太坊相关软件包的通用仓库

该项目旨在为以太坊相关软件包创建一个通用的 Debian 仓库,简化以太坊节点在 Debian 系统上的安装和配置过程。通过提供预配置的软件包和自动化服务设置,降低用户参与以太坊生态系统的门槛,并方便开发者分发软件。包含使用 apt-get 下载软件、简化的配置管理、便捷的软件分发和集中的问题讨论区等功能,最终目标是实现通过简单的命令即可完成以太坊节点的安装和运行。

Eth Deb 仓库

创建一个以太坊相关软件包的通用仓库

动机

我们能否想象这样一个未来:与以太坊相关软件的交互就像下载和运行一样轻松?

该项目源于一个基本问题:如果使用以太坊相关软件是一件简单的事情会怎么样?这个想法的灵感来自 eth deb repo 的概念。目前,在以太坊网络上设置和运行节点涉及一系列手动操作,包括下载、验证和配置调整。这种复杂性构成了一个挑战,特别是对于那些没有技术背景的人。最终目标是改变这种模式,让每个人都可以运行节点。但需要注意的是,简化节点操作需要大量的工作,超出了本次尝试的范围,因此与此相关的工作范围将限定在创建 debian 仓库上,这将为未来围绕该主题的改进打开大门。

另一个需要考虑的方面是,许多开发团队缺乏为各种发行版调整其软件的资源,因为这需要大量的投入时间。拥有一个以太坊相关软件包的中心化仓库,专注于使以太坊软件用户友好的使命,可以大大缓解这个问题。

第三个方面,节点运行者对需要调整哪些配置或安全设置,或者平台可能带来的哪些问题是最了解的。提供一个可以交流这些讨论的中心区域是个好主意。

选择基于 Debian 的发行版是由于它们在市场上占据重要地位,合计市场份额超过 30%。有关更多深入信息,请参阅随附的统计信息。

用户故事:简化 Debian 用户的以太坊节点安装

作为一个 区块链爱好者,我喜欢基于 Debian 的发行版,因为它们稳定且熟悉,

我想要 在我的 Debian 系统上轻松安装以太坊节点,而无需处理复杂的设置过程,

以便 我可以积极参与以太坊生态系统,为其活动做出贡献,并及时了解网络发展。

用户故事

作为一个 节点运行者 我想要 使用 apt-get 下载软件 以便我 可以节省时间和认知资源

作为一个 节点管理员 我想要 获得默认设置或配置 以便我 可以简化管理任务

作为一个 开发者 我想要 更轻松地分发我的软件 以便我 可以专注于与我正在开发的软件相关的更重要的任务

作为一个 社区成员 我想要 知道该向哪些想要运行节点的人提供指导 所以我 可以说运行节点很容易

作为一个 安全审计员 我想要 针对软件包和设置运行测试或审计 所以我 可以建议最佳实践,标记安全漏洞或通过修改软件包来修复安全漏洞

项目描述

拟议的解决方案包含两个部分

  • 建立一个仓库,并使用 debmake (pbuilder) 或 debcrafter 为两个架构生成可重现的构建。
  • 开发配置和服务软件包,以通过 debcrafter 简化节点操作(具体细节目前正在讨论中)。

规范

你将如何实施你的解决方案?提供有关该项目的详细信息和更多技术信息。

  • 可以通过对 debmake 进行微小的调整来实现可重现的构建。
  • Debcrafter 提供了全面的规范文件,以增强生成的二进制文件的配置和安全方面。将这两个组件结合起来是一个关键目标。
  • 提供全面的文档以指导未来的维护人员。
  • 一个专门用于报告错误、问题和疑问的空间,最有可能位于 GitHub 仓库中。

路线图

你提出的时间表是什么?概述项目的各个部分,并深入了解执行它们需要花费多少时间。

  • 9 月 - 10 月:创建二进制软件包。
  • 9 月:与导师合作确定配置和服务软件包的内容。
  • 10 月 - 11 月:专注于开发配置和服务软件包。

可能的挑战

你可能需要克服哪些限制和问题?

  • 在给定的时间表内,可能无法为所有架构创建软件包。
  • 同样,在项目的时间范围内打包所有以太坊相关软件可能是不现实的。
  • 配置和服务软件包可能会提供默认的最小设置。
  • 鉴于节点设置的多样性,在此时间表内可能无法为每种情况提供配置选项。
  • 确保安全是首要任务,但人们认识到,要实现完全安全可能需要更多的努力,并且不是该项目的主要重点。

项目目标

最终目标是在仓库中包含共识客户端和执行客户端的二进制文件,以及这些客户端的补充服务和配置软件包。

本质上,最初提案中概述的目标很好地概括了这一愿景。链接 为了清楚起见,最终目标可以概括如下:

  • 运行 apt install geth-mainnet-full 将无缝安装所有必要的软件组件,例如 go-ethereum 客户端,同时配置默认的完整节点主网设置并将其作为服务启动以立即使用。
  • 运行 apt install lighthouse 同样会安装所有先决条件(库和 eth1 客户端),建立默认配置,并为立即使用做好软件准备。
  • 通过执行 systemctl stop besu,可以正常停止 Besu 客户端。
  • 可以通过 dpkg-reconfigure geth 访问调整软件包可选配置设置的选项。

包含的软件

执行客户端

Go-ethereum
Nethermind
Besu
Erigon

共识客户端

Lighthouse
Prysm
Teku
Nimbus
Lodestar (npm 供应链攻击可能导致无法实现)

验收标准

验收标准:

  1. 该项目提供了一个用户可以访问的中心化的以太坊相关 debian 仓库。(这将仅支持一个 debian 发行版)
  2. 该仓库包含打包的软件,可简化设置和运行以太坊节点的过程。
  3. 提供详细的文档来指导用户完成安装和配置过程。
  4. 与配置、安全设置和潜在问题相关的讨论和用户反馈在该仓库中拥有专门的空间。
  5. debian 仓库的设置允许在初始范围之外进行未来的改进和功能扩展。

不在此范围内 6. 该仓库包含适用于各种发行版的以太坊相关软件,确保跨不同系统的兼容性。 7. 仓库中打包的软件经过验证,以确保安全性和真实性。

合作者

研究员

如果你有兴趣,请告诉我。

导师

Mário Havel (@taxmeifyoucan) Martinzs (@kixunil)

资源

构成该项目的仓库、PR 和其他有价值资源的链接将很快提供。

ethdebrepo Debian maintainers guide to package maintainers Debian go packaging guide dh-make-golang creating Debian packages from Go packages fpm reprprepro Pbuilder Cowbuilder Reproducible builds Debcrafter Linux Hardening guide npm supply chain attacks distro market share debian market share

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

0 条评论

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