Ethereum-Blockchain-Knoten erstellen

Auf dieser Seite wird beschrieben, wie Sie mit der Konsole oder einem API-Aufruf einen Ethereum-Blockchain-Knoten in Blockchain Node Engine erstellen.

Konsole verwenden

Rufen Sie in der Google Cloud Console die Seite Blockchain Node Engine auf.

Blockchain Node Engine aufrufen

Die Seite mit der Liste der Knoten wird standardmäßig angezeigt. Wenn noch keine Blockchain-Knoten erstellt wurden, werden Sie aufgefordert, einen zu erstellen.

So erstellen Sie einen Blockchain-Knoten:

  1. Klicken Sie auf Erstellen. Der Assistent Blockchain-Knoten erstellen wird geöffnet.

    Blockchain Node Engine-Knoten erstellen

  2. Knoteninformationen konfigurieren:

    1. Name des Blockchain-Knotens:Geben Sie einen Namen für den Knoten ein. Verwenden Sie Kleinbuchstaben (a–z), Zahlen und Bindestriche. Beispiel: my-node
    2. Blockchain-Typ:Wählen Sie den Namen der Blockchain aus. Beispiel: ETHEREUM
    3. Klicken Sie auf Weiter.
  3. Blockchain-Informationen konfigurieren:Konfigurieren Sie blockchainspezifische Informationen. Wenn Sie beispielsweise einen Ethereum-Knoten konfigurieren möchten, wählen Sie die folgenden Optionen aus. Diese Informationen können später nicht mehr geändert werden:

    1. Netzwerk:Der Name des Netzwerks. Beispiel: MAINNET.
    2. Knotentyp:Der Typ des Blockchain-Knotens. Beispiel: FULL
    3. Ausführungs-/Konsensclient: Der Name der Ausführungsschicht/Konsensschicht der Clientsoftware. Beispiel: GETH/LIGHTHOUSE. Unter Unterstützte Konfigurationen finden Sie Informationen zu den unterstützten Kombinationen.
    4. Zusätzliche Namespaces aktivieren:Optionaler JSON-RPC-Namespace bei Verwendung des Ethereum-Geth-Ausführungsclients. Beispiel: debug
    5. Klicken Sie auf Weiter.
  4. Netzwerkinformationen konfigurieren:

    1. Wählen Sie den geografischen Standort aus, an dem Sie Ihre Ressourcen hosten möchten. Beispiel: us-central1. Diese Informationen können später nicht mehr geändert werden. Weitere Informationen finden Sie unter Unterstützte Standorte.
    2. Endpunkte konfigurieren:Es werden standardmäßig öffentlich zugängliche Endpunkte erstellt. Weitere Informationen zur Verwendung privater Endpunkte finden Sie unter Private Service Connect.
    3. Klicken Sie auf Weiter.
  5. Labels hinzufügen:

    1. Geben Sie ein Schlüssel/Wert-Paar ein. Klicken Sie auf Element hinzufügen, um weitere Schlüssel/Wert-Paare hinzuzufügen.
    2. Klicken Sie auf Weiter.
  6. Klicken Sie auf Erstellen. Der Blockchain-Knoten wird erstellt und die Liste Knoten wird angezeigt. Der Status ist Erstellen, bis der Blockchain-Knoten einsatzbereit ist. Anschließend ändert er sich zu Aktiv.

API verwenden

Wenn Sie einen Blockchain-Knoten mit einer API erstellen möchten, senden Sie eine POST-Anfrage an die API mit der Blockchain-Knotenspezifikation. Im folgenden Beispiel wird mit dem Befehl curl eine Anfrage an die API gesendet:

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

Ersetzen Sie die Variablen im obigen Beispiel durch folgende Werte:

  • BLOCKCHAIN_TYPE: Der Name der Blockchain. Beispiel: ETHEREUM
  • privateServiceConnectEnabled: Optional und standardmäßig deaktiviert. Legen Sie true fest, um Private Service Connect zu aktivieren.
  • CONSENSUS_CLIENT: Der Name der Konsensschicht der Clientsoftware. Beispiel: LIGHTHOUSE Informationen zu unterstützten Kombinationen finden Sie unter Unterstützte Konfigurationen.
  • EXECUTION_CLIENT: Der Name der Ausführungsschicht der Clientsoftware. Beispiel: GETH Informationen zu unterstützten Kombinationen finden Sie unter Unterstützte Konfigurationen.
  • apiEnableAdmin: Ein optionaler JSON-RPC-Namensraum bei Verwendung des Ethereum-Geth-Ausführungsclients. Standardmäßig deaktiviert. Setzen Sie den Wert auf true, um die Funktion zu aktivieren.
  • apiEnableDebug: Optionaler JSON-RPC-Namespace bei Verwendung des Ethereum-Geth-Ausführungsclients. Standardmäßig deaktiviert. Setzen Sie den Wert auf true, um die Funktion zu aktivieren.
  • NETWORK: Der Name des Netzwerks. Beispiel: MAINNET
  • NODE_TYPE: Der Typ des Blockchain-Knotens. Beispiel: FULL
  • PROJECT_ID: Ihre Google Cloud -Projekt-ID Beispiel: my-project-id.
  • LOCATION: Der Speicherort, an dem Ihre Ressourcen gehostet werden sollen. Diese Informationen können später nicht mehr geändert werden. Beispiel: us-central1 Weitere Informationen finden Sie unter Unterstützte Standorte.
  • NODE_NAME: Ein Name, den Sie für Ihren Knoten angeben. Verwenden Sie Kleinbuchstaben (a–z), Ziffern und Bindestriche. Beispiel: my-node
  • labels: Ein Schlüssel/Wert-Paar. Im obigen Beispiel ist der Schlüssel LABEL_KEY, z. B. my-label-key, und der Wert LABEL_VALUE, z. B. my-label-value.

Hier ist eine Beispielantwort auf den obigen Befehl:

{
  "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
}

Beachten Sie, dass OPERATION_ID im vorherigen Beispiel zurückgegeben wird:

operation-1683664820863-5fb48c391814a-a546e3e6-ddee30ad

Mit diesem Wert können Sie den Status der Erstellung des Blockchain-Knotens abrufen.

Konfiguration des Validators

Es gibt zusätzliche Optionen für Kunden, die Blockchain Node Engine-Beacon-Clients mit einem vom Kunden verwalteten Validator-Client verwenden.

HINWEIS: Diese Optionen sind nur über die API verfügbar.

Verwenden Sie einen curl-Befehl, um einen Blockchain-Knoten mit festgelegten Validatoroptionen zu erstellen, z. B.:

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

Empfänger der Beacon-Gebühr

Auf dem Beacon-Client kann ein Standardempfänger für Gebühren festgelegt werden, der verwendet wird, wenn vom Validator-Client kein Gebührenempfänger angegeben wird. In der Lighthouse-Dokumentation wird dies als vorgeschlagener Gebührenempfänger bezeichnet. Da sowohl die Ausführungs- als auch die Beacon-Clients vertrauenswürdig sind, wird der Empfänger immer verwendet, wenn er angegeben ist.

Empfänger von Beacon-Gebühren müssen Ethereum-Adressen mit dem Präfix „0x“ sein, z. B. „0xb469d8b44a3f559a3386af6273ec4a71da88a15a“.

MEV-Relay-URL

Blockchain-Knoten sind mit einem verwalteten MEV-Boost-Dienst ausgestattet. So können Kunden einen externen Block-Builder-Dienst oder mehrere externe Block-Builder-Dienste verwenden, den besten Block aus diesen Diensten auswählen und diesen Block vorschlagen.

Es werden keine bestimmten Dienste empfohlen oder unterstützt. Kunden sind dafür verantwortlich, die hier ausgewählten Dienste zu prüfen.

MEV-Weiterleitungs-URLs werden als durch Kommas getrennte Liste von URLs angegeben, z. B. „https://mev1.beispiel.de/,https://mev2.beispiel.de/“.

Unterstützte Konfigurationen

Die Blockchain Node Engine unterstützt eine Vielzahl von Konfigurationen. Sie können Knoten mit einer der folgenden Kombinationen erstellen:

nodeType Netzwerk executionClient consensusClient
VOLL MAINNET GETH LIGHTHOUSE
VOLL TESTNET_GOERLI_PRATER GETH LIGHTHOUSE
VOLL TESTNET_SEPOLIA GETH LIGHTHOUSE
VOLL TESTNET_HOLESKY GETH LIGHTHOUSE
ARCHIV MAINNET ERIGON LIGHTHOUSE