このページでは、コンソールまたは API 呼び出しを使用して、Blockchain Node Engine で Ethereum ブロックチェーン ノードを作成する方法について説明します。
コンソールの使用
Google Cloud コンソールで、[Blockchain Node Engine] ページに移動します。
デフォルトでは、[ノード] リストページが表示されます。ブロックチェーン ノードが作成されていない場合は、作成を求めるメッセージが表示されます。
ブロックチェーン ノードを作成するには:
[作成] をクリックします。[Create a blockchain node] ウィザードが開きます。
ノード情報を構成する:
ブロックチェーン情報を構成する: ブロックチェーン固有の情報を構成します。たとえば、Ethereum ノードを構成するには、次のオプションを選択します。以下の情報を後で変更することはできません。
- ネットワーク: ネットワークの名前。たとえば、
MAINNET
のようにします。 - ノードタイプ: ブロックチェーン ノードのタイプ。例:
FULL
- 実行/コンセンサス クライアント: クライアント ソフトウェアの実行/コンセンサス レイヤの名前。たとえば、
GETH
/LIGHTHOUSE
です。サポートされている組み合わせについては、サポートされている構成をご覧ください。 - 追加の名前空間を有効にする: Ethereum Geth 実行クライアントを使用する場合のオプションの JSON-RPC 名前空間。例:
debug
- [続行] をクリックします。
- ネットワーク: ネットワークの名前。たとえば、
ネットワーク情報を構成する:
- リソースをホストする地理的位置を選択します。例:
us-central1
この情報を後で変更することはできません。サポートされているロケーションをご覧ください。 - エンドポイントを構成する: デフォルトでは、一般公開されているエンドポイントが作成されます。プライベート エンドポイントの使用の詳細については、Private Service Connect をご覧ください。
- [続行] をクリックします。
- リソースをホストする地理的位置を選択します。例:
ラベルを追加する:
- Key-Value ペアを入力します。[アイテムを追加] をクリックして、Key-Value ペアを追加します。
- [続行] をクリックします。
[作成] をクリックします。ブロックチェーン ノードが作成され、[ノード] リストが表示されます。ブロックチェーン ノードが使用可能になるまで、[ステータス] は [作成中] と表示され、その後 [実行中] に変わります。
API を使用する
API を使用してブロックチェーン ノードを作成するには、ブロックチェーン ノードの仕様を含む POST リクエストを API に送信します。curl
コマンドを使用して API にリクエストを送信する例を次に示します。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "blockchainType": "BLOCKCHAIN_TYPE", "privateServiceConnectEnabled" : false, "ethereumDetails": { "consensusClient": "CONSENSUS_CLIENT", "executionClient": "EXECUTION_CLIENT", "apiEnableAdmin": false, "apiEnableDebug": false, "network": "NETWORK", "nodeType": "NODE_TYPE" }, "labels": { "LABEL_KEY": "LABEL_VALUE" } }' \ https://blockchainnodeengine.googleapis.com/v1/projects/PROJECT_ID/\ locations/LOCATION/blockchainNodes?blockchain_node_id=NODE_NAME
この例の変数は、次のように実際の値に置き換える必要があります。
- BLOCKCHAIN_TYPE: ブロックチェーンの名前。例:
ETHEREUM
。 privateServiceConnectEnabled
: 省略可。デフォルトでは無効です。Private Service Connect を有効にするには、true
に設定します。- CONSENSUS_CLIENT: クライアント ソフトウェアのコンセンサス レイヤの名前。例:
LIGHTHOUSE
。サポートされている組み合わせについては、サポートされている構成をご覧ください。 - EXECUTION_CLIENT: クライアント ソフトウェアの実行レイヤの名前。例:
GETH
。サポートされている組み合わせについては、サポートされている構成をご覧ください。 apiEnableAdmin
: Ethereum Geth 実行クライアントを使用する場合のオプションの JSON-RPC 名前空間。デフォルトでは無効にされています。有効にするにはtrue
に設定します。apiEnableDebug
: Ethereum Geth 実行クライアントを使用する場合のオプションの JSON-RPC 名前空間。デフォルトでは無効にされています。有効にするにはtrue
に設定します。- NETWORK: ネットワークの名前。例:
MAINNET
。 - NODE_TYPE: ブロックチェーン ノードのタイプ。例:
FULL
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。例:
my-project-id
。 - LOCATION: リソースをホストするロケーション。この情報を後で変更することはできません。(たとえば、
us-central1
)。サポートされているロケーションをご覧ください。 - NODE_NAME: ノードに指定する名前。小文字(a ~ z)、数字、ハイフンのみ使用できます。例:
my-node
labels
: Key-Value ペア。この例では、キーは LABEL_KEY(my-label-key
など)で、値は LABEL_VALUE(my-label-value
など)です。
上記のコマンドに対するレスポンスの例を次に示します。
{ "name": "projects/my-project-id/locations/us-central1/operations/operation-1683664820863-5fb48c391814a-a546e3e6-ddee30ad", "metadata": { "@type": "type.googleapis.com/google.cloud.blockchainnodeengine.v1.OperationMetadata", "createTime": "2023-05-09T20:40:20.979144857Z", "target": "projects/my-project-id/locations/us-central1/blockchainNodes/my-node", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
上記の例では、OPERATION_ID が返されます。
operation-1683664820863-5fb48c391814a-a546e3e6-ddee30ad
この値を使用して、ブロックチェーン ノードの作成のステータスを取得できます。
バリデータの構成
顧客管理のバリデータ クライアントで Blockchain Node Engine ビーコン クライアントを使用しているお客様をサポートするために、追加のオプションがあります。
注: これらのオプションは API を使用してのみ使用できます。
バリデータ オプションを設定してブロックチェーン ノードを作成するには、次のような curl
コマンドを使用します。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "blockchainType": "BLOCKCHAIN_TYPE", "ethereumDetails": { "consensusClient": "CONSENSUS_CLIENT", "executionClient": "EXECUTION_CLIENT", "apiEnableAdmin": false, "apiEnableDebug": false, "network": "NETWORK", "nodeType": "NODE_TYPE", "validatorConfig": { "beaconFeeRecipient": "BEACON_FEE_RECIPIENT", "mev_relay_urls": "MEV_RELAY_URL", } }, }' \ https://blockchainnodeengine.googleapis.com/v1/projects/PROJECT_ID/\ locations/LOCATION/blockchainNodes?blockchain_node_id=NODE_NAME
ビーコン料金の受取人
デフォルトの料金受取人はビーコン クライアントで設定できます。これは、バリデータ クライアントで料金受取人が指定されていない場合に使用されます。Lighthouse のドキュメントでは、このことを推奨される料金の受取人と呼んでいますが、実行クライアントとビーコン クライアントの両方が信頼できるため、指定されている場合は常に受取人が使用されます。
ビーコン料金の受取人は、「0x」で始まる Ethereum アドレスである必要があります(例:「0xb469d8b44a3f559a3386af6273ec4a71da88a15a」)。
MEV リレー URL
Blockchain ノードには、マネージド MEV ブースト サービスが含まれています。これにより、お客様は外部ブロックビルダー サービスを使用して、これらのサービスが提供する最適なブロックを選択し、そのブロックを提案できます。
特定のサービスが推奨または承認されているわけではありません。ここで選択したサービスの確認はお客様の責任となります。
MEV リレー URL は、URL のカンマ区切りのリストとして指定します(例: https://mev1.example.org/,https://mev2.example.org/)。
サポートされている構成
Blockchain Node Engine は、さまざまな構成をサポートしています。ノードを作成するには、次のいずれかの組み合わせを使用します。
nodeType | ネットワーク | executionClient | consensusClient |
---|---|---|---|
FULL | MAINNET | GETH | Lighthouse |
FULL | TESTNET_GOERLI_PRATER | GETH | Lighthouse |
FULL | TESTNET_SEPOLIA | GETH | Lighthouse |
FULL | TESTNET_HOLESKY | GETH | Lighthouse |
アーカイブ | MAINNET | ERIGON | Lighthouse |