Skip to content

Commit 7ab1c58

Browse files
committed
Review 18_2
1 parent 1be8fd8 commit 7ab1c58

1 file changed

Lines changed: 29 additions & 29 deletions

File tree

pt/18_2_Accessing_Bitcoind_with_Java.md

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 17.2: Acessando o Bitcoind com Java
1+
# 18.2: Acessando o Bitcoind com Java
22

33
> :information_source: **NOTA:** Esta seção foi adicionada recentemente ao curso e é um rascunho inicial que ainda pode estar aguardando revisão.
44
@@ -19,7 +19,7 @@ OpenJDK Runtime Environment (build 11.0.8+10-post-Debian-1deb10u1)
1919
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Debian-1deb10u1, mixed mode, sharing)
2020
```
2121

22-
### Criando um projeto Maven
22+
### Criando um Projeto Maven
2323

2424
Para programar o Bitcoin usando o java, criaremos um projeto Maven:
2525
```
@@ -57,7 +57,7 @@ Para incluir o `JavaBitcoindRpcClient`, devemos adicionar nossa dependência a `
5757
<version>1.2.1</version>
5858
</dependency>
5959
```
60-
Também precisa adicionar propriedades do compilador para indicar qual versão do JDK compilará o código-fonte.
60+
Também precisamos adicionar propriedades do compilador para indicar qual versão do JDK compilará o código-fonte.
6161

6262
```
6363
<properties>
@@ -68,7 +68,7 @@ Também precisa adicionar propriedades do compilador para indicar qual versão d
6868
</properties>
6969
```
7070

71-
Sempre que adicionarmos um código-fonte às nossas aulas, poderemos testá-lo com:
71+
Sempre que adicionarmos um código-fonte às nossas classes, poderemos testá-lo com:
7272
```
7373
$ mvn compile
7474
```
@@ -79,16 +79,16 @@ $ mvn exec:java -Dexec.mainClass=com.blockchaincommons.lbtc.App
7979

8080
### Criando Projetos Alternativos
8181

82-
Se usamos o [Gradle](https://gradle.org/releases/), podemos executar o seguinte comando:
82+
Se usarmos o [Gradle](https://gradle.org/releases/), poderemos executar o seguinte comando:
8383
```groovy
8484
compile 'wf.bitcoin:JavaBitcoindRpcClient:1.2.1'
8585
```
8686

87-
Se quisermos um projeto de amostra e algumas instruções sobre como executá-lo no servidor que acabamos de criar, podemos consultar o [Projeto de amostra do Bitcoind Java](https://github.com/brunocvcunha/bitcoind-java-client- amostra/). Também pode navegar por todo o código de origem do [bitcoin-rpc-client](https://github.com/Polve/bitcoin-rpc-client).
87+
Se quisermos um projeto de amostra e algumas instruções sobre como executá-lo no servidor que acabamos de criar, podemos consultar o [Projeto de amostra do Bitcoind Java](https://github.com/bvolpato/bitcoind-java-client-sample). Também podemos navegar por todo o código de origem do [bitcoin-rpc-client](https://github.com/Polve/bitcoin-rpc-client).
8888

89-
## Construindo nossa conexão
89+
## Construindo Nossa Conexão
9090

91-
Para usar o `JavaBitcoindRpcClient`, precisamos criar uma instância `BitcoindRpcClient`. Fazemos isso criando um URL com argumentos de nome de usuário, senha, endereço IP e porta. Como devemos nos lembrar, o endereço IP é `127.0.0.1` e a porta `18332` devem estar corretos para a configuração testnet padrão descrita neste curso, enquanto podemos extrair o usuário e a senha abrindo o arquivo `~/.bitcoin/bitcoin.conf`.
91+
Para usar o `JavaBitcoindRpcClient`, precisamos criar uma instância `BitcoindRpcClient`. Fazemos isso criando um URL com argumentos de nome de usuário, senha, endereço IP e porta. Como devemos nos lembrar, o endereço IP `127.0.0.1` e a porta `18332` devem estar corretos para a configuração testnet padrão descrita neste curso, enquanto podemos extrair o usuário e a senha abrindo o arquivo `~/.bitcoin/bitcoin.conf`.
9292

9393
```java
9494
BitcoindRpcClient rpcClient = new BitcoinJSONRPCClient("http://StandUp:6305f1b2dbb3bc5a16cd0f4aac7e1eba@localhost:18332");
@@ -101,14 +101,14 @@ import wf.bitcoin.javabitcoindrpcclient.BitcoindRpcClient;
101101

102102
> **MAINNET VS TESTNET:** A porta seria 8332 para uma configuração da mainnet.
103103
104-
Se o `rpcClient` for inicializado com sucesso, podemos enviar comandos RPC.
104+
Se o `rpcClient` for inicializado com sucesso, poderemos enviar comandos RPC.
105105

106-
Mais tarde, quando terminarmos nossa conexão `bitcoind`, precisamos fechá-la:
106+
Mais tarde, quando terminarmos nossa conexão `bitcoind`, precisaremos fechá-la:
107107
```
108108
rpcClient.stop();
109109
```
110110

111-
### Fazendo uma chamada RPC
111+
### Fazendo uma Chamada RPC
112112

113113
Você verá que o `BitcoindRpcClient` fornece a maioria das funcionalidades que podem ser acessadas através do `bitcoin-cli` ou outros métodos RPC, usando o mesmo método que o nome, mas em camelCase.
114114

@@ -131,7 +131,7 @@ Blocks.....: 1830905
131131
Difficulty.: 4194304
132132
Hash Power.: 40367401348837.41
133133
```
134-
### Fazendo uma chamada RPC usando argumentos
134+
### Fazendo uma Chamada RPC com Argumentos
135135

136136
Podemos procurar os endereços em nossa carteira passando o endereço como um argumento para o comando `getAddressInfo`:
137137

@@ -152,9 +152,9 @@ HdKeyPath: m/0'/0'/5'
152152
PubKey: 0368d0fffa651783524f8b934d24d03b32bf8ff2c0808943a556b3d74b2e5c7d65
153153
```
154154

155-
### Executando nosso código
155+
### Executando Nosso Código
156156

157-
O código para esses exemplos pode ser encontrado no [diretório src/](src/17_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.
157+
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.
158158

159159
```
160160
$ mvn compile
@@ -170,14 +170,14 @@ PubKey: 0368d0fffa651783524f8b934d24d03b32bf8ff2c0808943a556b3d74b2e5c7d65
170170
```
171171
Você também verá muito mais informações sobre a compilação, é claro.
172172

173-
## Pesquisando os fundos
173+
## Consultando Fundos
174174

175-
Recuperando o saldo de uma conta inteira é tão fácil quanto:
175+
Recuperar o saldo de uma conta inteira é tão fácil quanto:
176176
```
177177
System.out.println("Balance: " + rpcClient.getBalance());
178178
```
179179

180-
## Criando um endereço
180+
## Criando um Endereço
181181

182182
Podemos criar um novo endereço em nossa carteira, anexando um rótulo específico a ela e até mesmo descartando nossa chave privada.
183183

@@ -194,11 +194,11 @@ New Address: mpsFtZ8qTJPRGZy1gaaUw37fHeUSPLkzzs
194194
Priv Key: cTy2AnmAALsHokYzJzTdsUBSqBtypmWfmSNYgG6qQH43euUZgqic
195195
```
196196

197-
## Enviando uma transação
197+
## Enviando uma Transação
198198

199199
A biblioteca `JavaBitcoindRpcClient` possui algumas ferramentas interessantes que facilitam a criação de uma transação desde o início.
200200

201-
### Criando uma transação
201+
### Criando uma Transação
202202

203203
Podemos criar uma transação bruta usando o método `createRawTransaction`, passando como argumentos dois objetos ArrayList contendo entradas e saídas a serem utilizadas.
204204

@@ -253,7 +253,7 @@ Agora estamos prontos para realmente criar a transação:
253253
System.out.println("Created unsignedRawTx from addr1 to addr2: " + unsignedRawTxHex);
254254
```
255255

256-
### Assinando uma transação
256+
### Assinando uma Transação
257257

258258
Agora podemos assinar a transação com o método `signRawTransactionWithKey`. Este método recebe como parâmetros uma transação de string bruta não assinada, a chave privada do endereço de envio e o objeto TxInput.
259259

@@ -267,17 +267,17 @@ Agora podemos assinar a transação com o método `signRawTransactionWithKey`. E
267267
System.out.println("signedRawTx complete: " + srTx.complete());
268268
```
269269

270-
### Enviando uma transação
270+
### Enviando uma Transação
271271

272272
Finalmente, o envio requer o comando `sendRawTransaction`:
273273
```java
274274
String sentRawTransactionID = rpcClient.sendRawTransaction(srTx.hex());
275275
System.out.println("Sent signedRawTx (txID): " + sentRawTransactionID);
276276
```
277277

278-
### Executando nosso código
278+
### Executando Nosso Código
279279

280-
Agora podemos executar [o código da transação](src/17_2_App-sendtx.java) como `~/java-project/src/main/java/com/blockchaincommons/lbtc/App.java`.
280+
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`.
281281

282282
```
283283
$ mvn compile
@@ -293,11 +293,11 @@ signedRawTx complete: true
293293
Sent signedRawTx (txID): 82032c07e0ed91780c3369a1943ea8abf49c9e11855ffedd935374ecbc789c45
294294
```
295295

296-
## Ouvindo as transações ou blocos
296+
## Escutando Transações ou Blocos
297297

298-
Tal como acontece com [C e nas nossas bibliotecas ZMQ](15_3_Receiving_Bitcoind_Notifications_with_C.md), existem maneiras fáceis de usar o Java para ouvir a blockchain, além de executar o código específico quando algo acontece, como uma transação que envolve um endereço em nossa carteira, ou até a geração de um novo bloco na rede.
298+
Tal como acontece com [C e suas bibliotecas ZMQ](16_3_Receiving_Bitcoind_Notifications_with_C.md), existem maneiras fáceis de usar o Java para escutar a blockchain, além de executar o código específico quando algo acontece, como uma transação que envolve um endereço em nossa carteira, ou até a geração de um novo bloco na rede.
299299

300-
Para fazer isso, podemos usar a classe `BitcoinAcceptor` do `JavaBitcoindRpcClient`, que permite anexar _listerners_ na rede.
300+
Para fazer isso, podemos usar a classe `BitcoinAcceptor` do `JavaBitcoindRpcClient`, que nos permite anexar "ouvintes" à rede.
301301

302302
```java
303303
String blockHash = rpcClient.getBestBlockHash();
@@ -316,7 +316,7 @@ Para fazer isso, podemos usar a classe `BitcoinAcceptor` do `JavaBitcoindRpcClie
316316
acceptor.run();
317317
```
318318

319-
Veja [o diretório src/](src / 17_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:
319+
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:
320320
```
321321
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}
322322
@@ -325,8 +325,8 @@ Block: 000000004564adfee3738314549f7ca35d96c4da0afc6b232183917086b6d971
325325

326326
### Resumo: Acessando o Bitcoind com Java
327327

328-
Usando a biblioteca `javabitcoinrpc`, podemos acessar facilmente o `bitcoind` por meio de chamadas RPC no Java. Também teremos acesso a recursos adicionais interessantes, como o serviço de escuta usando o comando `bitcoinAcceptor`.
328+
Usando a biblioteca `javabitcoinrpc`, podemos acessar facilmente o `bitcoind` por meio de chamadas RPC com Java. Também teremos acesso a recursos adicionais interessantes, como o serviço de escuta usando o comando `bitcoinAcceptor`.
329329

330330
## O Que Vem Depois?
331331

332-
Vamos aprender mais sobre "Conversando com o Bitcoind com Outras Linguagens" na seção [§17.3: Acessando o Bitcoind com NodeJS](17_2_Accessing_Bitcoind_with_Java.md).
332+
Vamos aprender mais sobre "Conversando com o Bitcoind com Outras Linguagens" na seção [§18.3: Acessando o Bitcoind com NodeJS](18_3_Accessing_Bitcoind_with_NodeJS.md).

0 commit comments

Comments
 (0)