创建以太坊区块链节点

本页面介绍了如何使用控制台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. 启用其他命名空间:使用以太坊 Geth 执行客户端时,可选的 JSON-RPC 命名空间。例如 debug
    5. 点击继续
  4. 配置网络信息

    1. 选择用于托管资源的地理位置。例如 us-central1。 此信息以后无法更改。 请参阅支持的地区
    2. 配置端点:创建可公开访问的端点。
    3. 点击继续
  5. 添加标签

    1. 输入键值对。点击添加内容可添加更多键值对。
    2. 点击继续
  6. 点击创建。系统会创建区块链节点,并显示节点列表。 在区块链节点准备好投入使用之前,状态会显示为正在创建,然后状态会更改为正在运行

使用 API

如需使用 API 创建区块链节点,请向该 API 发送包含区块链节点规范的 POST 请求。下面是一个使用 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:使用以太坊 Geth 执行客户端时的可选 JSON-RPC 命名空间。此日志默认停用。设置为 true 即可启用。
  • apiEnableDebug:使用以太坊 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

信标费用收款人

可以在 Beacon 客户端上设置默认费用接收方,如果验证者客户端未指定费用接收方,则使用该默认费用接收方。虽然 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