区块天下 区块链新闻 查看比特币代码是什么感觉?

查看比特币代码是什么感觉?

6月19日,Chaincode开发人员JohnNewbery召集了一组开发人员,对比特币代码的一项拟议更改进行了研究。

通过Internet Relay Chat(IRC)进行的讨论主题是,这一变化是否对安全风险或不利影响有限的积极影响,这将有助于防止一群无赖矿工加快比特币区块的生产速度。

那么,Newbery的目标就是传递他所知道的关于评审这些代码的信息。

这个“时间扭曲攻击”挡块是一个坚实的改变吗?

Newbery在解释攻击向量时写道:“TimeWarp利用这一点,将难度调整块推到未来,然后将下一块推回到现在。”

但事实上,纽伯里甚至举行这些会议可以被视为一个迹象,比特币的开发社区成熟,因为这是一个例子,项目的顶级编码人员如何努力工作,使项目更具包容性。审查代码的过程以前可能没有如此公开和深入地讨论过。

纽伯里成立了比特币核心审查俱乐部,向编码人员提供如何确定如何审查变化并确定它是否对加密货币有利的提示。会议记录现在每周都发布在网站上。

这是可能的,因为比特币的代码是开放源码的,存在于GitHub上,任何有互联网连接的人都可以查看甚至更改。这个过程已经将项目从曾经被称为“整体blob”的代码人员驱动到了更容易让开发人员使用不太严重的bug阅读的软件。人们一直在努力改进它,其崇高的最终目标是使它成为未来金钱的一个有价值的代码基础。

所以,也有可能成为比特币代码的贡献者之一。与专有代码不同,它的代码任何人都可以看到和使用,这就是所谓的“开源”。

它被称为“可编程货币”的一个原因是,与其他数字货币不同,世界上任何拥有正确知识的人都可以尝试向货币中添加新的代码功能。学习代码库的方法之一是检查和测试程序员提交的代码,以确保它确实有效,并且不会引入错误或-不幸的现实-意外地将比特币网络分成两半。

但是,通过查看代码页和数百个提议的更改,很难知道从哪里开始。

“本周IRC俱乐部面向那些希望帮助审查比特币核心拉取请求但发现过程令人生畏的人,”俱乐部网站解释说,继续:

“审查和测试拉请求是开始为比特币核心做出贡献的最佳方式,但很难知道从哪里开始。有数百个开放的拉取请求,许多请求需要大量的上下文知识,贡献者和审阅者经常使用不熟悉的术语。”

因此,尽管这种数字货币的代码对于任何人来说都是不受欢迎的,但并不一定容易做到。要知道复习什么需要练习。

这个过程是这样的。

任何人都能做到

首先,用户可以访问github,一个承载各种开源代码项目的网站。有一个专门针对比特币核心,即大多数用户运行的底层比特币软件实现。

您会注意到GitHub有很多东西,但是审查代码基本上是看“拉请求”,整个生态系统中的开发人员已经提交了一系列变更以供审查。

换言之,有300个变化尚未得到足够的审查,尚未正式添加到代码库,从使描述代码的文档更容易阅读到提高比特币的性能。

此时,开发人员正试图决定是否应该批准这些更改。问题是,有限的开发人员有足够的经验来审查代码更改,以确定是否应该将它们正式添加到代码库中。正因为如此,一位比特币核心投稿人曾将拉牌请求列表描述为“酷想法的墓地”。

这就是为什么纽伯里试图帮助这个过程。

那么,一个人实际上是如何看待一个变化的呢?正如在俱乐部网站上所描述的,有几个关键步骤要开始,比如通过“贡献比特币核心指南”和修补C++,编程语言比特币核心写在。

下一步就是选择一个变更进行审查。有超过300个拉的要求,活蹦乱跳,一个从哪里开始?对于那些还不了解代码库的人来说,最好的选择是专门标记为“好的第一个问题”的代码更改。

当准备工作结束后,开发人员需要“克隆”存储库,或者使用git将代码库复制到他们的计算机上,这样他们就可以测试更改是否按计划工作。

只需要一个简单的命令就可以将整个代码库复制到您的计算机上。

从那里,您可以查看拉请求。说开发人员应该运行所有的“测试”,以确保代码更改不会意外地触发另一段代码,然后继续检查其余的代码。

在审稿人的头脑中

审稿人需要考虑什么?

首先,存在高度关注。决定是否应该做出改变,特别是一个关键的改变,基本上是基于“粗略的共识”,这意味着大多数积极的贡献者都会同意应该进行改变。

在另一次俱乐部会议上,纽伯里说:

“我对打开拉请求的想法:没有人欠你一个评论。任何审查你的代码的人都在帮你一个忙。如果您打开一个请求,您将与其他请求竞争审查时间。”

纽伯里补充说:“如果对其他人认为你的请求有多有用表示怀疑,可以直接问比特币核心开发人员,也可以直接问其他参与者。”纽伯里还提到了另一个IRC小组,开发人员可以在该小组中问到与比特币核心开发相关的问题。

也就是说,开发人员并不总是同意一个变更是否值得添加。一周内,开发人员小组集中讨论了有争议的代码更改。一些人认为坏处大于好处,而另一些人则认为它可能有用。

但是,即使这个想法总体上是好的,也有较低层次的关注。有虫子吗?代码更改是否附带确保代码更改按计划工作的测试?这些问题是很多复习时间都花在回答上的。

例如,在5月29日的会议上(您可以在这里找到完整的副本),开发人员查看了比特币节点钱包部分的性能增强。

一位笔名为“阿里阿德”的撰稿人主持了这次会议,并对会议进行了一段时间的回顾。“我首先尝试确定它是哪种类型的pr:doc、代码样式、buf fix、新特性或测试添加。因为[在我看来]知道这一事实将指导你如何阅读提交,你需要多少时间来审查,需要什么样的测试,”开发人员说。

另一位评论家指出,他们注意到了一个改进,仅仅是通过检查代码运行的时间(前后)。另一个名为“jb55”的用户说:“我的10000个密钥导入从8分钟变为3秒xd。”

会议的成绩单上还有许多关于如何简化这一过程并使其更容易审查的其他提示,未来还将安排更多的会议。接下来的几节将由比特币技术作家和贡献者大卫哈丁领导。(本文素材来源于网络,如有侵权,请联系作者删除!)

返回顶部