Esta página descreve como criar um nó de blockchain Ethereum no Blockchain Node Engine usando o console ou uma chamada de API.
Como usar o console
No console do Google Cloud, acesse a página Blockchain Node Engine.
Acessar o Blockchain Node Engine
A página da lista Nodes é 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ó da 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ó da 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ó Ethereum, selecione as seguintes opções. Estas informações não podem ser alteradas depois:
- Rede:o nome da
rede.
Exemplo:
MAINNET
- Tipo de nó:o tipo
de nó da 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 compatíveis para conferir as combinações aceitas. - Ativar outros 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 seus recursos serão hospedados. Por exemplo,
us-central1
. Essas informações não podem ser alteradas depois. Consulte Locais com suporte. - Configurar endpoints:cria endpoints acessíveis publicamente por padrão. Consulte Private Service Connect para mais informações sobre o uso de endpoints particulares.
- Clique em Continuar.
- Selecione a localização geográfica em que seus recursos serão hospedados. Por exemplo,
Adicionar rótulos:
- Digite um par de chave-valor. Clique em Adicionar item para adicionar mais pares de chave-valor.
- Clique em Continuar.
Clique em Criar. O nó de blockchain é criado e a lista de Nós é exibida. O Status indica Criação até que o nó da blockchain esteja pronto para uso. Depois, o status muda para Em execução.
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 de uso do 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 no exemplo acima por valores reais da seguinte forma:
- BLOCKCHAIN_TYPE: o nome do
blockchain. Exemplo:
ETHEREUM
privateServiceConnectEnabled
: opcional e desativado por padrão. Defina comotrue
para ativar o Private Service Connect.- CONSENSUS_CLIENT: o nome da camada de
consenso do
software cliente. Por exemplo,
LIGHTHOUSE
. Consulte Configurações compatíveis para ver as combinações compatíveis. - EXECUTION_CLIENT: o nome da camada de
execução do
software cliente. Por exemplo,
GETH
. Consulte Configurações compatíveis para ver as combinações compatíveis. apiEnableAdmin
: um espaço de nome JSON-RPC opcional ao usar o cliente de execução do Geth do Ethereum. Essa configuração está desativada por padrão. Defina comotrue
para ativar.apiEnableDebug
: um espaço de nome JSON-RPC opcional ao usar o cliente de execução do 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ó da
blockchain. Por exemplo,
FULL
. - PROJECT_ID: o ID do projeto do Google Cloud . Por
exemplo,
my-project-id
. - LOCATION: o
local em que seus recursos sã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 acima, a chave é LABEL_KEY, por exemplo,my-label-key
, e o valor é LABEL_VALUE, por exemplo,my-label-value
.
Confira um exemplo de resposta para o comando acima:
{
"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ó da blockchain.
Configuração do validador
Há outras opções disponíveis para clientes que usam clientes de farol 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 do farol, que é usado se um destinatário de taxa não for especificado pelo cliente do validador. Embora a documentação do Lighthouse se refira a isso como um destinatário de taxa sugerido, como a execução e os clientes do beacon são confiáveis, o destinatário é sempre usado se especificado.
Os destinatários das taxas do beacon precisam ser endereços Ethereum com o prefixo "0x", por exemplo, "0xb469d8b44a3f559a3386af6273ec4a71da88a15a".
URL do MEV-relay
Os nós da 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 do MEV-relay 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 | FAROL |
FULL | TESTNET_GOERLI_PRATER | GETH | FAROL |
FULL | TESTNET_SEPOLIA | GETH | FAROL |
FULL | TESTNET_HOLESKY | GETH | FAROL |
ARQUIVO | MAINNET | ERIGON | FAROL |