メインコンテンツまでスキップ

パブリックネットワークの実行

注意

テストのために自身のローカルネットワークを実行したいだけの場合はここでその方法を学習できます。

ジェネシスセレモニー

このaptosツールは、ジェネシスセレモニーを通じて、新しいブロックチェーンの開始をサポートします。 ジェネシスセレモニーの出力は、ブロックチェーンのオンライン運用の準備をするMove指導の出力です。入力は以下で構成されます。

  • バリデータとその構成のセット
  • Moveモジュールの初期セットはフレームワークとして
  • 他のネットワークと区別するユニークなChainId(u8)
  • テストチェーンには、Aptosコインのミントを管理するアカウントも存在します。

ジェネシスの生成

  • ジェネシス設立者はLayoutを構築して配布します。
  • ジェネシス設立者はAptosフレームワークのバイトコードを準備し、配布します。
  • 各参加者は、ValidatorConfigurationを生成し、配布します。
  • 各参加者は、結果として生じた貢献からgenesis.blobを生成します。
  • ジェネシス オーガナイザーはgenesis.blobを実行して初期ウェイポイントを引き出し、配布します。
  • 各参加者はaptos-nodeを開始します。aptos-nodeは起動時に、ジェネシスオーガナイザーによって提供されたウェイポイントでgenesis.blobを確認します。
  • ブロックチェーンは、ステークの最小人数が利用可能となるとコンセンサスを開始します。

Aptosコアを準備する

以下のセクションでは、Aptosソースのツールを使用します。設定はソースからAptosを構築するを御覧下さい。

layoutファイル

レイアウトファイルは以下を含みます。

  • root_key: Aptosコイン管理用の Ed25519 公開鍵。
  • users: 参加者のセット
  • chain_id: ChainIdもしくは、このデプロイを他のAptosネットワークと区別する一意の整数

例:

root_key: "0xca3579457555c80fc7bb39964eb298c414fd60f81a2f8eedb0244ec07a26e575"
users:
- alice
- bob
chain_id: 8

Aptosフレームワークの構築

あなたのAptosコアリポジトリからフレームワークを構築してパッケージ化します。

cargo run --package framework
mkdir aptos-framework-release
cp aptos-framework/releases/artifacts/current/build/**/bytecode_modules/* aptos-framework-release

フレームワークはaptos-framework-releaseディレクトリ内へ保存されます。

ValidatorConfigurationファイル

ValidatorConfigurationファイルは以下を含みます。

  • account_address: このバリデーターを管理するアカウント。これは、ValidatorConfigurationファイル内で提供されたaccount_keyから派生する必要があります。
  • consensus_key: バリデータからのコンセンサスメッセージを認証するための公開鍵
  • account_key: このバリデーターを管理するアカウントの公開鍵。これはaccount_addressを派生するため使用されます。
  • network_key: バリデータとフルノードネットワーク認証および暗号化の両方で使用される公開鍵。
  • validator_host: バリデータが存在するネットワーク アドレス。これはhostフィールドとportフィールドを含みます。hostは、DNS名またはIPアドレスのいずれかである必要があります。現在はIPv4のみがサポートされています。
  • full_node_host: フルノードが存在するオプションのネットワークアドレス。これはhostフィールドとportフィールドを含みます。hostはDNS名またはIPアドレスのいずれかである必要があります。現在はIPv4のみがサポートされています。
  • stake_amount: このノードがステークしているコインの数。これは1であると予想されます。予想と違う場合は、構成が無効と見なされます。

例:

account_address: ccd49f3ea764365ac21e99f029ca63a9b0fbfab1c8d8d5482900e4fa32c5448a
consensus_key: "0xa05b8f41057ac72f9ca99f5e3b1b787930f03ba5e448661f2a1fac98371775ee"
account_key: "0x3d15ab64c8b14c9aab95287fd0eb894aad0b4bd929a5581bcc8225b5688f053b"
network_key: "0x43ce1a4ac031b98bb1ee4a5cd72a4cca0fd72933d64b22cef4f1a61895c2e544"
validator_host:
host: bobs_host
port: 6180
full_node_host:
host: bobs_host
port: 6182
stake_amount: 1

aptosCLIを使用してこれを生成するには、

  1. あなたのバリデータのキーを生成します
cargo run --package aptos -- genesis generate-keys --output-dir bobs
  1. あなたのValidatorConfigurationを生成します
cargo run --package aptos -- \\
genesis set-validator-configuration \\
--keys-dir bobs \\
--username bob \\
--validator-host bobs_host:6180 \\
--full-node-host bobs_host:6180 \\
--local-repository-dir .
  1. 最後のコマンドは、genesis.blob生成のため他の参加者へ配布する必要があるbob.yamlファイルを生産します。

ジェネシスとウェイポイントを生成する

genesis.blobとウェイポイントはlayoutファイル、個々の各ValidatorConfigurationファイル、フレームワークリリースを取得した後生成できます。前の段階で提供されたValidatorConfiguration段階がgenesis.blobの生成のための配布物と同じであることを検証することが重要です。 不一致がある場合は、すべての参加者に通知します。

genesis.blobとウェイポイントを生成するには、

  • layoutファイルをディレクトリ (例:genesis)へ配置します。
  • 全てのValidatorConfigurationファイルをgenesisディレクトリへ配置します。
  • ValidatorConfigurationファイルがlayoutファイル内のusersのセット下へリストされていることを確認します。
  • genesissディレクトリ内にframeworkディレクトリを作成し、フレームワークリリース.mvファイルをそのframeworkディレクトリに配置します。
  • aptosCLIを使用してジェネシスとウェイポイントを生成します。
cargo run --package aptos -- genesis generate-genesis --local-repository-dir genesis

aptos-nodeの開始

genesis.blobとウェイポイントを生成したら、それらをバリデーターとフルノードの構成ディレクトリに配置し、あなたのバリデーターとフルノードを開始します。