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.
Standardmäßig wird die Seite mit der Liste der Knoten 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 zum Erstellen eines Blockchain-Knotens wird geöffnet.
Knoteninformationen konfigurieren:
- Name des Blockchain-Knotens:Geben Sie einen Namen für den Knoten ein. Verwenden Sie Kleinbuchstaben (a–z), Ziffern 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), Ziffern und Bindestriche. Beispiel:
Blockchain-Informationen konfigurieren:Konfigurieren Sie blockchain-spezifische Informationen. Wenn Sie beispielsweise einen Ethereum-Knoten konfigurieren möchten, wählen Sie die folgenden Optionen aus. Diese Angaben 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ührungs-/Konsensschicht der Clientsoftware. Beispiel:
GETH
/LIGHTHOUSE
. Informationen zu unterstützten Kombinationen finden Sie unter Unterstützte Konfigurationen. - Zusätzliche Namespaces aktivieren:Ein 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 Ihre Ressourcen gehostet werden sollen. Beispiel:
us-central1
. Diese Informationen können später nicht mehr geändert werden. Unterstützte Standorte - Endpunkte konfigurieren:Erstellt öffentlich zugängliche Endpunkte.
- Klicken Sie auf Weiter.
- Wählen Sie den geografischen Standort aus, an dem Ihre Ressourcen gehostet werden sollen. 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 lautet Wird erstellt, bis der Blockchain-Knoten verwendet werden kann. Anschließend ändert sich der Status zu Wird ausgeführt.
API verwenden
Wenn Sie einen Blockchain-Knoten über eine API erstellen möchten, senden Sie eine POST-Anfrage an die API mit der Spezifikation des Blockchain-Knotens. Hier ist ein Beispiel für die Verwendung des curl
-Befehls zum Senden einer Anfrage an die 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
Sie müssen die Variablen in diesem Beispiel durch tatsächliche Werte ersetzen:
- BLOCKCHAIN_TYPE: Der Name der Blockchain. Beispiel:
ETHEREUM
- CONSENSUS_CLIENT: Der Name der Consensus-Ebene der Clientsoftware. Beispiel:
LIGHTHOUSE
Informationen zu unterstützten Kombinationen finden Sie unter Unterstützte Konfigurationen. - EXECUTION_CLIENT: Der Name der Ausführungsebene der Clientsoftware. Beispiel:
GETH
Informationen zu unterstützten Kombinationen finden Sie unter Unterstützte Konfigurationen. apiEnableAdmin
: Ein optionaler JSON-RPC-Namespace bei Verwendung des Ethereum Geth-Ausführungsclients. Standardmäßig deaktiviert. Setzen Sie den Wert auftrue
, um die Funktion zu aktivieren.apiEnableDebug
: Ein 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 Standort, an dem Ihre Ressourcen gehostet werden sollen. Diese Informationen können später nicht mehr geändert werden. Beispiel:
us-central1
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 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 vorherigen 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
}
Die OPERATION_ID wird im vorherigen Beispiel zurückgegeben:
operation-1683664820863-5fb48c391814a-a546e3e6-ddee30ad
Sie können diesen Wert verwenden, um den Status der Erstellung des Blockchain-Knotens abzurufen.
Validator-Konfiguration
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.
Wenn Sie einen Blockchain-Knoten mit festgelegten Validator-Optionen erstellen möchten, verwenden Sie einen curl
-Befehl wie den folgenden:
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
Im Beacon-Client kann ein Standardgebührenempfänger 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 der Ausführungs- als auch der Beacon-Client vertrauenswürdig sind, wird der Empfänger jedoch immer verwendet, sofern 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 enthalten einen verwalteten MEV-Boost-Dienst. So können Kunden einen oder mehrere externe Block-Builder-Dienste verwenden, den besten von diesen Diensten angebotenen Block 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 überprüfen.
MEV-Relay-URLs werden als durch Kommas getrennte Liste von URLs angegeben, z. B. „https://mev1.example.org/,https://mev2.example.org/“.
Unterstützte Konfigurationen
Blockchain Node Engine unterstützt eine Vielzahl von Konfigurationen. Sie können Knoten mit einer beliebigen 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 |