Utreexo への貢献を始める方法

PHPz
リリース: 2024-08-22 20:36:32
オリジナル
644 人が閲覧しました

貢献したいと思っているエキサイティングなオープンソース プロジェクトに出会ったことはありますが、どうやって始めればよいのかわかりませんか?それとも、あなたは、エキサイティングなオープンソース プロジェクトに貢献したいと考えている、比較的経験豊富な開発者 (あるいはオープンソースに精通している人) なのでしょうか?さて、「オープンソースへの貢献を始めるにはどうすればよいか」という質問に対する答えがあります。
厳密に言えば、一般的な意味での質問にはお答えしません。この記事では、特定のオープンソース プロジェクトである Utreexo について詳しく説明します。したがって、この投稿の目的はむしろ、「Utreexo へのコントリビュートを開始するにはどうすればよいですか?」という質問に答えることを目的としていると思います。

では、そもそも Utreexo だったらどうなるでしょうか?

ここにいるあなたは、Utreexo についてどこかで聞いたことがあるか、少なくともそれがビットコインに関連するプロジェクトであることは知っていると思います。ただし、聞いたことがない場合でも問題ありません。詳しく説明し、関連リンクも提供します。ただし、よりよく理解するために、ビットコインの仕組みについて高度な知識を持つことを強くお勧めします。この記事。

とにかく、上記の質問に答えるために、まず Utreexo が達成することを目指している背景を少し説明しましょう。
私たちが知っているビットコイン ネットワーク (または…まだわかっていませんが) は、ブロックチェーンとして知られるデジタル台帳にすべての取引の記録を保存します。この台帳には、ネットワーク上でこれまでに実行されたすべてのトランザクションの記録が含まれています。ただし、ネットワークの現在の状態には、ネットワーク上でこれまでに起こったすべての履歴が必ずしも含まれているわけではなく、すべての未使用トランザクション出力 (UTXO セット) のセットで構成されています。このセットには「どのウォレットに何が入っているか」に関する情報が保持されます。簡単に言えば、UTXO セットには基本的に、ビットコイン ウォレットのアカウントにあるビットコインの量の記録が含まれているだけです。そうですね、最後の文はあまり正確ではありません。ビットコイン ウォレットには通常、複数の未使用トランザクション出力があり、それらを組み合わせると、ウォレットの残高と使用可能な金額が反映されます。
問題は、ネットワーク上のトランザクション数が増加するにつれて、このビットコインの状態がより速く、より大きくなっているということです。これは、サイズが大きくなるとより大きなハードウェア リソースが必要になるため、スケーラビリティに重大な問題を引き起こします。そのため、他の欠点の中でも特にビットコイン ノードの操作を思いとどまる人がいる可能性があります。
そこで Utreexo の出番です。

それでは、「Utreexo とは何ですか?」ともう一度尋ねます。 Utreexo は、ハッシュ ベースの動的暗号化アキュムレータを提案し、状態のアキュムレータ表現のみを格納する Compact 状態ノードを導入することにより、完全に検証するノードを実行するために必要なストレージを大幅に削減する方法です。これらのノードは、トランザクションを検証する前に、送信者からの追加の包含証明を必要とします。

Utreexo を使用すると、ネットワークの現在の状態が大幅に小さいサイズで表示されるため、リソースの使用量が減り、ほぼ誰でも簡単にノードを実行できるようになります。 Utreexo の詳細については、次のリソース ELI5: Utreexo — スケーリング ソリューション、または Utreexo を使用したビットコイン ネットワークの改善で読むか、ここから Utreexo ホワイト ペーパーをダウンロードできます。

開発環境のセットアップ
Utreexo についてもう少し理解できたので、開発環境のセットアップに移りましょう。

Utreexo は Go で書かれているため、Go プログラミング言語の基本的な知識と理解を持っているとさらに有利になります。ただし、Go を初めて使用する場合は、これらのリソースをチェックして言語について詳しく知り、言語のいくつかの基本概念 (Effective Go、Learn Go) を理解することができます。

この投稿では Visual Studio コードを使用していますが、お好みのテキスト エディターを自由に使用してください。
まず、Go プログラミング言語をインストールする必要があります。インストール手順についてはここでは説明しませんが、Go プログラムをインストールして実行する方法について詳しく説明したこの記事を参照してください。 Goをダウンロードしてインストールします。記事に従って Go のインストールが完了し、

の出力をチェックしてすべてが動作することを確認したら

go バージョン

コードベースのクローン作成に進むことができます。ここでは、git の基本的な知識があると役に立ちます。まず、コンピューター システムに git をインストールする必要があります。 git がインストールされているかどうかを確認するには、新しいターミナルまたは PowerShell ウィンドウを開いて、

と入力します。

git –version

git がインストールされている場合は、バージョン番号を含む出力が表示されます。そうでない場合は、「Git のインストール」のディレクティブを使用して git のインストールに進む必要があります。
その後、コマンド

を試すことができます。

git –version

また。 git が正常にインストールされた場合は、リポジトリのフォークとクローン作成に進むことができます。
リポジトリのフォークとは基本的に、個人の GitHub アカウントにリポジトリのコピーを作成することを意味します。それ以降に加えた変更はフォークされたリポジトリにプッシュされ、プル リクエストを送信できます。

リポジトリのクローンを作成するには、目的の場所に移動し、ターミナルで開きます。または、ターミナルを使用して直接移動することもできます。
たとえば、デスクトップに「Projects」という名前のフォルダーがあり、そこに Utreexo コードを配置したいとします。単純にデスクトップに移動して、「Projects」フォルダーを開き、その中で右クリックして、 Windows および Ubuntu の場合は「ターミナルで開く」。または、ターミナル ウィンドウ内で直接移動することもできます

まず、システムのルート ディレクトリに移動して、そのディレクトリにいることを確認しましょう。

CD ~

そして

cd デスクトップ/プロジェクト

ここに入ったら、リポジトリのクローンを作成する必要があります。ここで少し考慮する必要があります。 GitHub 上の utreexo メイン組織にアクセスすると、いくつかのリポジトリがあります。そのうちの 1 つは、実際の動的アキュムレータ実装を含む utreexo リポジトリで、もう 1 つは、Utreexo をサポートするビットコイン フルノード実装である utreexod リポジトリです。私たちは後者、つまり Utreexo をサポートするビットコインのフルノード実装に焦点を当てます。フォークに進み、リポジトリのクローンを作成しましょう

リポジトリをフォークするには、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 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート