继续学习人们可以了解比特币技术方面的各种方式的系列文章,在本文中,我们将重点介绍比特币核心GitHub存储库中的良好先发问题。.
比特币核心被广泛认为是比特币的参考实现。尽管直到那时才使用“ Bitcoin Core”这个名字 2013年, 客户本身可以追溯到2009年中本聪(Satoshi Nakomoto)的第一个发行版。后来创建了其他比特币实现,例如libbitcoin(C ++),bcoin(Javascript)和btcd(Go)。.
认识GitHub
Bitcoin Core是一个开源项目。拥有互联网连接的任何人都可以查看和下载代码和文档。比特币核心(以及许多其他软件项目)使用开源且非专有的Git版本控制系统来跟踪分布式贡献者之间代码库中的更改.
Git由Linux内核的创建者Linus Torvalds开发。相反,GitHub(最近被Microsoft收购)提供专有软件,该软件围绕Git协议提供便捷的工具和社交功能。 Bitcoin Core并不依赖GitHub的持续生存,尽管如果将来突然迁移或阻止该项目使用GitHub软件会带来不便和破坏性,.
在微软收购GitHub期间, 讨论 在比特币社区和其他开源项目中,它们是否应该摆脱对GitHub的任何未来依赖。随着越来越多的贡献者和潜在贡献者的出现,这种观点变得越来越流行。 被禁止 从使用GitHub软件开始。微软也可能会先采取行动, 禁止整个项目 如果他们被认为在政治上有争议。时间将证明,在未来几年中,Bitcoin Core和其他比特币实施是否会继续利用GitHub公认的精心设计的,用户友好的功能.
寻找“良好的第一期”
这些功能之一是GitHub Issues,用于发布和跟踪错误,增强功能和请求。任何GitHub用户都可以创建问题,尽管建议他们仅在研究问题并与IRC上的现有贡献者讨论后才打开问题。您无需请求权限即可开始处理问题。但是,如果您这样做,我们鼓励您对此问题发表评论,以鼓励与其他贡献者的合作。如果需要的话,这也是一种寻求帮助的好方法.
目的 “好第一期” 标签旨在突出显示哪些问题适合于可能对代码库没有深入了解的新贡献者。优秀的第一期并不是针对软件开发初学者的。至少,您需要基本的Git熟练度,理想情况下也需要C ++和/或Python熟练度,因为Bitcoin Core代码库是用这些语言编写的.
比特币核心的良好第一期凸显了解决该问题的“有用技能”。学习C ++和/或Python做出与代码相关的贡献是个好主意,但是如果您不精通这些语言,则可以选择从对文档进行实质性改进或找到需要解决的第一问题作为开始 外壳脚本, 自动制作 或者 CMake的 经验.
“错别字”与“真实”问题
有些人是通过更正变量名,注释或文档中的基本错字开始的。杰里米·鲁宾(Jeremy Rubin)有 开玩笑的 他故意将错别字留在自己的贡献中,以便新的贡献者可以找到它们并进行更正。尽管这是开始成为新贡献者的一种方法,但最好是专注于良好的先发问题,而不是为错别字提交拉取请求(PR).
好的先期问题已被突出显示为现有贡献者所缺少的,对项目具有重大价值的事物。不会设置它们来识别拼写错误,并且现有的贡献者和维护者宁愿将时间集中在审查和合并上 高优先级审查 拉取请求。 (拉动请求是由贡献者提出的更改建议,只有在维护人员经过审查并在有足够的共识后才能合并,才可以进行合并。)
因此,最好将错别字作为更实质性的拉动请求的一部分进行更正。如前所述,值得记住的是,审查现有的PR通常比提交新的PR更有价值。约翰·纽伯里(John Newbery)建议,一个好的经验法则是,对于您个人提交的每个PR,都要审查5-15个PR。在撰写本文时,大约有300个未决请求和700个未决问题需要测试和审查.
大量的实践和学习机会
Fabian Jahr是最近对Bitcoin Core的新贡献者,他发现新贡献者中经常缺乏的主要技能是足够的Git熟练程度,例如 壁球犯. 要求参与者在命令行中输入Git命令。如果您是命令行和/或Git的初学者,最好完成不受Bitcoin Core资源限制的其他项目的教程和练习.
有许多 Git教程 在线(其中一些是免费的)和贾斯汀·穆恩(Justin Moon)的 月光下 课程(收费)还将帮助您从命令行学习与Bitcoin Core交互并做出贡献的先决条件。如果您需要进一步的指导,请不要害怕在线上或在您当地的苏格拉底研讨会上向最近的新贡献者寻求帮助。.
请求帮忙
招募新的贡献者所面临的挑战之一是,需要有经验的贡献者在短时间内完成的任务可能会使新的贡献者花费更长的时间。这就要求新的贡献者在遇到挑战时必须坚持不懈,并在需要时寻求帮助。最近对Bitcoin Core的新贡献者可以成为一个很好的第一口交流,因为他们可能能够解决您的问题;如果没有,他们应该能够将您引向适当的长期捐助者。您也可以针对您正在处理的问题发表评论,以标记您需要帮助.
在接受Bitcoin Magazine的Vlad Costea采访时,Chaincode Labs工程师Carl Dong回忆起建立一个 国际金融贸易展览会 电子邮件警报,该警报将在现有贡献者每次发布新的“良好第一期”时进行标记。这是他用来开始比特币开发并确定一些他有能力贡献的小型项目的策略之一。自那以后,Dong已经创建了Twitter帐户 @GoodFirstIssues 任何人都可以按照它来通知新的良好优先事项.
感谢Jon Atack和Marco Falke对本文的贡献.