Nesta página, descrevemos como criar um nó de blockchain do Ethereum no Blockchain Node Engine usando o console ou uma chamada de API.
Como usar o console
No console Google Cloud , acesse a página Blockchain Node Engine.
Acessar o Blockchain Node Engine
A página da lista Nós é exibida por padrão. Se nenhum nó de blockchain tiver sido criado, você vai receber uma solicitação para criar um.
Para criar um nó de blockchain:
Clique em Criar. O assistente Criar um nó de blockchain é aberto.
Configurar informações do nó:
- Nome do nó do blockchain:digite um nome para o nó. Use letras minúsculas (a-z),
números e hifens. Por exemplo,
my-node
. - Tipo de blockchain:selecione o nome do blockchain.
Por exemplo,
ETHEREUM
. - Clique em Continuar.
- Nome do nó do blockchain:digite um nome para o nó. Use letras minúsculas (a-z),
números e hifens. Por exemplo,
Configurar informações do blockchain:configure informações específicas do blockchain. Por exemplo, para configurar um nó do Ethereum, selecione as seguintes opções. Essas informações não podem ser alteradas depois:
- Rede:o nome da rede.
Exemplo:
MAINNET
- Tipo de nó:o tipo
do nó do blockchain. Por exemplo,
FULL
. - Cliente de execução/consenso:o nome da camada de execução/consenso do software cliente. Por exemplo,
GETH
/LIGHTHOUSE
. Consulte Configurações aceitas para conferir as combinações compatíveis. - Ativar mais namespaces:um namespace JSON-RPC opcional ao usar o cliente de execução do Ethereum Geth. Por exemplo,
debug
. - Clique em Continuar.
- Rede:o nome da rede.
Exemplo:
Configurar informações de rede:
- Selecione a
localização geográfica
em que hospedar seus recursos. Por exemplo,
us-central1
. Essas informações não podem ser alteradas depois. Consulte Locais com suporte. - Configurar endpoints:cria endpoints acessíveis publicamente.
- Clique em Continuar.
- Selecione a
localização geográfica
em que hospedar seus recursos. Por exemplo,
Adicionar rótulos:
- Digite um par de chave-valor. Clique em Adicionar item para incluir mais pares de chave-valor.
- Clique em Continuar.
Clique em Criar. O nó de blockchain será criado e a lista Nós vai aparecer. O Status indica Creating até que o nó de blockchain esteja pronto para uso. Depois, o status muda para Running.
Como usar uma API
Para criar um nó de blockchain usando uma API, envie uma solicitação POST para a API
com a especificação do nó de blockchain. Confira um exemplo usando o comando curl
para enviar uma solicitação à 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
Substitua as variáveis neste exemplo por valores reais da seguinte forma:
- BLOCKCHAIN_TYPE: o nome do
blockchain. Exemplo:
ETHEREUM
- CONSENSUS_CLIENT: o nome da camada de consenso do software cliente. Por exemplo,
LIGHTHOUSE
. Consulte Configurações compatíveis para combinações aceitas. - EXECUTION_CLIENT: o nome da camada de execução do software cliente. Por exemplo,
GETH
. Consulte Configurações compatíveis para combinações aceitas. apiEnableAdmin
: um namespace JSON-RPC opcional ao usar o cliente de execução Geth do Ethereum. Essa configuração está desativada por padrão. Defina comotrue
para ativar.apiEnableDebug
: um namespace JSON-RPC opcional ao usar o cliente de execução Geth do Ethereum. Essa configuração está desativada por padrão. Defina comotrue
para ativar.- NETWORK: o nome da rede. Exemplo:
MAINNET
- NODE_TYPE: o tipo do nó de blockchain. Por exemplo,
FULL
. - PROJECT_ID: o ID do projeto do Google Cloud . Por exemplo,
my-project-id
. - LOCATION: o local em que os recursos serão hospedados. Essas informações não podem ser alteradas depois. Exemplo:
us-central1
Consulte Locais com suporte. - NODE_NAME: um nome especificado para o nó.
Use letras minúsculas (a-z), números e hifens. Por exemplo,
my-node
. labels
: um par de chave-valor. No exemplo, a chave é LABEL_KEY, por exemplo,my-label-key
, e o valor é LABEL_VALUE, por exemplo,my-label-value
.
Confira um exemplo de resposta ao comando anterior:
{
"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
}
Observe que o OPERATION_ID é retornado no exemplo anterior:
operation-1683664820863-5fb48c391814a-a546e3e6-ddee30ad
É possível usar esse valor para receber o status da criação do nó de blockchain.
Configuração do validador
Há outras opções disponíveis para clientes que usam clientes de beacon do Blockchain Node Engine com um cliente validador gerenciado pelo cliente.
OBSERVAÇÃO: essas opções só estão disponíveis usando a API.
Para criar um nó de blockchain com opções de validador definidas, use um comando curl
, como:
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
Destinatário da taxa de beacon
Um destinatário de taxa padrão pode ser definido no cliente de beacon, que é usado se um destinatário de taxa não for especificado pelo cliente validador. Embora a documentação do Lighthouse se refira a isso como um destinatário de taxa sugerido, como os clientes de execução e beacon são confiáveis, o destinatário sempre é usado se especificado.
Os destinatários da taxa de beacon precisam ser endereços Ethereum com o prefixo "0x", por exemplo, "0xb469d8b44a3f559a3386af6273ec4a71da88a15a".
URL do retransmissor de MEV
Os nós de blockchain vêm com um serviço gerenciado de MEV-boost incluído. Isso permite que os clientes usem um ou mais serviços externos de criação de blocos, escolham o melhor bloco oferecido por esses serviços e o proponham.
Nenhum serviço específico é recomendado ou endossado, e os clientes são responsáveis por verificar os serviços selecionados aqui.
Os URLs de retransmissão de MEV são especificados como uma lista de URLs separados por vírgulas, por exemplo, "https://mev1.example.org/,https://mev2.example.org/".
Configurações aceitas
O Blockchain Node Engine é compatível com várias configurações. É possível criar nós com qualquer uma das seguintes combinações:
nodeType | rede | executionClient | consensusClient |
---|---|---|---|
FULL | MAINNET | GETH | LIGHTHOUSE |
FULL | TESTNET_GOERLI_PRATER | GETH | LIGHTHOUSE |
FULL | TESTNET_SEPOLIA | GETH | LIGHTHOUSE |
FULL | TESTNET_HOLESKY | GETH | LIGHTHOUSE |
ARQUIVO | MAINNET | ERIGON | LIGHTHOUSE |