木星链 木星链
Ctrl+D收藏木星链

OIN:如何成为Bitcoin Core贡献者?最全的比特币开发者指南都在这里了

作者:

时间:1900/1/1 0:00:00

写在前面:本文作者为AmitiUttarwar,是BitcoinCore开发者,就职于Xapo,曾是Coinbase的软件工程师。根据自身的经历,她在文章中分享了为比特币做贡献的秘籍,其中包含了大量的学习资料,干货满满,对有需要的人来说很有帮助。P.S.这是个优秀的小姐姐哦~

在过去的一年里,我进入了为BitcoinCore做贡献的奇妙兔子洞。在这个过程中,我很幸运地从许多人那里得到了指导和支持,我自己也学到了一些技巧。在这篇文章中,我想分享一些我发现的有效工具。

成为BitcoinCore贡献者只是帮助推进这个协议的其中一种方式。其他选择包括参与邮件列表讨论、研究攻击向量或扩容技术、为闪电网络客户端做贡献,或开发相关工具,如secpk256k1代码库或更好的测试基础设施。但这篇文章不涉及这些话题。

这篇文章是关于BitcoinCore的,通过我的体验,我希望它能帮助你找到自己的贡献方式。

开始之前

首先,读白皮书。讲真,如果你还没有读过,那就别看这篇文章了,直接去读白皮书吧。

理解比特币运作的基础概念是必要的。了解的渠道有很多。我会从读其中一本书开始。如果是线上资料,我会访问JamesonLopp的资源列表或Chaincode实验室的课程。前者更宽泛,但后者专门针对协议开发。

如果你的目标是为BitcoinCore做出贡献,不要试图学习每个概念的细节。有许多主题的差别不大。目标是获得高层次的理解,并接触系统的不同部分。彻底消化这个分布式共识系统的基本原理是需要时间的。

乌克兰危机全面爆发会如何:高盛预测纳斯达克大跌近10%:2月21日电,高盛估计,标普500指数在俄乌危机全面爆发中的下行空间为6.2%,若降温则有5.6%的上涨潜力。以Dominic Wilson为首的策略师预计纳斯达克有9.6%的潜在下行空间,反之有8.6%的潜在上行空间。(财联社)[2022/2/22 10:06:59]

BitcoinOptech周报是了解生态系统技术发展的“最佳”方式。DaveHarding在保证其更新。我强烈推荐订阅这个内容。

选择放弃什么

一旦你决定为BitcoinCore做出贡献,这个过程就不会停止。这个项目有足够的复杂度和开发工作,足以让任何人忙上好几辈子。选择如何分配你的注意力,这有助于确定你“不想”关注什么。

要做出改变,开发的广度和深度都很重要。找到正确的平衡是一门随着时间而发展的艺术。广度增加了对新概念的接触,并有助于确定哪些工作是相关的。为了提出一种改进代码库的PR,理解更大的背景与深入研究一个方面并充分熟悉所提议的变更集一样重要。

人们喜欢推荐的东西总是会超出你的阅读、理解、消化和学习范围……我在上面已经这样做过了——我推荐了3本书,2个无穷无尽的材料清单,还有一个周报。当你与他人交流时,你也会面临潜在的压力,因为你需要对大量的话题有足够的了解,以便在任何对话中都有所贡献。这对广度来说很好,但只有你才能创造出追求深度的道路。要提交一个PR,你需要开发特定的知识,让你提供改变。不要停留在“消化”阶段,专注将确保你继续“创造”的阶段。

动态 | 芬兰海关对如何处理缴获的比特币感到困惑:金色财经报道,芬兰财政部下属的海关一直在考虑如何处理几年前从贩手中缴获的1666枚比特币。据悉,芬兰海关不想拍卖没收的比特币,因为可能会将其返还给犯罪分子。这些比特币在没收的时候价值不到70万欧元(约合76万美元)。根据Coin360的数据,截至目前,这1666枚比特币的价值接近1500万欧元(超过1550万美元)。据报道,该机构最初计划在2018年拍卖这些资金,但最终以“反”为由冻结了这些比特币。报告指出,除了持有超过1500万美元的比特币外,芬兰海关还持有一些价值数百万欧元的山寨币。[2020/2/26]

如果你不是整天都在研究比特币,这一点就更重要了。这是一个非常复杂的项目。需要创造空间。即使是看起来很简单的任务也需要一段时间。

好了,人生忠告够多了了。现在开始说项目细节……

熟悉代码库

复制代码库,进行编译和测试。

通读项目开发人员文档:

1.ContributingtoBitcoinCore指南是入门的基本知识,包括pullrequest和审查过程如何工作。

2.《开发者笔记》是很好的精读指南,在开启一个PR之前,重读这个笔记,以确保你符合当前的标准。

3.ProductivityNotes的技巧在开发工作流程的不同时段非常有用。我强烈建议立即执行前四个步骤。

阅读JimmySong和JohnNewbery写的入门文章。

声音 | 前FDIC主席:对Libra有些担忧 不知道其如何利用获得的资 金:据CCN消息,前联邦存款保险公司(FDIC)主席Sheila Bair在接受CNBC采访时对Libra提出了一些担忧,“如果我给他们一些钱去买Libra,他们会用这些钱做什么?他们在白皮书中对此有点模糊……抵押品的实力是我会问的一个问题。”尽管Libra声称自己是未来的稳定币,但尚不清楚Facebook将如何利用其外汇储备管理投资。 Bair后来重申了她关于美联储支持的加密货币的想法,然而,这一想法并没有实现。政府通常对新技术的吸收很慢,但如果成功的话,Libra可能会改变这一切。[2019/6/19]

参加每周的PR审查。审查PR对项目来说至关重要。更重要的是,这在最开始,是了解代码库和合并过程的有效方法。PR审查是在别人的帮助下熟悉特定变更集的一种方式。你从PR审查获得的价值是你愿意投入精力的直接产物。每周的参与有助于提高对技术架构和历史环境等模式的认识,独立开发需要更长的时间。无论你选择参与这样的活动,还是仅仅潜水,或花时间探索代码,你肯定会学到很多东西。提前准备可以让你利用这段时间来发文或树立你理解代码的信心。

找到你的第一个PR

当你开始适应代码库时,你可能觉得自己已经准备好提交PR了,但是不确定如何选择对项目有价值的贡献。到目前为止,这篇文章中提到的各种方法都很有可能帮助你找到一个有意义的内容。但如果你还在寻找,这里有一些其他的选择:

时刻关注goodfirstissue和upforgrabs。

声音 | 虫哥:不管市场如何 两个原因让我对比特币的信仰不会变:今天江西世星科技在江西抚州才都电子科技产业园举行厂区开业典礼。原壹比特创始人、亿算科技创始人虫哥分享称,半导体芯片在人才集中的大城市完成研发,然后在内地城市落地更划算。而其目前关注两块业务。第一是从近阈值技术研发高算力低功耗制定芯片。第二,研发 POC容量证明这类新型的绿色环保节能 POW挖矿共识机制。2018年数字货币进入寒冬,但他依然拥有坚定信念,理由有两个。其一,比特币第一次用密码学确保了个人数字资产不可侵犯。第二,比特币基于去中心化、数量有限、不可伪造等特点,是极具流动性的、可抵御通货膨胀的收藏品。[2019/1/11]

搜索带有“TODO”的代码库,并进行解析,以查看是否有你熟悉且可用的代码库。我在测试中遇到过一些看起来对初学者很友好的。

选择代码库的一个部分,并注意正在打开的相关PR。如果你跟进了PR内容,你肯定会注意到接下来要做的事情。同时,批判性地思考如何测试这些变化。打开PR来跟进处理和增加测试覆盖率将是最佳选择。你还可以访问pr-review-clubhistory来熟悉某个部分。

开源贡献的本质意味着没有中心化的项目管理系统。因此,有些对项目有用的变更集不一定是对PR作者注意力和技能的最佳利用。因此,作为一名贡献者,在你的学习曲线上找出有用的贡献是你工作的一部分。我的第一个PR是通过up-for-grabs找到的。

我很惊讶地发现有这么多举手之劳可以做。在仔细查看Github项目之前,我从来没有想到会这样。

现场 | 降维安全CTO:交易所应该如何保护数字资产:12月16日,由ChainUP主办,节点资本等联合主办的“Future BlockChain”全球行活动在韩国举办。降维安全CTO在会议中表示,交易所主要面临Hacker、恶意量化团队、恶意用户、恶意项目方这些外部攻击。具体到黑客攻击有以下四点:DoS勒索、Web渗透/APT社会工程学攻击以及利用区块链项目自身的漏洞进行攻击。据降维安全统计,交易所应用(不涉及期货合约)风险,共有5大类,14个子类,68个风险点。他表示:专业的事情应该交给专业的人做,选择专业的交易所系统和专业的安全服务商,非常重要。[2018/12/16]

从伴随着BitcoinCore的“街头形象”来看,很难想象做贡献是多么容易。留意不间断的待办事项清单,确实让我们看到了比特币项目是多么年轻,以及对更多贡献者的紧迫需求。

利用互联网来进行进一步学习

当我开始学习C++语言的时候,我拿到了一些很棒的书,但是说实话,我仍然在努力阅读它们。

动手学习对我来说最有效,我专注于学习语言中最相关的部分,这样我就可以读懂BitcoinCore代码库。

所以,我会写代码。当我遇到一个新的C++概念时,我会读文档并试图在一个示例程序中将这个函数拎出来看。我会保持tmux制表打开状态,方便调用c++play。这些程序还可以作为我修改过的概念的文档。另一个很棒的工具是CompilerExplorer。我发现颜色编码对于比较执行相同函数的多种方法特别有帮助,可以看出这些差异是表面的、优化出来的,还是从根本上改变了所做的工作。

为了更深入地研究具体的C++概念,我一直很喜欢观看CppContalks,尤其是“BackToBasics”这一系列。

这是一个好的开始,但有时我想和人说话。最初,我有时会对一些符号有疑问,但我不知道如何用谷歌来搜索。目前,我更想确认我对文档的理解是否正确。

我发现了一些很棒的在线社区,有陌生人愿意帮助我找到正确的方向。关于C++有一个cpplangslack,一个##c++-general交流渠道,还有discord上的#include<c++>社区。在网络上,陌生人给予的帮助令我十分惊讶。

两个注意事项:

1.我鼓励寻求帮助,但要有礼貌,并且思虑周全。做尽职调查,首先尝试自己找到答案。礼貌地使用适合你的问题的沟通渠道。人们不欠你答案。提供任何帮助都是出于慷慨。

2.选择聊天客户端:我发现irccloud是一个简单、美观的客户端,而且是免费的。还可以选择支付少量的费用永久保留用户名和日志。这样的客户端有很多选择,但是我建议你将你的决策能力集中在更重要的事情上,尽可能快地选择客户端。

我最喜欢的比特币资源在这篇文章中随处可见,但这里有一些我想要强调的代码:

P2P消息和RPC的开发者参考

Bitcoinstackexchange有专门针对协议开发的讨论,涉及各种问题和答案。这个网站在谷歌很难搜到,所以最好直接访问

FabianJahr编写了一个关于调试技术的完整文档

我喜欢看JamesO’Beirne的架构概述

如果你正在努力学习一个技术概念,不确定要尝试什么,请联系我!我肯定不知道所有的答案,但我很高兴能集思广益为你找到解决方案。

更多了解比特币的途径

有很多很棒的方法可以增加你对比特币生态系统发展的了解。以下是一些热门的选择:

UTC时间每周四19:00在#bitcoin-core-dev会举行会议

#bitcoin-core-pr-reviews频道有时候会讨论进程和工具,关注这个频道会有所帮助

重新看看ChaincodeLabs的比特币课程,那里有很多很棒的素材——演讲、论文、甚至是代码挑战

参加高质量的会议

观看之前会议的视频。我在上下班的路上看了BitcoinEdgeDev++的视频,学到了很多

如果可以的话,参加Socraticseminar

阅读比特币维基,尤其是协议和隐私页面

Chaincode最近做了一个播客频道

熟悉比特币协议不是一件简单的事情,尤其是如果你有其他的事要做,比如一份全职工作或还是学生。我用间隔记忆法来记住新信息。我强烈推荐这个方式。它有助于催化持久记忆信息的能力,这样你就可以花更多的时间来获取新的概念或应用你所学到的知识。这样做还有其他好处,即可以随时进行概念学习,并可以将任何空闲时间都花在代码库的特定任务上。

密切关注Chaincode培训项目。我去年夏天有幸参加了这个项目,这改变了我的工作方式。但请记住,这是一个门槛很高的项目,你对BitcoinCore的贡献程度越高会增加你被接受的几率。

说真的,快行动吧

为BitcoinCore做贡献是很难的,但并非完全不可能。在开始这段旅程之前,我从来没有写过任何C++代码。害怕是很自然的,但不要让这种情绪阻止你。

对自己要有耐心。我为BitcoinCore做的贡献很多都需要花很多时间。有一次,我在集成测试中花了整整3天的时间,重复了用交易填充内存池的不同方法。我最初的几次尝试要求的测试时间长得很不合理,所以我不得不尝试不同的方法。不要陷入一种“这应该很容易”的假象。专注于你能学到的,并不断尝试。

刚开始的时候,“BitcoinCore”和“核心贡献者”很容易让人觉得这是一个庞大而神秘的组织,不可能参与其中。我惊喜地发现人们是多么乐于助人和支持我。每个在项目中工作的人都受到极大的带宽限制,所以如果你做出了有意义的贡献,大家是会支持你的。

这是很重要的。不要一开始就纠正PR中的拼写错误。要有耐心,在你的学习上投入,观察这个项目,并确定你如何才能做出有意义的贡献。

无论你处于学习曲线的哪个位置,你都可以成为这个项目的资产。如果你愿意贡献你的精力,并且有能力批判性地思考和学习,你就是一笔财富。不要让傲慢或不安全感把你引入歧途。

一些异想天开的思考……

如果我们要描绘出各种各样的学习路径来为BitcoinCore做贡献,它肯定不会像区块链那样有序和线性。追求你自己的旅程,享受路上的风景,玩得开心。

在开源领域的探索让我想起了越野背包旅行。

在背包旅行中,我首先在一张地形图上查看我想去的地方,然后画出我计划旅行的大致路线,尽量待在最平缓的地形上。由于比特币是新兴领域,可能在地图上还找不到。因此,在浏览比特币时,你首先必须用一些理解的片段拼凑出该地区的大致地图,然后制定出一种方法。我希望这篇文章能让这个过程变得简单一些。

徒步旅行的实际路线需要不断的迭代。每走一步,你都会获得新的信息,你可以利用这些信息来确定难度最小的路径,这样你就可以利用你的能量深入山区进行探险。你要注意每一步的细节,还要注意宏观路线。

这一过程与比特币领域的探索类似。当你学到更多,你会对未来的地形有不同的看法,必须不断选择正确的路线,以保持自己的合理前进。有时你会撞上悬崖,不得不回头尝试另一条路。寻找路线需要大量的精力和注意力。你必须是一个航海家和一个徒步旅行者。

我可以再深入谈谈我的经历,让这篇文章变得更长,但是,我将这样结尾:

祝你好运!希望在GitHub见到你的身影:)

标签:OINCOICOINBITLanaCoincoincheck交易平台怎么下载TomTom Coinbybit交易所提币好提吗

莱特币最新价格热门资讯
比特币:你是在低位埋伏,还是高位追涨?

在12日凌晨比特币的价格再次站上了10000美元,这是继2月9日比特币第一次站上10000美元大关经历短暂下探后,再次站上10000美元大关.

1900/1/1 0:00:00
velas:关于开放VLX(Velas)充值及其交易的公告

尊敬的EXX用户:您好!根据市场的情况及用户的建议,EXX将于香港时间2020年2月17日10:00开放VLX的充值业务.

1900/1/1 0:00:00
HTT:关于BKT即将上线法拉第的公告

尊敬的用户:BKT即将上线法拉第交易所,并开通BKT/USDT交易对。具体上线时间为:开启充提:2月21日10:30开放交易:2月22日10:30开盘价格:0.0014USDT币种介绍:代币名称.

1900/1/1 0:00:00
NEX:?第十一期积分上币项目BHT正式登陆DigiFinex

亲爱的用户DigiFinex于2020年01月17日23:59:59(GMT8)正式结束了第十一期积分上币活动.

1900/1/1 0:00:00
XRP:Ripple前CTO Jed McCaleb:自己对XRP的出售不会扰乱加密市场

据Cointelegraph报道,Ripple前CTOJedMcCaleb日前在接受Cointelegraph采访时表示,这么多人关注他最近交易的XRP很奇怪,因为相比之下.

1900/1/1 0:00:00
COI:FCoin交易所张建到底是被谋杀?还是借口跑路?

出品/Blockeye文编/麦当劳“天有不测风云,人有旦夕祸福”。想想2020这一年,出乎意料的意外远远超过了难以想象,在币圈的大家也没闲着,出乎意料的也很多,比如黑暗中的BTC突然见到了阳光,

1900/1/1 0:00:00