Skip to content

GCP.BlockchainNodeEngine reference

Source: src/GCP/BlockchainNodeEngine/BlockchainNode.ts

A Blockchain Node Engine node — a fully managed Ethereum execution and consensus client.

Changing blockchainNodeId, location, blockchainType, privateServiceConnectEnabled, or immutable Ethereum fields (network, nodeType, execution/consensus clients, API namespaces, Geth garbage collection, managed validator) replaces the node. Labels, beaconFeeRecipient, and mevRelayUrls update in place.

Provisioning typically takes 15-45 minutes and the API is entitlement-gated. Prefer TESTNET_SEPOLIA over MAINNET.

Generated name, Sepolia full node

const node = yield* GCP.BlockchainNodeEngine.BlockchainNode("Sepolia", {});

Explicit id, labels, and Geth archive

const node = yield* GCP.BlockchainNodeEngine.BlockchainNode("Sepolia", {
blockchainNodeId: "app-sepolia",
location: "us-central1",
labels: { env: "prod" },
ethereumDetails: {
network: "TESTNET_SEPOLIA",
nodeType: "ARCHIVE",
executionClient: "GETH",
consensusClient: "LIGHTHOUSE",
gethDetails: { garbageCollectionMode: "ARCHIVE" },
},
});
const node = yield* GCP.BlockchainNodeEngine.BlockchainNode("Sepolia", {
ethereumDetails: {
network: "TESTNET_SEPOLIA",
nodeType: "FULL",
validatorConfig: {
beaconFeeRecipient: "0x0000000000000000000000000000000000000000",
mevRelayUrls: ["https://relay.example"],
},
},
});