寫在前面:本文作者為AmitiUttarwar,是BitcoinCore開發者,就職于Xapo,曾是Coinbase的軟件工程師。根據自身的經歷,她在文章中分享了為比特幣做貢獻的秘籍,其中包含了大量的學習資料,干貨滿滿,對有需要的人來說很有幫助。P.S.這是個優秀的小姐姐哦~
在過去的一年里,我進入了為BitcoinCore做貢獻的奇妙兔子洞。在這個過程中,我很幸運地從許多人那里得到了指導和支持,我自己也學到了一些技巧。在這篇文章中,我想分享一些我發現的有效工具。
成為BitcoinCore貢獻者只是幫助推進這個協議的其中一種方式。其他選擇包括參與郵件列表討論、研究攻擊向量或擴容技術、為閃電網絡客戶端做貢獻,或開發相關工具,如secpk256k1代碼庫或更好的測試基礎設施。但這篇文章不涉及這些話題。
這篇文章是關于BitcoinCore的,通過我的體驗,我希望它能幫助你找到自己的貢獻方式。
開始之前
首先,讀白皮書。講真,如果你還沒有讀過,那就別看這篇文章了,直接去讀白皮書吧。
理解比特幣運作的基礎概念是必要的。了解的渠道有很多。我會從讀其中一本書開始。如果是線上資料,我會訪問JamesonLopp的資源列表或Chaincode實驗室的課程。前者更寬泛,但后者專門針對協議開發。
如果你的目標是為BitcoinCore做出貢獻,不要試圖學習每個概念的細節。有許多主題的差別不大。目標是獲得高層次的理解,并接觸系統的不同部分。徹底消化這個分布式共識系統的基本原理是需要時間的。
迪士尼CEO:過去一年一直在探索如何利用Web3技術:9月14日消息,在迪士尼兩年一度的 D23 Expo 大會上,該公司首席執行官鮑勃·查佩克稱迪士尼正在繼續探索和制定虛擬世界計劃,而且在過去一年時間里一直在悄悄探索如何利用 Web3 技術。鮑勃·查佩克表示,迪士尼希望使用來自物理世界和數字世界的數據來推動其元宇宙戰略,來自主題公園訪問數據和消費者流媒體習慣數據將使迪士尼元宇宙戰略中最關注的兩大領域。(nftevening)[2022/9/14 13:30:06]
BitcoinOptech周報是了解生態系統技術發展的“最佳”方式。DaveHarding在保證其更新。我強烈推薦訂閱這個內容。
選擇放棄什么
一旦你決定為BitcoinCore做出貢獻,這個過程就不會停止。這個項目有足夠的復雜度和開發工作,足以讓任何人忙上好幾輩子。選擇如何分配你的注意力,這有助于確定你“不想”關注什么。
要做出改變,開發的廣度和深度都很重要。找到正確的平衡是一門隨著時間而發展的藝術。廣度增加了對新概念的接觸,并有助于確定哪些工作是相關的。為了提出一種改進代碼庫的PR,理解更大的背景與深入研究一個方面并充分熟悉所提議的變更集一樣重要。
人們喜歡推薦的東西總是會超出你的閱讀、理解、消化和學習范圍……我在上面已經這樣做過了——我推薦了3本書,2個無窮無盡的材料清單,還有一個周報。當你與他人交流時,你也會面臨潛在的壓力,因為你需要對大量的話題有足夠的了解,以便在任何對話中都有所貢獻。這對廣度來說很好,但只有你才能創造出追求深度的道路。要提交一個PR,你需要開發特定的知識,讓你提供改變。不要停留在“消化”階段,專注將確保你繼續“創造”的階段。
邁阿密市長:正探索如何接受比特幣納稅:金色財經報道,邁阿密市長Francis Suarez表示,該城市正在探索如何接受使用比特幣進行的納稅,從而在采用比特幣方面邁出下一步。根據市長的說法,市政府官員已經開始立法程序,有朝一日允許使用比特幣支付稅款、費用等。[2021/9/29 17:13:51]
如果你不是整天都在研究比特幣,這一點就更重要了。這是一個非常復雜的項目。需要創造空間。即使是看起來很簡單的任務也需要一段時間。
好了,人生忠告夠多了了。現在開始說項目細節……
熟悉代碼庫
復制代碼庫,進行編譯和測試。
通讀項目開發人員文檔:
1.
ContributingtoBitcoinCore指南是入門的基本知識,包括pullrequest和審查過程如何工作。
2.《開發者筆記》是很好的精讀指南,在開啟一個PR之前,重讀這個筆記,以確保你符合當前的標準。
3.ProductivityNotes的技巧在開發工作流程的不同時段非常有用。我強烈建議立即執行前四個步驟。
閱讀JimmySong和JohnNewbery寫的入門文章。
參加每周的PR審查。審查PR對項目來說至關重要。更重要的是,這在最開始,是了解代碼庫和合并過程的有效方法。PR審查是在別人的幫助下熟悉特定變更集的一種方式。你從PR審查獲得的價值是你愿意投入精力的直接產物。每周的參與有助于提高對技術架構和歷史環境等模式的認識,獨立開發需要更長的時間。無論你選擇參與這樣的活動,還是僅僅潛水,或花時間探索代碼,你肯定會學到很多東西。提前準備可以讓你利用這段時間來發文或樹立你理解代碼的信心。
Genesis Mining運營主管:無論交易費用如何,比特幣都是很好的價值存儲手段:針對比特幣及其區塊鏈網絡是否能在不需要第二層解決方案的情況下作為一種價值儲存手段被主流采用,比特幣采礦公司Genesis Mining運營主管Philip Salter表示,無論交易費用如何,比特幣都是一種很好的價值存儲手段。費用越高,能夠有效轉移的最小價值也就越大。然而,如今比特幣被更多地視為一種價值儲存手段,而非數字現金。Philip Salter認為,這種觀念的轉變仍可能引發一些問題。他說:“幾年前,由于交易費用實際上為零,所以1美元的存儲和傳輸是可行的。目前,發送一筆交易很容易花費15美元,所以再發送1美元是不明智的。如果這一趨勢繼續下去,由于更多的比特幣使用和更高的比特幣價格,它將禁止普通金額的價值轉移,它將只會成為非常大金額的有效價值存儲。”Salter補充道:“這就是為什么我認為第二層解決方案不僅對于比特幣作為貨幣的使用是必要的,而且對于比特幣作為價值儲存手段的長期可行性也是必要的。”(Cointelegraph)[2021/1/22 16:48:07]
找到你的第一個PR
當你開始適應代碼庫時,你可能覺得自己已經準備好提交PR了,但是不確定如何選擇對項目有價值的貢獻。到目前為止,這篇文章中提到的各種方法都很有可能幫助你找到一個有意義的內容。但如果你還在尋找,這里有一些其他的選擇:
時刻關注goodfirstissue和upforgrabs。
搜索帶有“TODO”的代碼庫,并進行解析,以查看是否有你熟悉且可用的代碼庫。我在測試中遇到過一些看起來對初學者很友好的。
直播|Higer :DeFi與ETH2.0如何引領下一個區塊鏈時代?:金色財經 · 直播主辦的金點Trend《2020 DeFi Dai飛嗎?》馬上開始!DeFi生態里,我們還應該狙擊哪些項目?成長空間是多少?應該關注哪些風險?16:00準時開播!本場嘉賓來自區塊鏈研習社的創始人Higer分享“DeFi與ETH2.0如何引領下一個區塊鏈時代”,請掃碼移步收聽。[2020/7/31]
選擇代碼庫的一個部分,并注意正在打開的相關PR。如果你跟進了PR內容,你肯定會注意到接下來要做的事情。同時,批判性地思考如何測試這些變化。打開PR來跟進處理和增加測試覆蓋率將是最佳選擇。你還可以訪問pr-review-clubhistory來熟悉某個部分。
開源貢獻的本質意味著沒有中心化的項目管理系統。因此,有些對項目有用的變更集不一定是對PR作者注意力和技能的最佳利用。因此,作為一名貢獻者,在你的學習曲線上找出有用的貢獻是你工作的一部分。我的第一個PR是通過up-for-grabs找到的。
我很驚訝地發現有這么多舉手之勞可以做。在仔細查看Github項目之前,我從來沒有想到會這樣。
從伴隨著BitcoinCore的“街頭形象”來看,很難想象做貢獻是多么容易。留意不間斷的待辦事項清單,確實讓我們看到了比特幣項目是多么年輕,以及對更多貢獻者的緊迫需求。
利用互聯網來進行進一步學習
當我開始學習C++語言的時候,我拿到了一些很棒的書,但是說實話,我仍然在努力閱讀它們。
動手學習對我來說最有效,我專注于學習語言中最相關的部分,這樣我就可以讀懂BitcoinCore代碼庫。
英國央行:正在研究如何維護區塊鏈網絡的隱私以及對數據進行監管:本周三,英國中央銀行英格蘭銀行(Bank of England)發布文件顯示,該行正在與區塊鏈創業公司Chain合作開發一種概念驗證,研究如何在基于區塊鏈(或分布式賬本)的網絡上維護隱私,同時仍允許對數據進行監管。[2018/4/11]
所以,我會寫代碼。當我遇到一個新的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見到你的身影:)
TheBlock獲悉,Libra協會正考慮對其穩定幣的資產支撐模式進行重大調整。Facebook于去年6月正式發布了Libra白皮書.
1900/1/1 0:00:00本文來自?Kraken 譯者:Odaily星球日報?Moni 在進入正文之前,讓星球君和大家先回顧一下2020年1月加密貨幣市場里有哪些值得關注的動態:1、2020年1月.
1900/1/1 0:00:00“我們總是想象,科幻電影中會有一些看起來像人類的東西,會揭開面具證實自己是一個機器人……現實中剛好反過來了.
1900/1/1 0:00:00來源:鏈聞 該文為「ProofofValue」區塊鏈數據解讀系列文章之一,用數據科學解讀區塊鏈。本文由「X-Order?×?鏈聞」?聯合呈現.
1900/1/1 0:00:00本文來源:億歐 作者:億歐智庫 報告發布時間:2020年1月 研報:識別“具有系統重要性”的區塊鏈銀行的協議可以預防市場崩潰:金色財經報道.
1900/1/1 0:00:00據Beincrypto2月16日報道,美國總統唐納德?特朗普的一名高級官員提議稱,美國新的經濟刺激方案可能包括“401(k)計劃”以外的免稅投資.
1900/1/1 0:00:00