Pelajaran 1

開発環境のセットアップ

Pythonを使用して独自のブロックチェーンを構築するための開発環境のセットアップに焦点を当てます。 必要なツールとライブラリをインストールし、ブロックチェーン開発の旅を開始するための環境を構成します。

1.1 Python とライブラリのインストール

開始するには、Pythonとブロックチェーン開発に必要なライブラリをインストールする必要があります。 以下の手順に従います。

  1. Pythonをインストールする:公式のPythonウェブサイトにアクセスしてください(python.org) をクリックし、お使いのオペレーティング システム用の最新バージョンの Python をダウンロードします。 Python は、Windows、macOS、および Linux で利用できます。 表示されるインストール手順に従います。
  • Windowsユーザーの場合は、インストールプロセス中に[PythonをPATHに追加]オプションがオンになっていることを確認してください。 これにより、コマンドラインからPythonを実行できます。
  1. 仮想環境を設定する: 仮想環境は、プロジェクトの依存関係をシステム上の他の Python プロジェクトから分離するのに役立ちます。 コマンドラインインターフェイスを開き、ブロックチェーンプロジェクト用の新しいディレクトリを作成します。 コマンドを使用してプロジェクトディレクトリ cd に移動します。 プロジェクトディレクトリ内に入ったら、次のコマンドを使用して新しい仮想環境を作成します。

    ニシキヘビ
    python -m venv env
    

    このコマンドは、プロジェクト ディレクトリに "env" という名前の新しい仮想環境を作成します。

  2. 仮想環境をアクティブ化する: オペレーティング システムに適したコマンドを使用して、仮想環境をアクティブ化します。

  • ウィンドウズユーザーの場合:
    ニシキヘビ
    env\Scripts\activate
    
  • macOS / Linuxユーザーの場合:
    ニシキヘビ
    ソース環境/ビン/アクティブ化
    
    仮想環境をアクティブ化すると、インストールする Python パッケージがこのプロジェクトに固有であり、システムのグローバルな Python インストールに干渉しなくなります。
  1. 必要なライブラリをインストールする: 仮想環境をアクティブ化した状態で、次のコマンドを使用して、ブロックチェーン開発に必要なライブラリをインストールします。
    ニシキヘビ
    ピップインストールハッシュリブ日時
    
    このコマンドは、 hashlib 暗号化操作用のライブラリと datetime タイムスタンプ用のライブラリをインストールします。

1.2 プロジェクトの初期化

Python と必要なライブラリがインストールされたので、ブロックチェーン プロジェクトを初期化しましょう。

  1. 新しいプロジェクトディレクトリを作成する:プロジェクトに適したコンピューター上の場所を選択し、ブロックチェーンプロジェクト専用の新しいディレクトリを作成します。 これは、コマンドラインまたはファイルエクスプローラーを使用して実行できます。

  2. プロジェクトディレクトリに移動する:コマンドラインインターフェイスを開き、コマンドを使用して新しく作成したプロジェクトディレクトリ cd に移動します。 たとえば、プロジェクトディレクトリの名前が「blockchain-project」の場合、次のコマンドを使用します。

    ニシキヘビ
    CDブロックチェーンプロジェクト
    
  3. Git リポジトリを初期化する: Git に精通していて、プロジェクトの変更を追跡する場合は、新しい Git リポジトリを初期化できます。 次のコマンドを使用して、リポジトリを初期化します。

    ニシキヘビ
    git init
    

    Git リポジトリを初期化すると、非表示.gitの ディレクトリを使用して、変更を追跡し、コードのバージョンを管理できます。

  4. プロジェクト構造を設定する: プロジェクトに必要なファイルとディレクトリを作成します。 ここでは、メインのブロックチェーンファイルと追加のユーティリティファイルで構成される基本構造に焦点を当てます。 プロジェクトディレクトリにという blockchain.py 新しいファイルを作成します。

1.3 ジェネシスブロックの作成

ジェネシスブロックはブロックチェーンの最初のブロックです。 このステップでは、ブロックの構造を定義し、ジェネシスブロックを作成します。

  1. blockchain.py任意のコード エディターでファイルを開きます。ここでブロックチェーンコードを記述します。

  2. ブロックの構造を定義する: ブロックは通常、インデックス、タイムスタンプ、データ、以前のハッシュ、ナンスなどのフィールドで構成されます。 ブロックチェーン内のブロックを表すクラスまたはデータ構造を定義します。 たとえば、各フィールドのインスタンス変数を持つクラスを作成できます Block

    ニシキヘビ
    クラスブロック:
     def __init__(self, index, timestamp, data, previous_hash, nonce):
         セルフインデックス = インデックス
         自己タイムスタンプ = タイムスタンプ
         自己データ = データ
         self.previous_hash = previous_hash
         self.nonce = nonce
    

    このコードは、 Block 必須フィールドを持つクラスを定義します。

  3. ジェネシス ブロックを作成する機能を実装する: 各フィールドに適切な既定値を持つジェネシス ブロックを作成するコードを記述します。 このブロックは、ブロックチェーンの出発点として機能します。 例えば:

    ニシキヘビ
    genesis_block = Block(0, datetime.datetime.now(), "ジェネシスブロック", "0", 0)
    

    このコードは、インデックス 0、現在のタイムスタンプ、データとして "Genesis Block"、前のハッシュとして "0"(前のブロックがないため)、および 0 の nonce を持つジェネシス ブロックを表すクラスのインスタンス Block を作成します。

1.4 ネットワークとポートの設定

ブロックチェーンネットワークでは、ノードは相互に通信します。 このステップでは、ブロックチェーンのネットワーク設定を構成します。

  1. ネットワーク設定を定義する:ブロックチェーンのネットワーク名または識別子を決定します。 ブロックチェーンプロジェクトを表す任意の名前を選択できます。 たとえば、 network_name = "My Blockchain".

  2. ポート番号を定義する: ネットワーク内の各ノードには、通信用に一意のポート番号が必要です。 ノードに適切なポート番号を割り当てます。 たとえば、 port = 5000.

  3. ネットワークとポートの設定を構成する: プロジェクトに変数または構成パラメーターを追加して、ネットワーク名とポート情報を保存します。 この目的には、定数または構成ファイルを使用できます。 たとえば、ファイルを作成し config.py 、そこで変数を定義できます。

    ニシキヘビ
    network_name = "私のブロックチェーン"
    ポート = 5000
    

    このコードは、 config.py ネットワーク名とポート変数が定義されたファイルを作成します。

1.5 環境のテスト

最後に、開発環境をテストして、すべてが正しく設定されていることを確認しましょう。

  1. 基本的なテストを実行する: 環境に正しく設定されているかどうかを確認するための簡単なテスト コードを blockchain.py ファイルに記述します。 たとえば、クラスのインスタンス Block を作成し、ジェネシスブロックを追加し、ブロックチェーンを印刷して、正しく初期化されることを確認できます。
    ```
    ニシキヘビ
    blockchain = [genesis_block] # これがブロックチェーンにブロックを格納するリストであると仮定する

ブロックチェーンを印刷する

ブロックチェーンのブロックの場合:
print(f"ブロック #{block.index} - タイムスタンプ: {block.timestamp} - データ: {block.data}")

このコードはリスト「ブロックチェーン」を作成し、それにジェネシスブロックを追加します。 次に、ブロックチェーン内の各ブロックの詳細を出力します。1.
テストを実行する: Python インタープリターを使用してテスト コードを実行します。

ニシキヘビ
パイソン blockchain.py
```
すべてが正しく設定されていれば、ジェネシスブロックの詳細を含むブロックチェーンの出力が表示されます。

このレッスンを終了すると、開発環境を構成し、独自のブロックチェーンを作成するための新しい Python プロジェクトが起動されます。 これで、レッスン2に進み、ブロックチェーンの構造の構築を開始する準備が整いました。 ブロックチェーン開発で手を汚す準備をしてください!

Pernyataan Formal
* Investasi Kripto melibatkan risiko besar. Lanjutkan dengan hati-hati. Kursus ini tidak dimaksudkan sebagai nasihat investasi.
* Kursus ini dibuat oleh penulis yang telah bergabung dengan Gate Learn. Setiap opini yang dibagikan oleh penulis tidak mewakili Gate Learn.
Katalog
Pelajaran 1

開発環境のセットアップ

Pythonを使用して独自のブロックチェーンを構築するための開発環境のセットアップに焦点を当てます。 必要なツールとライブラリをインストールし、ブロックチェーン開発の旅を開始するための環境を構成します。

1.1 Python とライブラリのインストール

開始するには、Pythonとブロックチェーン開発に必要なライブラリをインストールする必要があります。 以下の手順に従います。

  1. Pythonをインストールする:公式のPythonウェブサイトにアクセスしてください(python.org) をクリックし、お使いのオペレーティング システム用の最新バージョンの Python をダウンロードします。 Python は、Windows、macOS、および Linux で利用できます。 表示されるインストール手順に従います。
  • Windowsユーザーの場合は、インストールプロセス中に[PythonをPATHに追加]オプションがオンになっていることを確認してください。 これにより、コマンドラインからPythonを実行できます。
  1. 仮想環境を設定する: 仮想環境は、プロジェクトの依存関係をシステム上の他の Python プロジェクトから分離するのに役立ちます。 コマンドラインインターフェイスを開き、ブロックチェーンプロジェクト用の新しいディレクトリを作成します。 コマンドを使用してプロジェクトディレクトリ cd に移動します。 プロジェクトディレクトリ内に入ったら、次のコマンドを使用して新しい仮想環境を作成します。

    ニシキヘビ
    python -m venv env
    

    このコマンドは、プロジェクト ディレクトリに "env" という名前の新しい仮想環境を作成します。

  2. 仮想環境をアクティブ化する: オペレーティング システムに適したコマンドを使用して、仮想環境をアクティブ化します。

  • ウィンドウズユーザーの場合:
    ニシキヘビ
    env\Scripts\activate
    
  • macOS / Linuxユーザーの場合:
    ニシキヘビ
    ソース環境/ビン/アクティブ化
    
    仮想環境をアクティブ化すると、インストールする Python パッケージがこのプロジェクトに固有であり、システムのグローバルな Python インストールに干渉しなくなります。
  1. 必要なライブラリをインストールする: 仮想環境をアクティブ化した状態で、次のコマンドを使用して、ブロックチェーン開発に必要なライブラリをインストールします。
    ニシキヘビ
    ピップインストールハッシュリブ日時
    
    このコマンドは、 hashlib 暗号化操作用のライブラリと datetime タイムスタンプ用のライブラリをインストールします。

1.2 プロジェクトの初期化

Python と必要なライブラリがインストールされたので、ブロックチェーン プロジェクトを初期化しましょう。

  1. 新しいプロジェクトディレクトリを作成する:プロジェクトに適したコンピューター上の場所を選択し、ブロックチェーンプロジェクト専用の新しいディレクトリを作成します。 これは、コマンドラインまたはファイルエクスプローラーを使用して実行できます。

  2. プロジェクトディレクトリに移動する:コマンドラインインターフェイスを開き、コマンドを使用して新しく作成したプロジェクトディレクトリ cd に移動します。 たとえば、プロジェクトディレクトリの名前が「blockchain-project」の場合、次のコマンドを使用します。

    ニシキヘビ
    CDブロックチェーンプロジェクト
    
  3. Git リポジトリを初期化する: Git に精通していて、プロジェクトの変更を追跡する場合は、新しい Git リポジトリを初期化できます。 次のコマンドを使用して、リポジトリを初期化します。

    ニシキヘビ
    git init
    

    Git リポジトリを初期化すると、非表示.gitの ディレクトリを使用して、変更を追跡し、コードのバージョンを管理できます。

  4. プロジェクト構造を設定する: プロジェクトに必要なファイルとディレクトリを作成します。 ここでは、メインのブロックチェーンファイルと追加のユーティリティファイルで構成される基本構造に焦点を当てます。 プロジェクトディレクトリにという blockchain.py 新しいファイルを作成します。

1.3 ジェネシスブロックの作成

ジェネシスブロックはブロックチェーンの最初のブロックです。 このステップでは、ブロックの構造を定義し、ジェネシスブロックを作成します。

  1. blockchain.py任意のコード エディターでファイルを開きます。ここでブロックチェーンコードを記述します。

  2. ブロックの構造を定義する: ブロックは通常、インデックス、タイムスタンプ、データ、以前のハッシュ、ナンスなどのフィールドで構成されます。 ブロックチェーン内のブロックを表すクラスまたはデータ構造を定義します。 たとえば、各フィールドのインスタンス変数を持つクラスを作成できます Block

    ニシキヘビ
    クラスブロック:
     def __init__(self, index, timestamp, data, previous_hash, nonce):
         セルフインデックス = インデックス
         自己タイムスタンプ = タイムスタンプ
         自己データ = データ
         self.previous_hash = previous_hash
         self.nonce = nonce
    

    このコードは、 Block 必須フィールドを持つクラスを定義します。

  3. ジェネシス ブロックを作成する機能を実装する: 各フィールドに適切な既定値を持つジェネシス ブロックを作成するコードを記述します。 このブロックは、ブロックチェーンの出発点として機能します。 例えば:

    ニシキヘビ
    genesis_block = Block(0, datetime.datetime.now(), "ジェネシスブロック", "0", 0)
    

    このコードは、インデックス 0、現在のタイムスタンプ、データとして "Genesis Block"、前のハッシュとして "0"(前のブロックがないため)、および 0 の nonce を持つジェネシス ブロックを表すクラスのインスタンス Block を作成します。

1.4 ネットワークとポートの設定

ブロックチェーンネットワークでは、ノードは相互に通信します。 このステップでは、ブロックチェーンのネットワーク設定を構成します。

  1. ネットワーク設定を定義する:ブロックチェーンのネットワーク名または識別子を決定します。 ブロックチェーンプロジェクトを表す任意の名前を選択できます。 たとえば、 network_name = "My Blockchain".

  2. ポート番号を定義する: ネットワーク内の各ノードには、通信用に一意のポート番号が必要です。 ノードに適切なポート番号を割り当てます。 たとえば、 port = 5000.

  3. ネットワークとポートの設定を構成する: プロジェクトに変数または構成パラメーターを追加して、ネットワーク名とポート情報を保存します。 この目的には、定数または構成ファイルを使用できます。 たとえば、ファイルを作成し config.py 、そこで変数を定義できます。

    ニシキヘビ
    network_name = "私のブロックチェーン"
    ポート = 5000
    

    このコードは、 config.py ネットワーク名とポート変数が定義されたファイルを作成します。

1.5 環境のテスト

最後に、開発環境をテストして、すべてが正しく設定されていることを確認しましょう。

  1. 基本的なテストを実行する: 環境に正しく設定されているかどうかを確認するための簡単なテスト コードを blockchain.py ファイルに記述します。 たとえば、クラスのインスタンス Block を作成し、ジェネシスブロックを追加し、ブロックチェーンを印刷して、正しく初期化されることを確認できます。
    ```
    ニシキヘビ
    blockchain = [genesis_block] # これがブロックチェーンにブロックを格納するリストであると仮定する

ブロックチェーンを印刷する

ブロックチェーンのブロックの場合:
print(f"ブロック #{block.index} - タイムスタンプ: {block.timestamp} - データ: {block.data}")

このコードはリスト「ブロックチェーン」を作成し、それにジェネシスブロックを追加します。 次に、ブロックチェーン内の各ブロックの詳細を出力します。1.
テストを実行する: Python インタープリターを使用してテスト コードを実行します。

ニシキヘビ
パイソン blockchain.py
```
すべてが正しく設定されていれば、ジェネシスブロックの詳細を含むブロックチェーンの出力が表示されます。

このレッスンを終了すると、開発環境を構成し、独自のブロックチェーンを作成するための新しい Python プロジェクトが起動されます。 これで、レッスン2に進み、ブロックチェーンの構造の構築を開始する準備が整いました。 ブロックチェーン開発で手を汚す準備をしてください!

Pernyataan Formal
* Investasi Kripto melibatkan risiko besar. Lanjutkan dengan hati-hati. Kursus ini tidak dimaksudkan sebagai nasihat investasi.
* Kursus ini dibuat oleh penulis yang telah bergabung dengan Gate Learn. Setiap opini yang dibagikan oleh penulis tidak mewakili Gate Learn.