mirror of
				https://github.com/ChristopherA/Learning-Bitcoin-from-the-Command-Line.git
				synced 2025-10-31 02:17:24 +00:00 
			
		
		
		
	Merge pull request #493 from namcios/portuguese-translation
PT: Fix links to `src` files
This commit is contained in:
		
						commit
						c3be3b7825
					
				| @ -397,7 +397,7 @@ alias btcunspent="bitcoin-cli listunspent | jq -r '.[] | { txid: .txid, vout: .v | |||||||
| 
 | 
 | ||||||
| ## Executando o Script de Taxa de Transação | ## Executando o Script de Taxa de Transação | ||||||
| 
 | 
 | ||||||
| O [Script de Cálculo de Taxa](src/04_2_i_txfee-calc.sh) está disponível no diretório `src/`. Você pode baixá-lo e salvá-lo como ```txfee-calc.sh```. | O [Script de Cálculo de Taxa](../src/04_2_i_txfee-calc.sh) está disponível no diretório `src/`. Você pode baixá-lo e salvá-lo como ```txfee-calc.sh```. | ||||||
| 
 | 
 | ||||||
| > :warning: **ATENÇÃO:** Este script não foi verificado extensivamente. Se for usá-lo para verificar as taxas de transação reais, só deve fazê-lo depois de fazer uma verificação pessoal dos valores. | > :warning: **ATENÇÃO:** Este script não foi verificado extensivamente. Se for usá-lo para verificar as taxas de transação reais, só deve fazê-lo depois de fazer uma verificação pessoal dos valores. | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -68,7 +68,7 @@ Para completar nossa serialização, traduzimos o código hexadecimal em binári | |||||||
| 
 | 
 | ||||||
| ## Executando o Script de Conversão de Inteiros | ## Executando o Script de Conversão de Inteiros | ||||||
| 
 | 
 | ||||||
| Um script completo para alterar um número inteiro entre -2147483647 e 2147483647 para uma representação de magnitude assinada do tipo _little-endian_ em hexadecimal pode ser encontrado no [diretório de código src](src/10_2_integer2lehex.sh). Podemos baixar o ```integeer2lehex.sh```. | Um script completo para alterar um número inteiro entre -2147483647 e 2147483647 para uma representação de magnitude assinada do tipo _little-endian_ em hexadecimal pode ser encontrado no [diretório de código src](../src/10_2_integer2lehex.sh). Podemos baixar o ```integeer2lehex.sh```. | ||||||
| 
 | 
 | ||||||
| > :warning: **AVISO:** Este script não foi verificado de forma consistente. Se formos utilizá-lo para criar scripts de bloqueio reais, precisamos nos certificar de verificar e testar os resultados. | > :warning: **AVISO:** Este script não foi verificado de forma consistente. Se formos utilizá-lo para criar scripts de bloqueio reais, precisamos nos certificar de verificar e testar os resultados. | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -26,7 +26,7 @@ $ sudo apt-get install git | |||||||
| $ git clone https://github.com/gitmarek/libbitcoinrpc | $ git clone https://github.com/gitmarek/libbitcoinrpc | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| > :warning: **ATENÇÃO** Uma alteração no RPC "signrawtransaction" causou uma assinatura com ``libbitcoinrpc`` para o segfault no Bitcoin 0.17 ou superior. O [Pull Request foi submetido](https://github.com/gitmarek/libbitcoinrpc/pull/1/commits) para resolver o problema, mas se ainda não tiver sido feito o merge,  podemos simplesmente fazer uma simples mudança no código-fonte para ``src/bitcoinrpc_method.c`` antes de compilarmos. | > :warning: **ATENÇÃO** Uma alteração no RPC "signrawtransaction" causou uma assinatura com ``libbitcoinrpc`` para o segfault no Bitcoin 0.17 ou superior. O [Pull Request foi submetido](https://github.com/gitmarek/libbitcoinrpc/pull/1/commits) para resolver o problema, mas se ainda não tiver sido feito o merge, podemos simplesmente fazer uma simples mudança no código-fonte para ``src/bitcoinrpc_method.c`` antes de compilarmos. | ||||||
| 
 | 
 | ||||||
| ### Compilando o libbitcoinrpc | ### Compilando o libbitcoinrpc | ||||||
| 
 | 
 | ||||||
| @ -155,7 +155,7 @@ bitcoinrpc_global_cleanup(); | |||||||
| 
 | 
 | ||||||
| ### Testando o Código de Teste | ### Testando o Código de Teste | ||||||
| 
 | 
 | ||||||
| O código de teste pode ser encontrado [no diretório src com o nome 15_1_testbitcoin.c](src/15_1_testbitcoin.c). Vamos fazer o download para a nossa máquina TestNet e depois inserir a senha correta do RPC (e alterar o usuário RPC se não tivermos criado o servidor com StandUp). | O código de teste pode ser encontrado [no diretório src com o nome 16_1_testbitcoin.c](../src/16_1_testbitcoin.c). Vamos fazer o download para a nossa máquina TestNet e depois inserir a senha correta do RPC (e alterar o usuário RPC se não tivermos criado o servidor com StandUp). | ||||||
| 
 | 
 | ||||||
| Podemos compilar e executar o código da seguinte maneira: | Podemos compilar e executar o código da seguinte maneira: | ||||||
| ``` | ``` | ||||||
| @ -223,7 +223,7 @@ printf("Block Count: %d\n",blocks); | |||||||
| 
 | 
 | ||||||
| ### Testando o Código de Informação | ### Testando o Código de Informação | ||||||
| 
 | 
 | ||||||
| Vamos recuperar o código de teste que está no [diretório src](15_1_GetMiningInfo.c). | Vamos recuperar o código de teste que está no [diretório src](../src/16_1_getmininginfo.c). | ||||||
| ``` | ``` | ||||||
| $ cc getmininginfo.c -lbitcoinrpc -ljansson -o getmininginfo | $ cc getmininginfo.c -lbitcoinrpc -ljansson -o getmininginfo | ||||||
| $ ./getmininginfo  | $ ./getmininginfo  | ||||||
|  | |||||||
| @ -330,7 +330,7 @@ O código inteiro, com um _pouco_ mais verificação de erros, está disponível | |||||||
| 
 | 
 | ||||||
| ## Testando o Código | ## Testando o Código | ||||||
| 
 | 
 | ||||||
| O código completo pode ser encontrado no [diretório src/](src/16_2_sendtoaddress.c). | O código completo pode ser encontrado no [diretório src/](../src/16_2_sendtoaddress.c). | ||||||
| 
 | 
 | ||||||
| Compile-o como de costume: | Compile-o como de costume: | ||||||
| ``` | ``` | ||||||
|  | |||||||
| @ -121,7 +121,7 @@ Claro, quando terminar o processo, precisamos limpar tudo: | |||||||
| 
 | 
 | ||||||
| ### Testando o Código de Notificação | ### Testando o Código de Notificação | ||||||
| 
 | 
 | ||||||
| O código-fonte completo está no [diretório src/](src/15_3_chainlistener.c) como de costume. Precisamos compilá-lo: | O código-fonte completo está no [diretório src/](../src/16_3_chainlistener.c) como de costume. Precisamos compilá-lo: | ||||||
| ``` | ``` | ||||||
| $ cc -o chainlistener chainlistener.c -I/usr/local/include -L/usr/local/lib -lzmq -lczmq | $ cc -o chainlistener chainlistener.c -I/usr/local/include -L/usr/local/lib -lzmq -lczmq | ||||||
| ``` | ``` | ||||||
|  | |||||||
| @ -129,7 +129,7 @@ Em ambos os casos, o argumento é para flags, mas atualmente está definido como | |||||||
| 
 | 
 | ||||||
| ## Testando um Programa de Teste da Libwally | ## Testando um Programa de Teste da Libwally | ||||||
| 
 | 
 | ||||||
| O diretório src contém o arquivo [testwally.c](src/17_1_testwally.c), que apenas mostra como funcionam as funções de inicialização e de limpeza. | O diretório src contém o arquivo [testwally.c](../src/17_1_testwally.c), que apenas mostra como funcionam as funções de inicialização e de limpeza. | ||||||
| 
 | 
 | ||||||
| Podemos compilá-lo da seguinte maneira: | Podemos compilá-lo da seguinte maneira: | ||||||
| ``` | ``` | ||||||
|  | |||||||
| @ -82,7 +82,7 @@ Se dizermos tudo certo, devemos obter uma seed de 64 bytes. (Essa é a variável | |||||||
| 
 | 
 | ||||||
| ## Testando o Código Mnemônico | ## Testando o Código Mnemônico | ||||||
| 
 | 
 | ||||||
| O código completo para gerar entropia, gerar um mnemônico BIP39, validar o mnemônico e gerar uma seed pode ser encontrado no [diretório src/](src/17_2_genmnemonic.c). Podemos fazer o download e compilar: | O código completo para gerar entropia, gerar um mnemônico BIP39, validar o mnemônico e gerar uma seed pode ser encontrado no [diretório src/](../src/17_2_genmnemonic.c). Podemos fazer o download e compilar: | ||||||
| ``` | ``` | ||||||
| $ cc genmnemonic.c -lwallycore -lsodium -o genmnemonic | $ cc genmnemonic.c -lwallycore -lsodium -o genmnemonic | ||||||
| ``` | ``` | ||||||
|  | |||||||
| @ -115,7 +115,7 @@ Há também uma função `wally_bip32_key_to_address`, que pode ser usada para g | |||||||
| 
 | 
 | ||||||
| ## Testando o Código HD | ## Testando o Código HD | ||||||
| 
 | 
 | ||||||
| O código para esses exemplos HD pode, como de costume, ser encontrado no [diretório src/](src/17_3_genhd.c). | O código para esses exemplos HD pode, como de costume, ser encontrado no [diretório src/](../src/17_3_genhd.c). | ||||||
| 
 | 
 | ||||||
| Podemos compilá-lo e testá-lo: | Podemos compilá-lo e testá-lo: | ||||||
| ``` | ``` | ||||||
|  | |||||||
| @ -116,7 +116,7 @@ Obviamente, há muito mais coisas que poderemos observar nos PSBTs. Na verdade, | |||||||
| 
 | 
 | ||||||
| ### Testando Nosso Leitor PSBT | ### Testando Nosso Leitor PSBT | ||||||
|   |   | ||||||
| Novamente, o código para este leitor PSBT (extremamente rudimentar e específico) está no [diretório src/](src/17_4_examinepsbt.c). | Novamente, o código para este leitor PSBT (extremamente rudimentar e específico) está no [diretório src/](../src/17_4_examinepsbt.c). | ||||||
| 
 | 
 | ||||||
| Podemos compilá-lo normalmente: | Podemos compilá-lo normalmente: | ||||||
| ``` | ``` | ||||||
| @ -289,7 +289,7 @@ Mas o que temos ainda não é um PSBT legal, por falta de entradas. Podemos cri | |||||||
| ``` | ``` | ||||||
| ### Testando nosso PSBT Criado | ### Testando nosso PSBT Criado | ||||||
| 
 | 
 | ||||||
| Neste ponto, devemos ter um PSBT vazio, mas funcionando, que pode ser visto compilando e executando [o programa](src/17_4_createemptypsbt.c). | Neste ponto, devemos ter um PSBT vazio, mas funcionando, que pode ser visto compilando e executando [o programa](../src/17_4_createemptypsbt.c). | ||||||
| ``` | ``` | ||||||
| $ cc createemptypsbt.c -lwallycore -o createemptypsbt | $ cc createemptypsbt.c -lwallycore -o createemptypsbt | ||||||
| $ ./createemptypsbt  | $ ./createemptypsbt  | ||||||
|  | |||||||
| @ -112,7 +112,7 @@ Mostraremos como fazer uso disso na seção §17.7. | |||||||
| 
 | 
 | ||||||
| ## Testando Nosso Script de Substituição | ## Testando Nosso Script de Substituição | ||||||
| 
 | 
 | ||||||
| Podemos pegar o código de teste do [diretório src/](src/17_5_replacewithscript.c) e compilá-lo: | Podemos pegar o código de teste do [diretório src/](../src/17_5_replacewithscript.c) e compilá-lo: | ||||||
| ``` | ``` | ||||||
| $  cc replacewithscript.c -lwallycore -o replacewithscript | $  cc replacewithscript.c -lwallycore -o replacewithscript | ||||||
| ``` | ``` | ||||||
|  | |||||||
| @ -33,7 +33,7 @@ $ utxo_vout=$(bitcoin-cli listunspent | jq -r '.[0] | .vout') | |||||||
| $ recipient=tb1qycsmq3jas5wkhf8xrfn8k7438cm5pc8h9ae2k0 | $ recipient=tb1qycsmq3jas5wkhf8xrfn8k7438cm5pc8h9ae2k0 | ||||||
| $ rawtxhex=$(bitcoin-cli -named createrawtransaction inputs='''[ { "txid": "'$utxo_txid'", "vout": '$utxo_vout' } ]''' outputs='''{ "'$recipient'": 0.0009 }''') | $ rawtxhex=$(bitcoin-cli -named createrawtransaction inputs='''[ { "txid": "'$utxo_txid'", "vout": '$utxo_vout' } ]''' outputs='''{ "'$recipient'": 0.0009 }''') | ||||||
| ``` | ``` | ||||||
| Embora tenhamos colocado um destinatário e uma quantia na saída, isto é irrelevante, porque nós o reescreveremos. Um código mais elaborado poderia ler as informações `vout` existentes antes de reescrever, mas estamos mantendo as coisas muito próximas do nosso [código original](src/17_5_replacewithscript.c). | Embora tenhamos colocado um destinatário e uma quantia na saída, isto é irrelevante, porque nós o reescreveremos. Um código mais elaborado poderia ler as informações `vout` existentes antes de reescrever, mas estamos mantendo as coisas muito próximas do nosso [código original](../src/17_5_replacewithscript.c). | ||||||
| 
 | 
 | ||||||
| Aqui está a única alteração necessária, para permitir que especifiquemos os satoshis no `vout`, sem ter que codificá-lo, como no original: | Aqui está a única alteração necessária, para permitir que especifiquemos os satoshis no `vout`, sem ter que codificá-lo, como no original: | ||||||
| ``` | ``` | ||||||
| @ -182,7 +182,7 @@ Infelizmente, nem todas as interações entre a Libwally e o `bitcoin-cli` são | |||||||
| 
 | 
 | ||||||
| ## Importando Chaves Privadas | ## Importando Chaves Privadas | ||||||
| 
 | 
 | ||||||
| Felizmente, podemos fazer quase a mesma coisa importando uma chave privada gerada na Libwally. Dê uma olhada no [genhd-for-import.c](src/17_7_genhd_for_import.c), uma versão simplificada do programa `genhd` da seção [§17.3](17_3_Using_BIP32_in_Libwally.md) que também usa a biblioteca `jansson` da seção [§16.1](16_1_Accessing_Bitcoind_with_C.md) para saída regularizada. | Felizmente, podemos fazer quase a mesma coisa importando uma chave privada gerada na Libwally. Dê uma olhada no [genhd-for-import.c](../src/17_7_genhd_for_import.c), uma versão simplificada do programa `genhd` da seção [§17.3](17_3_Using_BIP32_in_Libwally.md) que também usa a biblioteca `jansson` da seção [§16.1](16_1_Accessing_Bitcoind_with_C.md) para saída regularizada. | ||||||
| 
 | 
 | ||||||
| O código atualizado também contém uma alteração importante, pois ele solicita uma impressão digital da Libwally para que se possa criar um caminho de derivação de maneira adequada: | O código atualizado também contém uma alteração importante, pois ele solicita uma impressão digital da Libwally para que se possa criar um caminho de derivação de maneira adequada: | ||||||
| ``` | ``` | ||||||
|  | |||||||
| @ -160,7 +160,7 @@ No entanto, uma peculiaridade com hashes no `rpcclient` é que normalmente eles | |||||||
| 
 | 
 | ||||||
| ### Executando Nosso Código | ### Executando Nosso Código | ||||||
| 
 | 
 | ||||||
| Podemos baixar o código completo do [diretório src](src/18_1_blockinfo.go). | Podemos baixar o código completo do [diretório src](../src/18_1_blockinfo.go). | ||||||
| 
 | 
 | ||||||
| Podemos então, executar: | Podemos então, executar: | ||||||
| ``` | ``` | ||||||
| @ -185,7 +185,7 @@ Devido às limitações do `btcd` no `rpcclient`, não podemos fazer uso da fun | |||||||
| ``` | ``` | ||||||
| O `client.GetBalance("*")` requer a entrada `"*"` devido a uma peculiaridade do `btcd`. O asterisco significa que desejamos obter o saldo de todas as nossas carteiras. | O `client.GetBalance("*")` requer a entrada `"*"` devido a uma peculiaridade do `btcd`. O asterisco significa que desejamos obter o saldo de todas as nossas carteiras. | ||||||
| 
 | 
 | ||||||
| Se executarmos [o código src](src/18_1_getbalance.go), deveremos obter uma saída semelhante a esta: | Se executarmos [o código src](../src/18_1_getbalance.go), deveremos obter uma saída semelhante a esta: | ||||||
| ``` | ``` | ||||||
| $ go run getbalance.go  | $ go run getbalance.go  | ||||||
| 0.000689 BTC | 0.000689 BTC | ||||||
| @ -281,7 +281,7 @@ Só depois disso usamos o RPC `getreceivedbyaddress` no nosso endereço decodifi | |||||||
| 
 | 
 | ||||||
| 	fmt.Println(wallet) | 	fmt.Println(wallet) | ||||||
| ``` | ``` | ||||||
| Ao executar [o código](src/18_1_getamountreceived.go), devemos obter uma saída semelhante a esta: | Ao executar [o código](../src/18_1_getamountreceived.go), devemos obter uma saída semelhante a esta: | ||||||
| ``` | ``` | ||||||
| $ go run getamountreceived.go  | $ go run getamountreceived.go  | ||||||
| 0.0085 BTC | 0.0085 BTC | ||||||
| @ -333,7 +333,7 @@ func main() { | |||||||
| 	fmt.Println(sent) | 	fmt.Println(sent) | ||||||
| } | } | ||||||
| ``` | ``` | ||||||
| Quando executamos [o código](src/18_1_sendtransaction.go), o txid da transação nos será retornado: | Quando executamos [o código](../src/18_1_sendtransaction.go), o txid da transação nos será retornado: | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
| $ go run sendtransaction.go | $ go run sendtransaction.go | ||||||
| @ -382,7 +382,7 @@ func main() { | |||||||
| ``` | ``` | ||||||
| > **NOTA:** Novamente, vamos querer trocar o txid por um que realmente será reconhecido pelo nosso sistema. | > **NOTA:** Novamente, vamos querer trocar o txid por um que realmente será reconhecido pelo nosso sistema. | ||||||
| 
 | 
 | ||||||
| Ao executar [o código](src/18_1_lookuptransaction.go), ele imprimirá os detalhes associados a uma transação, como seu valor e quantas vezes foi confirmada: | Ao executar [o código](../src/18_1_lookuptransaction.go), ele imprimirá os detalhes associados a uma transação, como seu valor e quantas vezes foi confirmada: | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
| $ go run lookuptransaction.go | $ go run lookuptransaction.go | ||||||
|  | |||||||
| @ -154,7 +154,7 @@ PubKey: 0368d0fffa651783524f8b934d24d03b32bf8ff2c0808943a556b3d74b2e5c7d65 | |||||||
| 
 | 
 | ||||||
| ### Executando Nosso Código | ### Executando Nosso Código | ||||||
| 
 | 
 | ||||||
| O código para esses exemplos pode ser encontrado no [diretório src/](src/18_2_App-getinfo.java) e deve ser instalado na estrutura de diretório padrão criada neste caso como `~/java-project/src/main/java/com/blockchaincommons/lbtc/App.java`. Ele pode então ser compilado e executado. | O código para esses exemplos pode ser encontrado no [diretório src/](../src/18_2_App-getinfo.java) e deve ser instalado na estrutura de diretório padrão criada neste caso como `~/java-project/src/main/java/com/blockchaincommons/lbtc/App.java`. Ele pode então ser compilado e executado. | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
| $ mvn compile | $ mvn compile | ||||||
| @ -277,7 +277,7 @@ System.out.println("Sent signedRawTx (txID): " + sentRawTransactionID); | |||||||
| 
 | 
 | ||||||
| ### Executando Nosso Código | ### Executando Nosso Código | ||||||
| 
 | 
 | ||||||
| Agora podemos executar [o código da transação](src/18_2_App-sendtx.java) como `~/java-project/src/main/java/com/blockchaincommons/lbtc/App.java`. | Agora podemos executar [o código da transação](../src/18_2_App-sendtx.java) como `~/java-project/src/main/java/com/blockchaincommons/lbtc/App.java`. | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
| $ mvn compile | $ mvn compile | ||||||
| @ -316,7 +316,7 @@ Para fazer isso, podemos usar a classe `BitcoinAcceptor` do `JavaBitcoindRpcClie | |||||||
|   acceptor.run(); |   acceptor.run(); | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| Veja [o diretório src/](src/18_2_App-listen.java) para o código completo. Cada vez que uma transação é enviada ou um novo bloco é gerado, devemos ver a saída em nosso console: | Veja [o diretório src/](../src/18_2_App-listen.java) para o código completo. Cada vez que uma transação é enviada ou um novo bloco é gerado, devemos ver a saída em nosso console: | ||||||
| ``` | ``` | ||||||
| Transaction: {account=Tests, address=mhopuJzgmTwhGfpNLCJ9CRknugY691oXp1, category=receive, amount=5.0E-4, label=Tests, vout=1, confirmations=0, trusted=false, txid=361e8fcff243b74ebf396e595a007636654f67c3c7b55fd2860a3d37772155eb, walletconflicts=[], time=1513132887, timereceived=1513132887, bip125-replaceable=unknown} | Transaction: {account=Tests, address=mhopuJzgmTwhGfpNLCJ9CRknugY691oXp1, category=receive, amount=5.0E-4, label=Tests, vout=1, confirmations=0, trusted=false, txid=361e8fcff243b74ebf396e595a007636654f67c3c7b55fd2860a3d37772155eb, walletconflicts=[], time=1513132887, timereceived=1513132887, bip125-replaceable=unknown} | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -109,7 +109,7 @@ O resultado das funções BCRPC é um objeto JSON contendo informações sobre q | |||||||
| 
 | 
 | ||||||
| ### Executando Nosso Código | ### Executando Nosso Código | ||||||
| 
 | 
 | ||||||
| Podemos encontrar o código `getinfo` no [diretório src/](src/18_3_getinfo.js). | Podemos encontrar o código `getinfo` no [diretório src/](../src/18_3_getinfo.js). | ||||||
| ``` | ``` | ||||||
| $ node getinfo.js | $ node getinfo.js | ||||||
| 1831094 | 1831094 | ||||||
| @ -162,7 +162,7 @@ agent.getWalletInfo(function (err, walletInfo) { | |||||||
| }); | }); | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| O código está disponível como [walletinfo.js](src/18_3_walletinfo.js). | O código está disponível como [walletinfo.js](../src/18_3_walletinfo.js). | ||||||
| ``` | ``` | ||||||
| $ node walletinfo.js | $ node walletinfo.js | ||||||
| 0.008498 | 0.008498 | ||||||
| @ -260,7 +260,7 @@ Devemos obter uma saída semelhante a esta: | |||||||
| } | } | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| O código completo está disponível no [sendtx.js](src/18_3_sendtx.js). | O código completo está disponível no [sendtx.js](../src/18_3_sendtx.js). | ||||||
| 
 | 
 | ||||||
| ## Resumo: Acessando o Bitcoind com NodeJS | ## Resumo: Acessando o Bitcoind com NodeJS | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -128,7 +128,7 @@ print("---------------------------------------------------------------\n") | |||||||
| 
 | 
 | ||||||
| ### Executando nosso código | ### Executando nosso código | ||||||
| 
 | 
 | ||||||
| Podemos usar [o código que está no src/](src/18_4_getinfo.py) e executá-lo com `python3`: | Podemos usar [o código que está no src/](../src/18_4_getinfo.py) e executá-lo com `python3`: | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
| $ python3 getinfo.py | $ python3 getinfo.py | ||||||
| @ -244,7 +244,7 @@ pprint(utxo_tx_details) | |||||||
| print("---------------------------------------------------------------\n") | print("---------------------------------------------------------------\n") | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| Este código está disponível no arquivo [walletinfo.py](src/18_4_walletinfo.py). | Este código está disponível no arquivo [walletinfo.py](../src/18_4_walletinfo.py). | ||||||
| ``` | ``` | ||||||
| $ python3 walletinfo.py  | $ python3 walletinfo.py  | ||||||
| --------------------------------------------------------------- | --------------------------------------------------------------- | ||||||
| @ -422,7 +422,7 @@ send_tx = rpc_client.sendrawtransaction(signed_tx['hex']) | |||||||
| ``` | ``` | ||||||
| ### Executando Nosso Código | ### Executando Nosso Código | ||||||
| 
 | 
 | ||||||
| [Este código](src/18_4_sendtx.py) está cheio de instruções com `print` para demonstrar todos os dados disponíveis a cada momento: | [Este código](../src/18_4_sendtx.py) está cheio de instruções com `print` para demonstrar todos os dados disponíveis a cada momento: | ||||||
| ``` | ``` | ||||||
| $ python3 sendtx.py  | $ python3 sendtx.py  | ||||||
| Creating a Transaction | Creating a Transaction | ||||||
|  | |||||||
| @ -134,7 +134,7 @@ Aqui está o código completo para recuperar um hash de bloco, transformando-o e | |||||||
| 
 | 
 | ||||||
| ### Executando Nosso Código | ### Executando Nosso Código | ||||||
| 
 | 
 | ||||||
| Podemos acessar o [código src](src/18_5_main-getinfo.rs) e executá-lo. Infelizmente, a informação do "Block" sairá um pouco feia porque este exemplo não inclui uma biblioteca para embelezá-la. | Podemos acessar o [código src](../src/18_5_main-getinfo.rs) e executá-lo. Infelizmente, a informação do "Block" sairá um pouco feia porque este exemplo não inclui uma biblioteca para embelezá-la. | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
| $ cargo run  | $ cargo run  | ||||||
| @ -289,7 +289,7 @@ println!("{:?}", txid_sent); | |||||||
| 
 | 
 | ||||||
| ### Executando Nosso Código | ### Executando Nosso Código | ||||||
| 
 | 
 | ||||||
| Agora podemos executar o código completo do [src](src/18_5_main-sendtx.rs). | Agora podemos executar o código completo do [src](../src/18_5_main-sendtx.rs). | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
|  | |||||||
| @ -191,7 +191,7 @@ makeCommand(method: method,param: param) { result in | |||||||
| 
 | 
 | ||||||
| ### Executando Nosso Código | ### Executando Nosso Código | ||||||
| 
 | 
 | ||||||
| O código completo está disponível no [diretório src/](src/18_6_getinfo.playground). Carregue-o no playground Xcode e, em seguida, "Editor -> Executar Playground" e devemos obter resultados como: | O código completo está disponível no [diretório src/](../src/18_6_getinfo.playground). Carregue-o no playground Xcode e, em seguida, "Editor -> Executar Playground" e devemos obter resultados como: | ||||||
| ``` | ``` | ||||||
| { | { | ||||||
|     bestblockhash = 00000000000000069725608ebc5b59e520572a8088cbc57ffa5ba87b7f300ac7; |     bestblockhash = 00000000000000069725608ebc5b59e520572a8088cbc57ffa5ba87b7f300ac7; | ||||||
| @ -384,7 +384,7 @@ Enviar nossa transação é igualmente simples: | |||||||
| } | } | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| O código para este remetente de transação pode ser encontrado no [diretório src/](src/18_6_sendtx.playground). | O código para este remetente de transação pode ser encontrado no [diretório src/](../src/18_6_sendtx.playground). | ||||||
| 
 | 
 | ||||||
| ## Usando o Swift de Outras Maneiras | ## Usando o Swift de Outras Maneiras | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user