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
Copy file name to clipboardExpand all lines: pt/18_3_Accessing_Bitcoind_with_NodeJS.md
+19-20Lines changed: 19 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,9 @@
1
-
# 17.3: Acessando o Bitcoind com NodeJS
1
+
# 18.3: Acessando o Bitcoind com NodeJS
2
2
3
3
> :information_source:**NOTA:** Esta seção foi adicionada recentemente ao curso e é um rascunho inicial que ainda pode estar aguardando revisão.
4
4
5
5
Esta seção explica como interagir com o `bitcoind` usando a linguagem de programação NodeJS e o [pacote BCRPC](https://github.com/dgarage/bcrpc).
6
6
7
-
## Set Up Node.js
8
7
## Configurando o Node.js
9
8
10
9
O BCRPC é construído em node.js. Portanto, primeiro precisamos instalar os pacotes `node.js` e o `npm` (o gerenciador de pacotes do node) em nosso sistema.
@@ -27,15 +26,15 @@ $ cd bcrpc
27
26
$ npm install
28
27
```
29
28
30
-
Para testar o pacote BCRPC, devemos primeiro definir as variáveis ambientais para o rpcuser e rpcpassword. Como de costume, eles vêm do `~/.bitcoin/bitcoin.conf`. Também devemos definir a porta RPC como sendo 18332, que deve ser a correta para a configuração Testnet padrão descrita nos documentos.
29
+
Para testar o pacote BCRPC, devemos primeiro definir as variáveis de ambiente para o rpcuser e rpcpassword. Como de costume, elas vêm do `~/.bitcoin/bitcoin.conf`. Também devemos definir a porta RPC como sendo 18332, que deve ser a correta para a configuração Testnet padrão descrita nos documentos.
> :warning:**AVISO:** Obviamente, nunca colocaria nossa senha definida em uma variável de ambiente em um ambiente de produção.
37
+
> :warning:**AVISO:** Obviamente, você nunca colocaria sua senha em uma variável de ambiente em um ambiente de produção.
39
38
40
39
> :link:**MAINNET VS TESTNET:** A porta seria 8332 para uma configuração na Mainnet.
41
40
@@ -55,7 +54,7 @@ $ npm test
55
54
56
55
2 passing (36ms)
57
56
```
58
-
Parabéns, agora temos um wrapper RPC pronto para usar o Bitcoin com o Node.js que está funcionando com nossa configuração do Bitcoin.
57
+
Parabéns, agora temos um wrapper RPC pronto para ser usado no Bitcoin com o Node.js e que está funcionando com as nossas configurações do Bitcoin.
59
58
60
59
### Criando um Projeto BCRPC
61
60
@@ -69,7 +68,7 @@ $ npm init
69
68
[continue with default options]
70
69
$ npm install bcrpc
71
70
```
72
-
## Construindo nossa conexão
71
+
## Construindo Nossa Conexão
73
72
74
73
Em nosso diretório `myproject`, criamos um arquivo `.js` onde nosso código JavaScript será executado.
75
74
@@ -78,7 +77,7 @@ Podemos iniciar uma conexão RPC criando um `RpcAgent`:
78
77
const RpcAgent = require('bcrpc');
79
78
agent = new RpcAgent({port: 18332, user: 'StandUp', pass: 'd8340efbcd34e312044c8431c59c792c'});
80
79
```
81
-
Obviamente, nosso `user` e `pass` devem coincidir novamente com o que está em nosso `~/.bitcoin/bitcoin.conf`, e usamos a `porta 18332` se estivermos na Testnet.
80
+
Obviamente, nosso `user` e `pass` devem coincidir novamente com o que está em nosso `~/.bitcoin/bitcoin.conf`, e usamos a `port 18332` se estivermos na Testnet.
82
81
83
82
### Fazendo uma chamada RPC
84
83
@@ -108,15 +107,15 @@ As funções BCRPC podem aceitar argumentos. Por exemplo, o `getBlockHash` receb
108
107
109
108
O resultado das funções BCRPC é um objeto JSON contendo informações sobre quaisquer erros e o id da solicitação. Ao acessar nosso resultado, adicionamos o `.result` no final dele para especificar que estamos interessados no resultado real, não em informações sobre os erros.
110
109
111
-
### Executando nosso código
110
+
### Executando Nosso Código
112
111
113
-
Podemos encontrar o código `getinfo` no [diretório src/](src / 17_3_getinfo.js).
112
+
Podemos encontrar o código `getinfo` no [diretório src/](src/18_3_getinfo.js).
Isto é o que a saída do exemplo acima pareceria se substituíssemos o `console.log(blockCount.result);` e o `console.log(hash.result);` por `console.log(blockCount);` e `console.log (hash);`, respectivamente:
118
+
Isso é com o que a saída do exemplo acima se pareceria se substituíssemos o `console.log(blockCount.result);` e o `console.log(hash.result);` por `console.log(blockCount);` e `console.log (hash);`, respectivamente:
120
119
121
120
```
122
121
{ result: 1774686, error: null, id: null }
@@ -127,9 +126,9 @@ Isto é o que a saída do exemplo acima pareceria se substituíssemos o `console
127
126
}
128
127
```
129
128
130
-
## Pesquisando os fundos
129
+
## Pesquisando por Fundos
131
130
132
-
É útil ao aceitar Bitcoin verificar os Bitcoin recebidos em um endereço específico em nossa carteira. Por exemplo, se administrássemos uma loja online que aceita Bitcoin, para cada pagamento de um cliente, geraríamos um novo endereço, mostraríamos esse endereço ao cliente e, em seguida, verificaríamos o saldo do endereço após algum tempo, para certificar-se de que o montante foi recebido:
131
+
É útil, ao aceitar Bitcoin, verificar o Bitcoin recebido em um endereço específico em nossa carteira. Por exemplo, se administrássemos uma loja online que aceita Bitcoin, para cada pagamento de um cliente, geraríamos um novo endereço, mostraríamos esse endereço ao cliente e, em seguida, verificaríamos o saldo do endereço após algum tempo, para certificar-se de que o montante foi recebido:
133
132
134
133
```
135
134
agent.getReceivedByAddress('mpGpCMX6SuUimDZKiVViuhd7EGyVxkNnha', function (err, addressInfo) {
@@ -151,7 +150,7 @@ agent.getReceivedByAddress('mpGpCMX6SuUimDZKiVViuhd7EGyVxkNnha', 6, function (er
151
150
});
152
151
```
153
152
154
-
### Pesquisando informações da carteira
153
+
### Pesquisando Informações da Carteira
155
154
156
155
Também podemos procurar informações adicionais sobre nossa carteira e visualizar nosso saldo, contagem de transações etc.
O código está disponível como [walletinfo.js](src/17_3_walletinfo.js).
165
+
O código está disponível como [walletinfo.js](src/18_3_walletinfo.js).
167
166
```
168
167
$ node walletinfo.js
169
168
0.008498
@@ -184,9 +183,9 @@ $ node walletinfo.js
184
183
scanning: false
185
184
}
186
185
```
187
-
Ao invés de imprimir todos os detalhes associados à nossa carteira, podemos imprimir informações específicas, como nosso saldo. Como um objeto JSON está sendo acessado, podemos fazer isso alterando a linha `console.log(walletInfo.result);` para `console.log(walletInfo.result.balance);`:
186
+
Ao invés de imprimirmos todos os detalhes associados à nossa carteira, podemos imprimir informações específicas, como nosso saldo. Como um objeto JSON está sendo acessado, podemos fazer isso alterando a linha `console.log(walletInfo.result);` para `console.log(walletInfo.result.balance);`:
188
187
189
-
## Criando um endereço
188
+
## Criando um Endereço
190
189
191
190
Também podemos passar argumentos adicionais para os comandos RPC. Por exemplo, o seguinte gera um novo endereço legado, com o sinalizador `-addresstype`.
No BCRPC, geralmente podemos usar os mesmos sinalizadores que no `bitcoin-cli` no BCRPC. Embora usamos o camelCase (`getNewAddress`) para os métodos, os sinalizadores, que normalmente são separados por espaços na linha de comando, são colocados em strings e separados por vírgulas.
207
206
208
-
## Enviando uma transação
207
+
## Enviando uma Transação
209
208
210
209
Podemos enviar saldos para um endereço muito facilmente, usando a função `sendToAddress`:
211
210
@@ -223,7 +222,7 @@ Isso deve retornar o txid da transação:
Agora podemos desejar visualizar uma transação, como a que acabamos de enviar.
229
228
```
@@ -261,7 +260,7 @@ Devemos obter uma saída semelhante a esta:
261
260
}
262
261
```
263
262
264
-
O código completo está disponível no [sendtx.js](src/17_3_sendtx.js).
263
+
O código completo está disponível no [sendtx.js](src/18_3_sendtx.js).
265
264
266
265
## Resumo: Acessando o Bitcoind com NodeJS
267
266
@@ -271,4 +270,4 @@ Com base nesses exemplos, devemos ser capazes de incorporar Bitcoin em um projet
271
270
272
271
## O Que Vem Depois?
273
272
274
-
Vamos aprender mais sobre "Conversando com o Bitcoind com Outras Linguagens" na seção [§17.4: Acessando o Bitcoind com Python](17_2_Accessing_Bitcoind_with_Java.md).
273
+
Vamos aprender mais sobre "Conversando com o Bitcoind com Outras Linguagens" na seção [§18.4: Acessando o Bitcoind com Python](18_4_Accessing_Bitcoind_with_Python.md).
0 commit comments