首页 > 比特币 > 正文

继续关于了解比特币技术方面的各种方式的系列文章,在本文中,我们将重点关注比特币核心 GitHub 存储库中的第一个问题。

比特币的挑战性和贡献

Bitcoin Core 被广泛认为是比特币的参考实现。尽管“比特币核心”这个名称直到2013 年才被使用,但客户端本身可以追溯到 2009 年中本聪 (Satoshi Nakomoto) 发布的第一个版本。其他比特币实现,如 libbitcoin (C++)、bcoin (Javascript) 和 btcd ( Go)是后来创建的。

了解 GITHUB

Bitcoin Core 是一个开源项目。任何有互联网连接的人都可以查看和下载代码和文档。Bitcoin Core(和许多其他软件项目)使用开源和非专有的 Git 版本控制系统来跟踪分布式贡献者之间代码库的变化。

Git 是由 Linux 内核的创建者 Linus Torvalds 开发的。相比之下,GitHub(最近被微软收购)提供专有软件,围绕 Git 协议提供方便的工具和社交功能。Bitcoin Core 的持续生存并不依赖于 GitHub,但如果该项目突然移动或将来无法使用 GitHub 软件,将会带来不便和破坏性。

在微软收购GitHub上的时间,有讨论在比特币社区和其他开源项目,他们是否应该从GitHub上的任何未来的依赖过渡了。随着越来越多的贡献者和潜在贡献者被禁止使用 GitHub 软件,这种观点变得越来越流行。如果他们被认为在政治上有争议,微软也有可能率先采取行动并禁止整个项目。时间会证明比特币核心和其他比特币实现是否会在未来几年继续利用 GitHub 公认的精心设计、用户友好的功能。

找到一个“好的第一期”

其中一项功能是 GitHub 问题,用于宣布和跟踪错误、增强功能和请求。任何 GitHub 用户都可以创建问题,但建议他们仅在研究并与 IRC 上的现有贡献者讨论后才打开问题。您无需请求许可即可开始处理问题。但是,如果您这样做,我们鼓励您对该问题发表评论,以鼓励与其他贡献者的合作。这也是在需要时请求帮助的好方法。

“good first issue”标签的目的是突出哪些问题适合可能对代码库没有深入理解的新贡献者。好的第一期并不是针对软件开发初学者的。鉴于比特币核心代码库是用这些语言编写的,至少,您还需要基本的 Git 熟练程度,最好还需要熟练掌握 C++ 和/或 Python。

比特币核心的良好第一期突出了解决该问题的“有用技能”。学习 C++ 和/或 Python 以做出与代码相关的贡献是一个好主意,但是如果您不精通这些语言,您可以选择通过对文档进行实质性改进或找到一个好的第一个问题来开始shell 脚本、Automake或CMake经验。

“错别字”与“真实”问题

有些人从更正变量名、注释或文档中的基本拼写错误开始。Jeremy Rubin开玩笑说,他故意在他的贡献中留下错别字,以便新的贡献者可以找到它们并纠正它们。尽管这是作为新贡献者开始的一种方式,但最好将重点放在好的第一个问题上,而不是针对拼写错误提交拉取请求 (PR)。

良好的第一个问题已被现有贡献者强调为缺少的东西并且对项目具有重要价值。他们不会被设置来识别错别字,现有的贡献者和维护者更愿意将他们的时间集中在审查和合并审查拉取请求的高优先级上。(拉取请求是贡献者提出的更改,只有在审查后并且有足够的共识时,维护者才会合并。)

因此,作为更实质性的拉取请求的一部分,更正拼写错误会更好。正如所讨论的前面,这是值得记住的是检讨现有的PR一般比提交新的更有价值。John Newbery 建议,一个好的经验法则是为您亲自提交的每个 PR 审查 5-15 个 PR。在撰写本文时,大约有 300 个开放的拉取请求和 700 个需要测试和审查的开放问题。

大量练习和学习的机会

最近比特币核心的新贡献者 Fabian Jahr 发现,新贡献者通常缺乏的主要技能是足够的 Git 熟练程度,例如压缩提交的能力。贡献者需要在命令行中输入 Git 命令。如果您是命令行和/或 Git 的初学者,最好在不受 Bitcoin Core 资源限制的其他项目上完成教程和练习。

网上有许多Git 教程(其中一些是免费的),而 Justin Moon 的Mooniversity课程(付费)也将帮助您学习从命令行与 Bitcoin Core 交互并为 Bitcoin Core 做出贡献的先决条件。如果您需要进一步的指导,请不要害怕在网上或在您当地的苏格拉底研讨会上向最近的新贡献者寻求帮助。

请求帮忙

新贡献者入职的挑战之一是,需要经验丰富的贡献者在短时间内完成的任务可能需要新贡献者花费更长的时间。这需要新的贡献者在遇到挑战时坚持并在需要时寻求帮助。最近比特币核心的新贡献者可能是一个很好的第一站,因为他们可能能够解决你的问题;如果没有,他们应该能够将您引向合适的长期贡献者。您还可以评论您正在处理的问题以标记您需要帮助。

在接受采访时用比特币杂志的弗拉德·科斯泰亚,Chaincode实验室工程师卡尔东回忆起设立一个IFTTT这将标志每当有一个新的‘好第一个问题’发表现有的贡献者电子邮件警报。这是他用来开始比特币开发并确定一些他有能力参与的小型项目的策略之一。从那以后,董创建了 Twitter 帐户@GoodFirstIssues,任何人都可以关注该帐户以获取新的良好优先问题的通知。

猜你喜欢
发表评论

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

评论信息