福彩快三网站 如何成为Bitcoin Core贡献者?最全的比特币开发者指南都在这边了 | BTC

福彩快三
福彩快三网站
栏目导航
当前位置:福彩快三 > 福彩快三网站 >
福彩快三网站 如何成为Bitcoin Core贡献者?最全的比特币开发者指南都在这边了 | BTC
浏览:188 发布日期:2020-08-13

写在前线:本文作者为Amiti Uttarwar,是Bitcoin Core开发者,就职于Xapo,曾是Coinbase的柔件工程师。按照自身的经历,她在文章平分享了为比特币做贡献的秘籍,其中包含了大量的学习原料,干货满满,对有必要的人来说很有协助。P.S. 这是个特出的幼姐姐哦~

clifford-photography-sk7rRsDuqVQ-unsplash

在以前的一年里,吾进入了为Bitcoin Core做贡献的稀奇兔子洞。在这个过程中,吾很幸运地从很众人那里得到了请示和声援,吾本身也学到了一些技巧。在这篇文章中,吾想分享一些吾发现的有效工具。

成为Bitcoin Core贡献者只是协助推进这个制定的其中一栽手段。其他选择包括(并且远远超出)参与邮件列外商议、钻研抨击向量或扩容技术、为闪电网络客户端做贡献,或开发有关工具,如secpk256k1代码库或更好的测试基础设施。但这篇文章不涉及这些话题。

这篇文章是关于Bitcoin Core的,议决吾的体验,吾期待它能协助你找到本身的贡献手段。

  最先之前  

最先,读白皮书。讲真,倘若你还异国读过,那就别望这篇文章了,直接往读白皮书吧。

理解比特币运作的基础概念是必要的。晓畅的渠道有很众。吾会从读其中一本书最先(Mastering Bitcoin、Programming Bitcoin或Grokking Bitcoin)。倘若是线上原料,吾会访问Jameson Lopp的资源列外或Chaincode实验室的课程。前者更宽泛,但后者特意针对制定开发。

倘若你的现在标是为Bitcoin Core做出贡献,不要试图学习每个概念的细节。有很众主题的差别不大。现在标是获得高层次的理解,并接触体系的迥异片面。彻底消化这个分布式共识体系的基本原理是必要时间的。

Bitcoin Optech周报是晓畅生态体系技术发展的“最好”手段。Dave Harding在保证其更新。吾凶猛保举订阅这个内容。

  选择屏舍什么  

一旦你决定为Bitcoin Core做出贡献,这个过程就不会中止。这个项现在有有余的复杂度和开发做事,足以让任何人忙上好几辈子。选择如何分配你的仔细力,这有助于确定你“不想”关注什么(起码现在不想)。

要做出转折,开发的广度和深度都很主要。找到准确的均衡是一门随着时间而发展的艺术。广度增补了对新概念的接触福彩快三网站,并有助于确定哪些做事是有关的。为了挑出一栽改进代码库的PR(Pull Request福彩快三网站,相符并代码乞求)福彩快三网站,理解更大的背景与深入钻研一个方面并足够熟识所挑议的变更集相通主要。

人们爱保举的东西总是会超出你的涉猎、理解、消化和学习周围……吾在上面已经如许做过了——吾保举了3本书,2个无穷无尽的原料清单,还有一个周报。当你与他人交流时,你也会面临湮没的压力,由于你必要对大量的话题有有余的晓畅,以便在任何对话中都有所贡献。这对广度来说很好,但只有你才能创造出探索深度的道路。要挑交一个PR,你必要开发特定的知识,让你挑供转折。不要中止在“消化”阶段,凝神将确保你不息“创造”的阶段。

倘若你不是镇日都在钻研比特币,这一点就更主要了。这是一个特意复杂的项现在。必要创造空间。即使是望首来很浅易的义务也必要一段时间。

好了,人生忠言够众了了。现在最先说项现在细节……

  熟识代码库   复制代码库,进走编译和测试。 通读项现在开发人员文档: 1. Contributing to Bitcoin Core指南是入门的基本知识,包括pull request和审阅过程如何做事。

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

3. Productivity Notes的技巧在开发做事流程的迥异时段特意有效。吾凶猛提出立即实走前四个步骤(安设ccache,实走./configure,行使make -j [num-cores]编译,并生成构建现在标)。

涉猎Jimmy Song和John Newbery写的入门文章。

参添每周的PR审阅。审阅PR对项现在来说至关主要。更主要的是,这在最最先,是晓畅代码库和相符并过程的有效手段。PR审阅是在别人的协助下熟识特定变更集的一栽手段。你从PR审阅获得的价值是你情愿投入精力的直接产物。每周的参与有助于挑高对技术架议和历史环境等模式的意识,自力开发必要更长的时间。不论你选择参与如许的运动,照样仅仅潜水,或花时间探索代码,你一定会学到很众东西。挑前准备能够让你行使这段时间来发文或竖立你理解代码的信念。

  找到你的第一个PR  

当你最先体面代码库时,你能够觉得本身已经准备好挑交PR了,但是不确定如何选择对项现在有价值的贡献。到现在为止,这篇文章中挑到的各栽手段都很有能够协助你找到一个有意义的内容。但倘若你还在寻觅,这边有一些其他的选择: 时刻关注good first issue和up for grabs。 搜索带有“TODO”的代码库,并进走解析,以查望是否有你熟识且可用的代码库。吾在测试中遇到过一些望首来对初学者很友谊的。 选择代码库的一个片面(也就是贡献文档中的一个片面),并仔细正在掀开的有关PR。倘若你跟进了PR内容,你一定会仔细到接下来要做的事情。同时,指斥性地思考如何测试这些转折。掀开PR来跟进处理和增补测试遮盖率将是最好选择。你还能够访问pr-review-club history来熟识某个片面。 开源贡献的内心意味着异国中央化的项现在管理体系。因此,有些对项现在有效的变更集纷歧定是对PR作者仔细力和技能的最好行使。因此,行为别名贡献者,在你的学习弯线上找出有效的贡献是你做事的一片面。吾的第一个PR是议决up-for-grabs找到的。

吾很惊讶地发现有这么众举手之劳能够做。在仔细查望Github项现在之前,吾从来异国想到会如许。

从陪同着Bitcoin Core的“街头现象”来望,很难想象做贡献是众么容易。属意不中止的(浅易和复杂的)待做事项清单,实在让吾们望到了比特币项现在是众么年轻,以及对更众贡献者的紧迫需求。

  行使互联网来进走进一步学习  

当吾最先学习C++语言的时候,吾拿到了一些很棒的书,但是说实话,吾照样在辛勤涉猎它们。

脱手学习对吾来说最有效,吾凝神于学习语言中最有关的片面,如许吾就能够读懂Bitcoin Core代码库。

以是,吾会写代码。当吾遇到一个新的C++概念时,吾会读文档并试图在一个示例程序中将这个函数拎出来望。吾会保持tmux制外掀开状态,福彩快三网站方便调用c++ play。这些程序还能够行为吾修改过的概念的文档。另一个很棒的工具是Compiler Explorer。吾发现颜色编码对于比较实走相通函数的众栽手段稀奇有协助,能够望出这些迥异是形式的、优化出来的,照样从根本上转折了所做的做事。

为了更深入地钻研详细的C++概念,吾一向很爱不雅旁观CppCon talks,尤其是“Back To Basics”这一系列。

这是一个好的最先,但未必吾想和人语言。最初,吾未必会对一些符号有疑问,但吾不清新如何用谷歌来搜索。现在,吾更想确认吾对文档的理解是否准确。

吾发现了一些很棒的在线社区,有生硬人情愿协助吾找到准确的倾向。关于C++有一个cpplang slack,一个## c++ -general交流渠道,还有discord上的#include< c++ >社区。在网络上,生硬人给予的协助令吾相等惊讶。

两个仔细事项:

1. 吾鼓励寻求协助,但要有礼貌,并且思虑周详。做尽职调查,最先尝试本身找到答案。礼貌地行使正当你的题目的疏导渠道。人们不欠你答案。挑供任何协助都是出于慷慨。

2. 选择座谈客户端:吾发现irccloud是一个浅易、美不悦目的客户端,而且是免费的。还能够选择支付幼批的费用长期保留用户名和日志。如许的客户端有很众选择,但是吾提出你将你的决策能力荟萃在更主要的事情上,尽能够快地选择客户端。

吾最爱的比特币资源在这篇文章中随处可见,但这边有一些吾想要强调的代码: P2P新闻和RPC(长途过程调用)的开发者参考 Bitcoin stack exchange有特意针对制定开发的商议,涉及各栽题目和答案。这个网站在谷歌很难搜到,以是最好直接访问 Fabian Jahr编写了一个关于调试技术的完善文档[演讲] [要点] 吾爱望James O’Beirne的架构概述[演讲]  [幻灯片] 倘若你正在辛勤学习一个技术概念,不确定要尝试什么,请有关吾!吾一定不清新一切的答案,但吾很起劲能集思广好为你找到解决方案。

  更众晓畅比特币的途径  

有很众很棒的手段能够增补你对比特币生态体系发展的晓畅。以下是一些炎门的选择: UTC时间每周四19:00在#bitcoin-core-dev会举走会议 #bitcoin-core-pr-reviews频道未必候会商议进程和工具,关注这个频道会有所协助 重新望望Chaincode Labs的比特币课程,那里有很众很棒的素材——演讲、论文、甚至是代码挑衅 参添高质量的会议 不雅旁观之前会议的视频。吾在上放工的路上望了Bitcoin Edge Dev++ [2017] [2018] 的视频,学到了很众 倘若能够的话,参添Socratic seminar 涉猎比特币维基,尤其是制定和隐私页面 Chaincode比来做了一个播客频道 熟识比特币制定不是一件浅易的事情,尤其是倘若你有其他的事要做,比如一份全职做事或照样门生。吾用阻隔记忆法来记住新新闻。吾凶猛保举这个手段。它有助于催化持久记忆新闻的能力,如许你就能够花更众的时间来获取新的概念或行使你所学到的知识。如许做还有其他益处,即能够随时进走概念学习,并能够将任何余暇时间都花在代码库的特定义务上。

亲昵关注Chaincode培训项现在。吾往年夏季有幸参添了这个项现在,这转折了吾的做事手段。但请记住,这是一个门槛很高的项现在,你对Bitcoin Core的贡献水平越高会增补你被批准的几率(参添代码审阅、审阅PR、挑交PR等等)。

  说真的,快走动吧  

为Bitcoin Core做贡献是很难的,但并非十足不能够。在最先这段旅程之前,吾从来异国写过(甚至读过)任何C++代码。勇敢是很自然的,但不要让这栽情感不准你。

对本身要有耐性。吾为Bitcoin Core做的贡献很众都必要花很众时间。有一次,吾在集成测试中花了整整3天的时间,重复了用营业填充内存池的迥异手段。吾最初的几次尝试请求的测试时间长得很分歧理,以是吾不得不尝试迥异的手段。不要陷入一栽“这答该很容易”的伪象。凝神于你能学到的,并一向尝试。

刚最先的时候,“Bitcoin Core”和“中央贡献者”很容易让人觉得这是一个重大而奥秘的机关,不能够参与其中。吾惊喜地发现人们是众么笑于助人和声援吾。每个在项现在中做事的人都受到极大的带宽局限,以是倘若你做出了有意义的贡献,行家是会声援你的。

这是很主要的。不要一路先就纠正PR中的拼写舛讹。要有耐性,在你的学习上投入,不悦目察这个项现在,并确定你如何才能做出有意义的贡献。

不论你处于学习弯线的哪个位置,你都能够成为这个项主意资产。倘若你情愿贡献你的精力,并且有能力指斥性地思考和学习,你就是一笔财富。不要让傲岸或担心然感把你引入正路。

  一些异想天开的思考……  

倘若吾们要描绘出各栽各样的学习路径来为Bitcoin Core做贡献,它一定不会像区块链那样有序和线性。探索你本身的旅程,享福路上的风景,玩得喜悦。

在开源周围的探索让吾想首了越野背包旅走。

在背包旅走中,吾最先在一张地形图上查望吾想往的地方,然后画出吾计划旅走的大致路线,尽量待在最平展的地形上。由于比特币是新兴周围,能够在地图上还找不到。因此,在涉猎比特币时,你最先必须用一些理解的片段拼集出该地区的大致地图,然后制定出一栽手段。吾期待这篇文章能让这个过程变得浅易一些。

徒步旅走的实际路线必要一向的迭代。每走一步,你都会获得新的新闻,你能够行使这些新闻来确定难度最幼的路径,如许你就能够行使你的能量深入山区进走探险。你要仔细每一步的细节,还要仔细宏不悦目路线。

这一过程与比特币周围的探索相通。当你学到更众,你会对异日的地形有迥异的望法,必须一向选择准确的路线,以保持本身的相符理提高。未必你会撞上悬崖,不得不回头尝试另一条路。寻觅路线必要大量的精力和仔细力。你必须是一个航海家和一个徒步旅走者。

吾能够再深入谈谈吾的经历,让这篇文章变得更长,但是,吾将如许末了:

祝你幸运!期待在GitHub见到你的身影:)