Sumário
O que é uma Opção?
Introdução
Neste artigo, apresentaremos as opções de linha de comando e subcomandos visando personalizar o Hyperledger Besu e acessar as funcionalidades específicas do cliente.
O Hyperledger Besu é iniciado e controlado pela interface de linha de comando (CLI) do seu computador. Por exemplo, quando um nó do Hyperledger Besu é iniciado para se conectar à rede principal, isto é feito abrindo a linha de comando e executando o comando:
Besu
Este comando está, na verdade, chamando opções padrão e subcomandos que dizem ao software do cliente como configurar o nó. Quando chamamos o comando acima, nos bastidores, estamos chamando de fato:
besu –network=mainnet –datapath=besu –api-gas-price-blocks=100 –api-gas-price-max=500000000000 –api-gas-price-percentile=50.0 –bootnodes=enode://c35c3…[email protected]:30303,enode://f42c13…[email protected]:30303 –config-file=none –discovery-enabled=true –miner-coinbase=<Your Ethereum account address> –min-gas-price=1000
Isto é um pouco mais longo do que executar o comando besu! O que estamos tentando ilustrar é o fato de que o besu é bastante personalizável, mas temos que usar uma sintaxe específica (opções e subcomandos) na linha de comando, a fim de personalizar o(s) nó(s) e a rede criada ao inicializar o Besu.
Acima está um exemplo das opções e subcomandos que se aplicam à criação de um nó completo executando consenso de proof of working (PoW) para a Mainnet da Ethereum. Entretanto, estas opções e subcomandos também podem ser usados para criar redes privadas e consorciadas. As mesmas personalizações que discutimos em nosso artigo anterior, Hyperledger Besu: Como criar um Arquivo Genesis Ethereum, podem ser chamadasos pela linha de comando. A documentação Hyper Ledger Besu possui todas as opções e os subcomandos que você pode aplicar ao usar o Hyperledger Besu. Neste artigo, vamos explicar opções e subcomandos, e apresentar o conceito de que certas combinações de opções e subcomandos nos permitem criar uma configuração específica de nosso cliente Ethereum.
O que é uma opção? O que é um subcomando?
Ao utilizar a CLI, chamamos os comandos. Estes comandos são programas (às vezes também podem ser classificados como scripts) que dizem ao computador para fazer um conjunto específico de ações. Quando o Hyperledger Besu é instalado em seu computador, ele cria um comando global besu - que diz a seu computador para executar o cliente Besu com as opções e subcomandos padrão que mostramos acima. Vamos percorrer algumas delas com mais detalhes.
Opções: –network
As opções são variáveis que funcionam com o comando base do besu. Um exemplo de opção é
–network=<NETWORK>
Quando executamos o comando besu, a rede padrão é a mainnet, então ao executar
besu
ou
besu –network=mainnet
obtemos o mesmo resultado - Hyperledger Besu inicia o processo de conexão à rede principal.
Mas, podemos dizer ao Hyperledger Besu para conectar-se a diferentes redes, incluindo um testnet local em nosso computador. Se quiséssemos que o Hyperledger Besu se conectasse ao testnet Rinkeby, usaríamos a opção:
besu –network=rinkeby
Se quisermos que o Besu comece localmente em nosso computador, como uma rede PoW privada, a opção de rede se torna:
besu –network=dev
Agora você está começando a ver como uma opção modifica o comando besu.
Subcomandos: blocks
Subcomandos são programas que dizem ao computador para executar uma operação adicional. Um exemplo de um subcomando é
besu blocks export [–start-block=<LONG>] [–end-block=<LONG>] –to=<block-file>
Este subcomando destacado diz ao Hyperledger Besu para exportar um bloco ou uma variedade de blocos do armazenamento para um arquivo em formato de prefixo de comprimento recursivo (RLP).
Na prática, isto seria chamado assim:
besu blocks export –start-block=100 –end-block=300 –to=/home/exportblock.bin
Dissemos ao Hyperledger Besu para exportar blocos de 100 a 300 da rede principal para esse local em nosso computador. ~/home/exportblock.bin
O subcomando difere de uma opção porque é o subcomando que diz ao computador para executar outro programa, enquanto uma opção diz ao computador para modificar os parâmetros do comando original. Os subcomandos são de curta duração e dão ao usuário funcionalidade relacionada a blocos, chaves ou a uma configuração, fazem uma tarefa rápida específica, e depois saem. Eles não mantêm o comando em execução ou se conectam a uma rede.
Um subcomando e uma opção são diferentes nas formas em que interagem com o programa. Como vimos anteriormente, uma opção modifica um programa, fornecendo-lhe certos parâmetros. O subcomando, por outro lado, está na verdade dizendo ao programa para executar outra operação por completo.
Exemplos
Em nosso primeiro exemplo, vamos criar uma blockchain de desenvolvimento local que utiliza o consenso PoW, queremos a quantidade máxima de verbosidade (ou informação) que os logs fornecem e que o output da linha de comando seja codificada por cores. Isto se parece com:
besu –network=dev –logging=ALL –color-enabled=true
–network=dev é a opção de criar uma blockchain de desenvolvimento local com consenso PoW
–logging=ALL é a opção para fornecer o máximo de verbosidade dos logs
–color-enabled=true é a opção para codificar por cores os outputs da linha de comando.
Em nosso segundo exemplo, estamos usando opções e subcomandos para criar um endereço para um Nó em uma rede permissionada criada usando Clique PoA. Como parte da configuração da rede, precisamos exportar um endereço para o Nó que iniciará a rede. Isto parece com:
besu –data-path=data public-key export-address –to=data/nodeAddress1
–data-path= data é uma opção que indica a localização do banco de dados em disco. Neste caso, está dentro da pasta dados.
public-key export-address to=data/nodeAddress1 é um subcomando que fornece o endereço do nó para o arquivo nodeAddress1, que estará dentro da pasta dados
Acabamos de tocar a superfície do que pode ser realizado utilizando opções e subcomandos. Encorajamos você a explorar mais as opções e os subcomandos, e depois venha juntar-se a nós no Discord ConsenSys para conversar sobre como você está usando o Hyperledger Besu.
Este artigo foi escrito por Thomas Hay, traduzido por Fátima Lima e seu original pode ser lido aqui.
16 de setembro de 2021
Abrace a oportunidade de elevar sua jornada de desenvolvimento para um nível superior. Personalizar o Hyperledge Besu é apenas o começo; os builds incríveis da WEB3DEV representam a chave de entrada para o emocionante cenário web3. 🚀🧑💻
Não perca tempo, 👉inscreva-se👈 agora mesmo e comece a desbravar o universo Blockchain!
Seja também WEB3DEV!
Top comments (0)