寫在前面:本文作者為AmitiUttarwar,是BitcoinCore開發者,就職于Xapo,曾是Coinbase的軟件工程師。根據自身的經歷,她在文章中分享了為比特幣做貢獻的秘籍,其中包含了大量的學習資料,干貨滿滿,對有需要的人來說很有幫助。P.S.這是個優秀的小姐姐哦~
在過去的一年里,我進入了為BitcoinCore做貢獻的奇妙兔子洞。在這個過程中,我很幸運地從許多人那里得到了指導和支持,我自己也學到了一些技巧。在這篇文章中,我想分享一些我發現的有效工具。
成為BitcoinCore貢獻者只是幫助推進這個協議的其中一種方式。其他選擇包括參與郵件列表討論、研究攻擊向量或擴容技術、為閃電網絡客戶端做貢獻,或開發相關工具,如secpk256k1代碼庫或更好的測試基礎設施。但這篇文章不涉及這些話題。
這篇文章是關于BitcoinCore的,通過我的體驗,我希望它能幫助你找到自己的貢獻方式。
開始之前
首先,讀白皮書。講真,如果你還沒有讀過,那就別看這篇文章了,直接去讀白皮書吧。
理解比特幣運作的基礎概念是必要的。了解的渠道有很多。我會從讀其中一本書開始。如果是線上資料,我會訪問JamesonLopp的資源列表或Chaincode實驗室的課程。前者更寬泛,但后者專門針對協議開發。
如果你的目標是為BitcoinCore做出貢獻,不要試圖學習每個概念的細節。有許多主題的差別不大。目標是獲得高層次的理解,并接觸系統的不同部分。徹底消化這個分布式共識系統的基本原理是需要時間的。
Terra 2.0 社區已啟動就有關如何分配 0.5% 應急資金提案的投票:6月9日消息,Terra 2.0 社區已啟動就有關如何分配 0.5% 應急資金提案的投票,該提案建議將這部分資金分配給在 Terra Classic 上推出過符合市場需求的產品,包括產生了一定量的 TVL 和沒有產生 TVL 的項目以及尚未推出過符合市場需求產品的項目,并提議向以上三類項目分別分配 250 萬枚 LUNA、100 萬枚 LUNA 和 150 萬枚 LUNA。此外,該提案建議組件一個由部分 Terra 社區的長期成員組成的理事會監督分配工作。[2022/6/9 4:13:09]
BitcoinOptech周報是了解生態系統技術發展的“最佳”方式。DaveHarding在保證其更新。我強烈推薦訂閱這個內容。
選擇放棄什么
一旦你決定為BitcoinCore做出貢獻,這個過程就不會停止。這個項目有足夠的復雜度和開發工作,足以讓任何人忙上好幾輩子。選擇如何分配你的注意力,這有助于確定你“不想”關注什么。
要做出改變,開發的廣度和深度都很重要。找到正確的平衡是一門隨著時間而發展的藝術。廣度增加了對新概念的接觸,并有助于確定哪些工作是相關的。為了提出一種改進代碼庫的PR,理解更大的背景與深入研究一個方面并充分熟悉所提議的變更集一樣重要。
人們喜歡推薦的東西總是會超出你的閱讀、理解、消化和學習范圍……我在上面已經這樣做過了——我推薦了3本書,2個無窮無盡的材料清單,還有一個周報。當你與他人交流時,你也會面臨潛在的壓力,因為你需要對大量的話題有足夠的了解,以便在任何對話中都有所貢獻。這對廣度來說很好,但只有你才能創造出追求深度的道路。要提交一個PR,你需要開發特定的知識,讓你提供改變。不要停留在“消化”階段,專注將確保你繼續“創造”的階段。
美聯儲威廉姆斯:加息的時機和速度將取決于通貨膨脹和經濟如何發展:美聯儲威廉姆斯:加息的時機和速度將取決于通貨膨脹和經濟如何發展。美聯儲在看到勞動力市場大幅改善和高通脹后,采取加息和取消寬松政策是有道理的。 (金十)[2022/1/15 8:50:19]
如果你不是整天都在研究比特幣,這一點就更重要了。這是一個非常復雜的項目。需要創造空間。即使是看起來很簡單的任務也需要一段時間。
好了,人生忠告夠多了了。現在開始說項目細節……
熟悉代碼庫
復制代碼庫,進行編譯和測試。
通讀項目開發人員文檔:
1.ContributingtoBitcoinCore指南是入門的基本知識,包括pullrequest和審查過程如何工作。
2.《開發者筆記》是很好的精讀指南,在開啟一個PR之前,重讀這個筆記,以確保你符合當前的標準。
3.ProductivityNotes的技巧在開發工作流程的不同時段非常有用。我強烈建議立即執行前四個步驟。
閱讀JimmySong和JohnNewbery寫的入門文章。
參加每周的PR審查。審查PR對項目來說至關重要。更重要的是,這在最開始,是了解代碼庫和合并過程的有效方法。PR審查是在別人的幫助下熟悉特定變更集的一種方式。你從PR審查獲得的價值是你愿意投入精力的直接產物。每周的參與有助于提高對技術架構和歷史環境等模式的認識,獨立開發需要更長的時間。無論你選擇參與這樣的活動,還是僅僅潛水,或花時間探索代碼,你肯定會學到很多東西。提前準備可以讓你利用這段時間來發文或樹立你理解代碼的信心。
美國國會研究人員:立法者需考慮數字貨幣立法將如何影響美元:金色財經報道,美國國會研究服務局在其題為“美元作為世界主要儲備貨幣”的報告中稱,不斷增長的加密貨幣空間的影響并沒有引起任何與美元地位有關的重大擔憂。報告承認,盡管“加密貨幣仍然是一個小而動蕩的利基市場”,但中央銀行數字貨幣(CBDC)正在興起。報告指出,迄今為止,尚無證據表明美元已脫離主要儲備貨幣。但是,國會不妨考慮一下包括制裁和數字貨幣在內的一系列政策領域的立法將如何影響美元。[2020/12/22 16:03:19]
找到你的第一個PR
當你開始適應代碼庫時,你可能覺得自己已經準備好提交PR了,但是不確定如何選擇對項目有價值的貢獻。到目前為止,這篇文章中提到的各種方法都很有可能幫助你找到一個有意義的內容。但如果你還在尋找,這里有一些其他的選擇:
時刻關注goodfirstissue和upforgrabs。
搜索帶有“TODO”的代碼庫,并進行解析,以查看是否有你熟悉且可用的代碼庫。我在測試中遇到過一些看起來對初學者很友好的。
選擇代碼庫的一個部分,并注意正在打開的相關PR。如果你跟進了PR內容,你肯定會注意到接下來要做的事情。同時,批判性地思考如何測試這些變化。打開PR來跟進處理和增加測試覆蓋率將是最佳選擇。你還可以訪問pr-review-clubhistory來熟悉某個部分。
開源貢獻的本質意味著沒有中心化的項目管理系統。因此,有些對項目有用的變更集不一定是對PR作者注意力和技能的最佳利用。因此,作為一名貢獻者,在你的學習曲線上找出有用的貢獻是你工作的一部分。我的第一個PR是通過up-for-grabs找到的。
Craig Wright:PoW是指導網絡存在分歧時如何行動的信號:Craig Wright在其最新的博客文章中解釋了為什么工作量證明(Proof-of-Work,PoW)是至關重要的。他表示,工作量證明是一種重要的信號,它告訴網絡上的節點,當網絡上存在分歧時,該如何行動。重要的是要區分這些節點不是對網絡規則投票,而是執行規則。他說,“工作量證明是一種經濟信號,從理論上講是從游戲的角度去激勵玩家的誠實行為,或者提供一種懲罰機制。”[2020/8/20]
我很驚訝地發現有這么多舉手之勞可以做。在仔細查看Github項目之前,我從來沒有想到會這樣。
從伴隨著BitcoinCore的“街頭形象”來看,很難想象做貢獻是多么容易。留意不間斷的待辦事項清單,確實讓我們看到了比特幣項目是多么年輕,以及對更多貢獻者的緊迫需求。
利用互聯網來進行進一步學習
當我開始學習C++語言的時候,我拿到了一些很棒的書,但是說實話,我仍然在努力閱讀它們。
動手學習對我來說最有效,我專注于學習語言中最相關的部分,這樣我就可以讀懂BitcoinCore代碼庫。
所以,我會寫代碼。當我遇到一個新的C++概念時,我會讀文檔并試圖在一個示例程序中將這個函數拎出來看。我會保持tmux制表打開狀態,方便調用c++play。這些程序還可以作為我修改過的概念的文檔。另一個很棒的工具是CompilerExplorer。我發現顏色編碼對于比較執行相同函數的多種方法特別有幫助,可以看出這些差異是表面的、優化出來的,還是從根本上改變了所做的工作。
傳真格基金創始人徐小平呼吁各CEO了解區塊鏈 學習如何擁抱這場革命:據某互聯網知名博主爆料,真格基金創始人徐小平在真格基金投資組合微信群呼吁各CEO積極了解區塊鏈,并立即動員全體高管和員工,學習如何擁抱這場革命。[2018/1/9]
為了更深入地研究具體的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見到你的身影:)
BTC今日凌晨持續震蕩拉升,最高漲至10377.60美元,隨后出現快速下跌,最低跌至10285.38美元后反彈,目前整體持續在10300美元附近窄幅整理,主流幣多數上漲.
1900/1/1 0:00:00親愛的BKEXer: BKEXGlobal將于2020年2月20日20:30上線USDT保證金永續合約,歡迎新老用戶體驗和使用.
1900/1/1 0:00:00DearLOExusers:ONLYhascompletedthemainnetupgrade.Attherequestoftheprojectparty.
1900/1/1 0:00:00上周六晚間,短暫快速地站上10000美元后,帶著市場的期許和猜測,比特幣價格調頭向下。以gate.io價格為例,2月13日,比特幣價格達到近期最高點10498美元后開始回落,2月17日22:00.
1900/1/1 0:00:002月18日晚7點,IPFS小幸福社群圍繞關于IPFS、Filecoin與原力區三方面,進行激烈探討,IPFS原力區黑哥等進行交流與回答,具體問題和答案已經整理完畢,供大家學習交流.
1900/1/1 0:00:00大幣網作為全球領先的金融服務品臺,具備瑞士證券交易所級別的安全技術架構,大幣網交易杠桿ETF的核心優勢包括: 1、交易費率極低 啟明創投完成第七期人民幣基金的募資.
1900/1/1 0:00:00