このページでは、コンソールまたは API 呼び出しを使用して、Blockchain Node Engine で Ethereum ブロックチェーン ノードを作成する方法について説明します。
コンソールの使用
Google Cloud コンソールで、[Blockchain Node Engine] ページに移動します。
デフォルトでは、[ノード] リストページが表示されます。ブロックチェーン ノードが作成されていない場合は、作成するよう求められます。
ブロックチェーン ノードを作成するには:
[作成] をクリックします。[ブロックチェーン ノードの作成] ウィザードが開きます。
ノード情報を構成する:
ブロックチェーン情報を構成: ブロックチェーン固有の情報を構成します。たとえば、Ethereum ノードを構成するには、次のオプションを選択します。この情報は後で変更できません。
- ネットワーク: ネットワークの名前。たとえば、
MAINNET
のようにします。 - ノードタイプ: ブロックチェーン ノードのタイプ。例:
FULL
- 実行/コンセンサス クライアント: 実行/コンセンサス レイヤのクライアント ソフトウェアの名前。たとえば、
GETH
/LIGHTHOUSE
などです。サポートされている組み合わせについては、サポートされている構成をご覧ください。 - 追加の名前空間を有効にする: Ethereum Geth 実行クライアントを使用する場合のオプションの JSON-RPC 名前空間。例:
debug
- [続行] をクリックします。
- ネットワーク: ネットワークの名前。たとえば、
ネットワーク情報を構成する:
- リソースをホストする地理的なロケーションを選択します。例:
us-central1
この情報は後で変更できません。サポートされているロケーションをご覧ください。 - エンドポイントを構成する: 一般公開されているエンドポイントを作成します。
- [続行] をクリックします。
- リソースをホストする地理的なロケーションを選択します。例:
ラベルを追加する:
- 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
。 - 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-boost サービスが含まれています。これにより、ユーザーは外部ブロック ビルダー サービスを使用し、それらのサービスが提供する最適なブロックを取得して提案できます。
特定のサービスが推奨または承認されているわけではありません。お客様は、ここで選択したサービスを確認する責任を負います。
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 |