使用区块链节点

本页介绍了如何准备好使用 API 密钥进行身份验证以查询 Blockchain Node Engine 节点。

在使用区块链节点之前,您需要:

创建 API 密钥

您必须使用 API 密钥进行身份验证,才能查询节点。

如需在 Google Cloud 控制台中生成密钥,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 API 和服务、凭据页面。

    进入“凭据”页面

  2. 点击创建凭据

  3. 点击 API 密钥

  4. 已创建的 API 密钥对话框中,点击 Copy 复制该密钥,然后将其粘贴到临时文件中。您需要查询区块链节点中的 API 密钥。

如需详细了解 API 密钥,请参阅使用 API 密钥进行身份验证

获取区块链节点端点网址

您可以使用控制台或发送 API 请求来获取区块链节点网址:

使用控制台

如需在界面中查看节点的详细信息,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 Blockchain Node Engine 页面。

    前往 Blockchain Node Engine

  2. 默认情况下,系统会显示节点列表页面。

  3. 点击某个节点名称。系统随即会显示节点详情页面。
    区块链节点网址会显示在端点区域。

使用 API

如需使用 ListBlockchainNodes 列出与区块链节点相关的详细信息,请发送以下请求:

curl \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
https://blockchainnodeengine.googleapis.com/v1/projects/PROJECT_ID/\
locations/LOCATION/blockchainNodes/NODE_NAME

其中:

启用了专用服务的节点

注意:本部分仅适用于 Private Service Connect 节点。所有其他节点都可以继续执行下一部分

启用了 Private Service Connect 的节点将返回 serviceAttachment,如下面的以太坊为例的示例所示:

{
  "name": "projects/cloud-web3/locations/us-central1/blockchainNodes/my-node",
  "createTime": "2023-12-08T15:06:43.538015Z",
  "updateTime": "2023-12-08T15:23:53.016239Z",
  "blockchainType": "ETHEREUM",
  "connectionInfo": {
    "serviceAttachment": "projects/associated-project/regions/us-central1/serviceAttachments/associated-service-attachment"
  },
  "ethereumDetails": {
    "network": "MAINNET",
    "nodeType": "ARCHIVE",
    "executionClient": "ERIGON",
    "consensusClient": "LIGHTHOUSE",
    "apiEnableAdmin": false,
    "apiEnableDebug": false
  },
  "state": "RUNNING",
  "pscOnly": true
}

如需使用该节点,请完成 Private Service Connect 配置。然后,使用 Private Service Connect 静态 IP 地址和您所选互动操作的指定端口构建端点,而不是使用标准 DNS 端点。

有关端口号参考信息:

具有公共端点的节点

返回的区块链网址位于 endpointInfoadditionalEndpoints 部分,如以下以以太坊为例的示例所示:

{
  "name": "projects/my-project-id/locations/us-central1/blockchainNodes/my-node",
  "createTime": "2023-05-05T04:24:12.432769Z",
  "updateTime": "2023-05-05T05:03:02.561240Z",
  "labels": {
    "my-label-key": "my-label-value"
  },
  "blockchainType": "ETHEREUM",
  "connectionInfo": {
    "ipInfo": {
      "rpcIpv4Address": "192.0.2.1"
    },
    "endpointInfo": {
      "jsonRpcApiEndpoint": "json-rpc.ejp4j0b1rdiq06p8lxksd5z25.blockchainnodeengine.com",
      "websocketsApiEndpoint": "ws.ejp4j0b1rdiq06p8lxksd5z25.blockchainnodeengine.com"
    }
  },
  "ethereumDetails": {
    "network": "MAINNET",
    "nodeType": "FULL",
    "executionClient": "GETH",
    "consensusClient": "LIGHTHOUSE",
    "apiEnableAdmin": false,
    "apiEnableDebug": false,
    "additionalEndpoints": {
      "beaconApiEndpoint": "beacon.ejp4j0b1rdiq06p8lxksd5z25.blockchainnodeengine.com",
      "beaconPrometheusMetricsApiEndpoint": "bc-mc.ejp4j0b1rdiq06p8lxksd5z25.blockchainnodeengine.com"
    }
  },
  "state": "RUNNING"
}

另请参阅:使用 API 查看区块链节点详情

查询区块链节点

现在,您已经知道了 API 密钥和区块链节点端点网址。如需了解使用说明,请参阅适用于每个区块链的主题: