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:
Klicken Sie auf Erstellen. Der Assistent Blockchain-Knoten erstellen wird geöffnet.
Knoteninformationen konfigurieren:
- Name des Blockchain-Knotens:Geben Sie einen Namen für den Knoten ein. Verwenden Sie Kleinbuchstaben (a–z), Zahlen und Bindestriche. Beispiel:
my-node
- Blockchain-Typ:Wählen Sie den Namen der Blockchain aus.
Beispiel:
ETHEREUM
- Klicken Sie auf Weiter.
- Name des Blockchain-Knotens:Geben Sie einen Namen für den Knoten ein. Verwenden Sie Kleinbuchstaben (a–z), Zahlen und Bindestriche. Beispiel:
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:
- Netzwerk:Der Name des Netzwerks.
Beispiel:
MAINNET
. - Knotentyp:Der Typ des Blockchain-Knotens. Beispiel:
FULL
- 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. - Zusätzliche Namespaces aktivieren:Optionaler JSON-RPC-Namespace bei Verwendung des Ethereum-Geth-Ausführungsclients. Beispiel:
debug
- Klicken Sie auf Weiter.
- Netzwerk:Der Name des Netzwerks.
Beispiel:
Netzwerkinformationen konfigurieren:
- 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. - Endpunkte konfigurieren:Es werden standardmäßig öffentlich zugängliche Endpunkte erstellt. Weitere Informationen zur Verwendung privater Endpunkte finden Sie unter Private Service Connect.
- Klicken Sie auf Weiter.
- Wählen Sie den geografischen Standort aus, an dem Sie Ihre Ressourcen hosten möchten. Beispiel:
Labels hinzufügen:
- Geben Sie ein Schlüssel/Wert-Paar ein. Klicken Sie auf Element hinzufügen, um weitere Schlüssel/Wert-Paare hinzuzufügen.
- Klicken Sie auf Weiter.
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 Sietrue
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 auftrue
, um die Funktion zu aktivieren.apiEnableDebug
: Optionaler JSON-RPC-Namespace bei Verwendung des Ethereum-Geth-Ausführungsclients. Standardmäßig deaktiviert. Setzen Sie den Wert auftrue
, 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 |