建立乙太坊區塊鏈節點

本頁說明如何使用控制台API 呼叫,在 Blockchain Node Engine 中建立乙太坊區塊鏈節點。

使用主控台

在 Google Cloud 控制台中,前往「Blockchain Node Engine」頁面。

前往 Blockchain Node Engine

系統預設會顯示「節點」清單頁面。如果尚未建立任何區塊鏈節點,系統會提示您建立節點。

如要建立區塊鏈節點:

  1. 按一下「建立」,「建立區塊鏈節點」精靈隨即開啟。

    Blockchain Node Engine 建立節點精靈

  2. 設定節點資訊:

    1. 區塊鏈節點名稱:輸入節點的名稱。請使用小寫英文字母 (a-z)、數字和連字號,例如:my-node
    2. 區塊鏈類型:選取區塊鏈的名稱。 例如:ETHEREUM
    3. 按一下「繼續」
  3. 設定區塊鏈資訊:設定區塊鏈專屬資訊。 舉例來說,如要設定乙太坊節點,請選取下列選項。 這項資訊一經確認即無法變更:

    1. 網路:網路的名稱。例如 MAINNET
    2. 節點類型:區塊鏈節點的類型。例如:FULL
    3. 執行/共識用戶端:執行/共識用戶端軟體的層級名稱。例如 GETH/LIGHTHOUSE。如要瞭解支援的組合,請參閱「支援的設定」。
    4. 啟用其他命名空間:使用 Ethereum Geth 執行用戶端時,可選用 JSON-RPC 命名空間。例如:debug
    5. 按一下「繼續」
  4. 設定網路資訊:

    1. 選取要託管資源的地理位置。例如:us-central1。這項資訊一經確認即無法變更。 請參閱「支援的位置」。
    2. 設定端點:建立可公開存取的端點。
    3. 按一下「繼續」
  5. 新增標籤

    1. 輸入鍵/值組合。按一下「新增項目」,即可新增更多鍵/值組合。
    2. 按一下「繼續」
  6. 按一下「建立」,系統就會建立區塊鏈節點,並顯示「節點」清單。在區塊鏈節點準備好使用之前,「狀態」會顯示「建立中」,之後狀態會變更為「執行中」

使用 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