首頁  >  文章  >  後端開發  >  如何開始為 Utreexo 做出貢獻

如何開始為 Utreexo 做出貢獻

PHPz
PHPz原創
2024-08-22 20:36:32639瀏覽

您是否遇到過一個令人興奮的開源項目,您希望為之做出貢獻,但您不知道如何開始?或者您可能是一位相對經驗豐富的開發人員(或只是更精通開源的人),希望為令人興奮的開源專案做出貢獻?好吧,我已經回答了您關於「我如何開始為開源做出貢獻」的問題。
從技術上講,我不會一般意義上回答這個問題。本文會更偏向一個具體的開源專案Utreexo。所以,我想這篇文章的目的是回答「我如何開始為 Utreexo 做出貢獻?」這個問題。

那如果 Utreexo 首先呢?

好吧,如果你在這裡,我假設你從某個地方聽說過 Utreexo,或者至少你知道它是一個與比特幣相關的項目。如果您從未聽說過,那也沒關係,我會嘗試對其進行更多分解,並提供相關鏈接,但是,強烈建議您對比特幣的工作原理有較高的了解,以便更好地理解這篇文章。

無論如何,為了回答上面的問題,讓我們先介紹一下 Utreexo 想要實現的目標的一些背景。
我們所知的比特幣網路(或…還不知道)將所有交易的記錄儲存在數位分類帳中,稱為區塊鏈。此分類帳包含網路上已進行的所有交易的記錄。然而,網路的當前狀態不一定包含網路上發生的所有事情的歷史,而是由所有未花費交易輸出(UTXO 集)的集合組成。該集合包含有關“哪個錢包有什麼”的資訊。簡單來說,UTXO 集基本上只包含比特幣錢包帳戶中有多少比特幣的記錄。好吧,最後一句話不是很準確,因為我們的比特幣錢包通常有多個未花費的交易輸出,這些輸出組合起來就反映了我們的錢包餘額以及可花費的金額。
問題是,隨著網路上交易數量的增加,這種比特幣狀態成長得更快、更大。這帶來了一個重大的可擴展性問題,因為更大的規模需要更大的硬體資源,這可能會阻止一些人操作比特幣節點以及其他缺點。
這就是 Utreexo 發揮作用的地方。

所以我們再問,「Utreexo 是什麼」? Utreexo 是一種透過提出基於雜湊的動態加密累加器並引入僅儲存狀態的累加器表示的緊湊狀態節點來大幅減少運行完全驗證節點所需的儲存的方法。這些節點需要發送者提供額外的包含證明,然後才能驗證交易,

使用 Utreexo,網路的當前狀態以明顯更小的尺寸表示,這意味著資源使用更少,這將鼓勵幾乎任何人方便地運行節點。您可以從以下資源 ELI5 中閱讀有關 Utreexo 的更多資訊:Utreexo — 擴展解決方案,或使用 Utreexo 改進比特幣網絡,或從此處下載 Utreexo 白皮書。

設定您的開發環境
現在我們對 Utreexo 了解更多了,讓我們開始設定我們的開發環境。

Utreexo 是用 Go 編寫的,因此擁有 Go 程式語言的基本知識和理解將是額外的好處。但是,如果您是 Go 新手,您可以查看這些資源以了解有關該語言的更多信息,並了解語言的一些基本概念。 Effective Go,Learn Go。

我在這篇文章中使用 Visual Studio 程式碼,但請隨意使用您選擇的任何文字編輯器。
首先,我們需要安裝 Go 程式語言。這裡不會介紹安裝步驟,但你可以查看這篇文章,詳細介紹如何安裝和執行Go程式。下載並安裝 Go。一旦你完成安裝 Go,請按照文章並透過檢查

的輸出來確保一切正常

Go版本

我們可以繼續克隆程式碼庫。掌握 git 的基本知識在這裡會很有幫助。首先,我們需要在我們的電腦系統上安裝git。要檢查 git 是否已安裝,您可以開啟一個新的終端機或 powershell 視窗並輸入

git –版本

如果安裝了 git,您將看到帶有版本號的輸出。如果沒有,您必須繼續使用安裝 Git 中的指令來安裝 git。
之後,您可以嘗試命令

git –版本

又來了。如果 git 已成功安裝,我們現在可以繼續分叉和複製儲存庫。
分叉儲存庫基本上意味著在我們的個人 GitHub 帳戶上建立儲存庫的副本。此後我們所做的更改將被推送到我們的分叉存儲庫,然後我們可以提交拉取請求。

要複製儲存庫,我們導航到所需的位置並在終端機中開啟。或者我們可以直接使用終端進行導航。
例如,假設我們的桌面上有一個名為“Projects”的資料夾,我們希望Utreexo 程式碼駐留在其中,我們只需導航到桌面,然後打開“Projects”資料夾,在其中右鍵單擊並選擇對於Windows 和Ubuntu,「在終端機中開啟」。或者我們可以直接在終端機視窗內導航

首先讓我們透過導航確保位於系統的根目錄中。

CD ~

然後

cd 桌面/專案

在這裡,我們需要克隆儲存庫。這裡需要稍微考慮一下。當您造訪 GitHub 上的 utreexo 主組織時,我們有幾個儲存庫。其中之一是 utreexo 儲存庫,其中包含實際的動態累加器實現,然後是 utreexod 儲存庫,它是支援 Utreexo 的比特幣全節點實作。我們將重點關注後者,即 Utreexo 支援的比特幣全節點實作。讓我們繼續 fork 並克隆儲存庫

要分叉儲存庫,我們轉到 utreexod 儲存庫 github 頁面,在最右側,我們將找到「分叉」按鈕。

How to start contributing to Utreexo
我們需要按一下此按鈕,然後按照螢幕上的指示進行操作。完成後,我們的個人 github 帳戶將擁有此儲存庫的相同副本。
現在我們可以繼續從我們的個人帳戶複製儲存庫

git 複製 https://github.com/yourgithubusername/utreexod.git

完成後,我們可以使用文字編輯器開啟該資料夾,然後按照 GitHub 儲存庫的描述繼續安裝所有依賴項。現在我們進來了。

從這裡開始,我們將需要花一些時間,了解程式碼庫的各個部分以及每個部分的職責。一旦您對程式碼庫有了大致的了解,您就可以繼續檢查儲存庫的「問題」部分,以找到您想要解決的任何問題,或者可能是功能建議。
一旦確定,我們建立一個新分支並正確命名該分支

git branch feature1
git checkout feature1

這裡,「feature1」是我們要開發的功能的名稱。給它一個更具描述性的名稱。
一旦我們完成了我們的功能並覺得它已經準備好了,我們就會提交並推送到 github,然後提出拉取請求。

要提交,我們首先使用

進行更改

git add .

然後繼續提交

git commit -m 「提交訊息」

提交訊息應該是所做更改的簡短描述,並且應如上所述放在引號內。
如果您使用 vscode,git 擴充確實簡化了所有這些過程。

如果您需要更多關於如何提交更改並推送到 github 的資源,請檢查此資源,以及建立拉取請求,您也可以在此處查看。

發出拉取請求後,我們等待維護者的更新,一旦所有內容都已排序,並且可能請求了更多更改,拉取請求將被合併,然後......就這樣。您已成功為 Utreexo 做出貢獻

像這樣的開源貢獻是主要軟體的驅動源,為開源做出貢獻非常重要,因為您對數以萬計的用戶使用的軟體進行了更改。這種貢獻帶來了高度的滿足感。從這裡開始,建議繼續與其他社群成員和維護者建立關係,並繼續定期為軟體做出貢獻。

以上是如何開始為 Utreexo 做出貢獻的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn