Session 3.3 reviewed

This commit is contained in:
KoreaComK 2021-06-26 12:53:51 -03:00
parent db47d723b9
commit 835aa32238

View File

@ -1,13 +1,13 @@
# Usando variáveis de linha de comando # Usando variáveis de linha de comando
A seção anterior demonstrou vários comandos de linha de comando usados sem ofuscação ou interferência. No entanto, geralmente essa não é a melhor maneira de executar Bitcoin na linha de comando. Como você está lidando com variáveis longas, complexas e ilegíveis, é fácil cometer um erro se você estiver copiando essas variáveis (ou, satoshi forfend, se você as estiver digitando manualmente). Como essas variáveis podem significar a diferença entre receber e perder dinheiro real, você não _quer_ cometer erros. Por esses motivos, sugerimos enfaticamente o uso de variáveis de linha de comando para salvar endereços, assinaturas ou outras cadeias de informações longas sempre que for razoável. A sessão anterior demonstrou vários comandos de linha de comando usados sem ofuscação ou interferência. No entanto, geralmente essa não é a melhor maneira de executar o Bitcoin usando a linha de comando. Como estamos lidando com variáveis longas, complexas e difíceis de serem lidas, é fácil cometer um erro se estivermos copiando essas variáveis (ou, perder alguns satoshis, se as digitarmos manualmente). Como essas variáveis podem significar a diferença entre receber e perder dinheiro quando usarmos a Mainnet, não _queremos_ cometer erros. Por esses motivos, sugerimos enfaticamente o uso de variáveis de linha de comando para salvar endereços, assinaturas ou outras cadeias de informações longas sempre que isso for razoável.
Se estiver usando `bash`, você pode salvar as informações em uma variável como esta: Se estiver usando `bash`, podemos salvar as informações em uma variável como esta:
``` ```
$ VARIABLE=$(command) $ VARIABLE=$(command)
``` ```
Esta é uma substituição de comando simples, o equivalente a `VARIABLE = command`. O comando entre parênteses é executado e, em seguida, atribuído à VARIÁVEL. Esta é uma substituição de um comando simples, o equivalente a `VARIABLE = command`. O comando entre parênteses é executado e, em seguida, atribuído à VARIABLE.
Para criar um novo endereço, seria assim: Para criar um novo endereço, seria assim:
``` ```
@ -16,25 +16,25 @@ $ NEW_ADDRESS_1=$(bitcoin-cli getnewaddress "" legacy)
``` ```
Esses comandos limpam a variável NEW_ADDRESS_1, apenas para ter certeza, e então a preenchem com os resultados do comando `bitcoin-cli getnewaddress`. Esses comandos limpam a variável NEW_ADDRESS_1, apenas para ter certeza, e então a preenchem com os resultados do comando `bitcoin-cli getnewaddress`.
Você pode então usar o comando `echo` do seu shell para ver o seu (novo) endereço: Podemos então usar o comando `echo` do shell para vermos nosso (novo) endereço:
``` ```
$ echo $NEW_ADDRESS_1 $ echo $NEW_ADDRESS_1
mi25UrzHnvn3bpEfFCNqJhPWJn5b77a5NE mi25UrzHnvn3bpEfFCNqJhPWJn5b77a5NE
``` ```
Como seu endereço está em uma variável, agora você pode assinar facilmente uma mensagem para esse endereço, sem se preocupar em digitar o endereço incorretamente. É claro que você também salvará essa assinatura em uma variável! Como nosso endereço está em uma variável, agora podemos assinar facilmente uma mensagem para esse endereço, sem nos preocupar em digitar o endereço incorretamente. É claro que também salvaremos essa assinatura em uma variável!
``` ```
$ NEW_SIG_1=$(bitcoin-cli signmessage $NEW_ADDRESS_1 "Hello, World") $ NEW_SIG_1=$(bitcoin-cli signmessage $NEW_ADDRESS_1 "Hello, World")
$ echo $NEW_SIG_1 $ echo $NEW_SIG_1
IPYIzgj+Rg4bxDwCyoPiFiNNcxWHYxgVcklhmN8aB2XRRJqV731Xu9XkfZ6oxj+QGCRmTe80X81EpXtmGUpXOM4= IPYIzgj+Rg4bxDwCyoPiFiNNcxWHYxgVcklhmN8aB2XRRJqV731Xu9XkfZ6oxj+QGCRmTe80X81EpXtmGUpXOM4=
``` ```
O restante deste tutorial usará esse estilo de armazenar informações em variáveis quando for prático. O restante deste tutorial usará esse estilo de armazenamento de informações quando for mais prático.
> :book: ***Quando não é prático usar variáveis de linha de comando?*** Variáveis de linha de comando não são práticas se você precisar usar as informações em algum lugar diferente da linha de comando. Por exemplo, salvar sua assinatura pode não ser útil se você apenas tiver que enviá-la a outra pessoa por e-mail. Além disso, alguns comandos futuros produzirão objetos JSON em vez de informações simples, e as variáveis não podem ser usadas para capturar essas informações ... pelo menos não sem um _pouco_ de mais trabalho. > :book: ***Quando não é prático usar variáveis de linha de comando?*** Variáveis de linha de comando não são práticas se precisarmos usar as informações em algum lugar diferente da linha de comando. Por exemplo, salvar a assinatura pode não ser útil se tivermos que enviá-la a outra pessoa por e-mail. Além disso, alguns comandos futuros produzirão objetos JSON ao invés de informações simples, e as variáveis não podem ser usadas para capturar essas informações, ao menos não sem um _pouco_ mais de mais trabalho.
## Resumo: Usando variáveis de linha de comando ## Resumo do Usando variáveis de linha de comando
Variáveis de shell podem ser usadas para manter longas strings, minimizando as chances de erros. Variáveis de shell podem ser usadas para manter longas strings, minimizando as chances de erros.
## Mas o que vem a seguir? ## O Que Vem Depois?
Continue "Compreendendo a configuração do seu node Bitcoin" com [3.4: Recebendo uma transação](03_4_Receiving_a_Transaction.md). Vamos continuar "Compreendendo a configuração do node Bitcoin" na sessão [3.4: Recebendo uma transação](03_4_Receiving_a_Transaction.md).