本頁說明如何使用控制台或 API 呼叫,在 Blockchain Node Engine 中建立乙太坊區塊鏈節點。
使用主控台
在 Google Cloud 控制台中,前往「Blockchain Node Engine」頁面。
系統預設會顯示「節點」清單頁面。如果尚未建立任何區塊鏈節點,系統會提示您建立節點。
如要建立區塊鏈節點:
按一下「建立」,「建立區塊鏈節點」精靈隨即開啟。
設定節點資訊:
設定區塊鏈資訊:設定區塊鏈專屬資訊。 舉例來說,如要設定乙太坊節點,請選取下列選項。 這項資訊一經確認即無法變更:
設定網路資訊:
新增標籤:
- 輸入鍵/值組合。按一下「新增項目」,即可新增更多鍵/值組合。
- 按一下「繼續」。
按一下「建立」,系統就會建立區塊鏈節點,並顯示「節點」清單。在區塊鏈節點準備好使用之前,「狀態」會顯示「建立中」,之後狀態會變更為「執行中」。
使用 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
:鍵/值組合。在本範例中,鍵為 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」的乙太坊地址, 例如「0xb469d8b44a3f559a3386af6273ec4a71da88a15a」。
MEV 中繼網址
區塊鏈節點隨附代管 MEV-boost 服務。這項功能可讓客戶使用外部區塊建構工具服務,從這些服務中選取最佳區塊,然後提議使用該區塊。
我們不會推薦或認可任何特定服務,客戶有責任驗證在此選取的服務。
MEV 中繼網址是以半形逗號分隔的網址清單,例如「https://mev1.example.org/,https://mev2.example.org/」。
支援的設定
Blockchain Node Engine 支援多種設定。您可以使用下列任一組合建立節點:
nodeType | 網路 | executionClient | consensusClient |
---|---|---|---|
滿袋 | MAINNET | GETH | LIGHTHOUSE |
滿袋 | TESTNET_GOERLI_PRATER | GETH | LIGHTHOUSE |
滿袋 | TESTNET_SEPOLIA | GETH | LIGHTHOUSE |
滿袋 | TESTNET_HOLESKY | GETH | LIGHTHOUSE |
封存 | MAINNET | ERIGON | LIGHTHOUSE |