You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
83
83
```groovy
84
84
compile 'wf.bitcoin:JavaBitcoindRpcClient:1.2.1'
85
85
```
86
86
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).
88
88
89
-
## Construindo nossa conexão
89
+
## Construindo Nossa Conexão
90
90
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`.
> **MAINNET VS TESTNET:** A porta seria 8332 para uma configuração da mainnet.
103
103
104
-
Se o `rpcClient` for inicializado com sucesso, podemos enviar comandos RPC.
104
+
Se o `rpcClient` for inicializado com sucesso, poderemos enviar comandos RPC.
105
105
106
-
Mais tarde, quando terminarmos nossa conexão `bitcoind`, precisamos fechá-la:
106
+
Mais tarde, quando terminarmos nossa conexão `bitcoind`, precisaremos fechá-la:
107
107
```
108
108
rpcClient.stop();
109
109
```
110
110
111
-
### Fazendo uma chamada RPC
111
+
### Fazendo uma Chamada RPC
112
112
113
113
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.
114
114
@@ -131,7 +131,7 @@ Blocks.....: 1830905
131
131
Difficulty.: 4194304
132
132
Hash Power.: 40367401348837.41
133
133
```
134
-
### Fazendo uma chamada RPC usando argumentos
134
+
### Fazendo uma Chamada RPC com Argumentos
135
135
136
136
Podemos procurar os endereços em nossa carteira passando o endereço como um argumento para o comando `getAddressInfo`:
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.
A biblioteca `JavaBitcoindRpcClient` possui algumas ferramentas interessantes que facilitam a criação de uma transação desde o início.
200
200
201
-
### Criando uma transação
201
+
### Criando uma Transação
202
202
203
203
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.
204
204
@@ -253,7 +253,7 @@ Agora estamos prontos para realmente criar a transação:
253
253
System.out.println("Created unsignedRawTx from addr1 to addr2: " + unsignedRawTxHex);
254
254
```
255
255
256
-
### Assinando uma transação
256
+
### Assinando uma Transação
257
257
258
258
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.
259
259
@@ -267,17 +267,17 @@ Agora podemos assinar a transação com o método `signRawTransactionWithKey`. E
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`.
281
281
282
282
```
283
283
$ mvn compile
@@ -293,11 +293,11 @@ signedRawTx complete: true
293
293
Sent signedRawTx (txID): 82032c07e0ed91780c3369a1943ea8abf49c9e11855ffedd935374ecbc789c45
294
294
```
295
295
296
-
## Ouvindo as transações ou blocos
296
+
## Escutando Transações ou Blocos
297
297
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.
299
299
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.
301
301
302
302
```java
303
303
String blockHash = rpcClient.getBestBlockHash();
@@ -316,7 +316,7 @@ Para fazer isso, podemos usar a classe `BitcoinAcceptor` do `JavaBitcoindRpcClie
316
316
acceptor.run();
317
317
```
318
318
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:
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`.
329
329
330
330
## O Que Vem Depois?
331
331
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