From f700664ec809d5c671ab1ca3dcb3129873d35ab7 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 15:01:47 -0500 Subject: [PATCH 01/61] Update 15_0_Usando_i2p.md --- es/15_0_Usando_i2p.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/15_0_Usando_i2p.md b/es/15_0_Usando_i2p.md index 21fe69f..4ca114c 100644 --- a/es/15_0_Usando_i2p.md +++ b/es/15_0_Usando_i2p.md @@ -13,7 +13,7 @@ Diferencias básicas entre Tor y i2p: Lea más: https://geti2p.net/en/comparison/tor -Este no es instalado por [Bitcoin Standup](https://github.com/BlockchainCommons/Bitcoin-Standup-Scripts) actualmente ya que el soporte i2p fue agregado a Bitcoin Core recientemente. Sin embargo, puede probarlo manualmente siguiendo los pasos mencionados en la [Sección Uno](15_1_i2p_service.md). +Este no es instalado por [Bitcoin Standup](https://github.com/BlockchainCommons/Bitcoin-Standup-Scripts) actualmente ya que el soporte i2p fue agregado a Bitcoin Core recientemente. Sin embargo, puede probarlo manualmente siguiendo los pasos mencionados en la [Sección Uno](15_1_Servicio_i2p.md). ## Objetivos para Este Capítulo From 50b7e3ce9b0aed1fbc50df32523770477404d89c Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 15:05:39 -0500 Subject: [PATCH 02/61] typo --- es/16_1_Accediendo_a_Bitcoind_en_C_con_las_Bibliotecas_RPC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/16_1_Accediendo_a_Bitcoind_en_C_con_las_Bibliotecas_RPC.md b/es/16_1_Accediendo_a_Bitcoind_en_C_con_las_Bibliotecas_RPC.md index 46690d2..0f5a698 100644 --- a/es/16_1_Accediendo_a_Bitcoind_en_C_con_las_Bibliotecas_RPC.md +++ b/es/16_1_Accediendo_a_Bitcoind_en_C_con_las_Bibliotecas_RPC.md @@ -67,7 +67,7 @@ ldconfig -v -n .lib libbitcoinrpc.so.0 -> libbitcoinrpc.so.0.2 (changed) ln -fs libbitcoinrpc.so.0 .lib/libbitcoinrpc.so ``` -Si eso funciona, puede instalar el paquete:: +Si eso funciona, puede instalar el paquete: ``` $ sudo make install Installing to From 4f99d61337306732dfa2af277c5dba6faf8ee493 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 15:07:38 -0500 Subject: [PATCH 03/61] update link --- es/16_2_Programando_Bitcoind_en_C_con_las_Bibliotecas_RPC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/16_2_Programando_Bitcoind_en_C_con_las_Bibliotecas_RPC.md b/es/16_2_Programando_Bitcoind_en_C_con_las_Bibliotecas_RPC.md index 8b2dedf..b26ec50 100644 --- a/es/16_2_Programando_Bitcoind_en_C_con_las_Bibliotecas_RPC.md +++ b/es/16_2_Programando_Bitcoind_en_C_con_las_Bibliotecas_RPC.md @@ -2,7 +2,7 @@ > :information_source: **NOTA:** Esta sección se agregó recientemente al curso y es un borrador inicial que aún puede estar pendiente de revisión. Lector de advertencias. -[§16.1](16_1_Accediendo_a_Bitcoind_en_C_con_las_Bibliotecas_RPC) presentó la metodología para crear programas en C utilizando bibliotecas RPC y JSON. Ahora vamos a mostrar el potencial de esas bibliotecas C presentando un primer corte simplista de un programa Bitcoin real. +[§16.1](16_1_Accediendo_a_Bitcoind_en_C_con_las_Bibliotecas_RPC.md) presentó la metodología para crear programas en C utilizando bibliotecas RPC y JSON. Ahora vamos a mostrar el potencial de esas bibliotecas C presentando un primer corte simplista de un programa Bitcoin real. ## Planifique su código From 80e50fec33e1df51852abc0d3850e4d51f72d806 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 15:11:06 -0500 Subject: [PATCH 04/61] update link, fix typos --- ...2_Programando_Bitcoind_en_C_con_las_Bibliotecas_RPC.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/es/16_2_Programando_Bitcoind_en_C_con_las_Bibliotecas_RPC.md b/es/16_2_Programando_Bitcoind_en_C_con_las_Bibliotecas_RPC.md index b26ec50..47ee6d6 100644 --- a/es/16_2_Programando_Bitcoind_en_C_con_las_Bibliotecas_RPC.md +++ b/es/16_2_Programando_Bitcoind_en_C_con_las_Bibliotecas_RPC.md @@ -67,7 +67,7 @@ float tx_total = tx_amount + tx_fee; ### Paso 3: Prepare su RPC -Obviamente, necesitará tener todas sus variables listas nuevamente, como se discutió en [§16.1: Acceso a Bitcoind con C](16_1_Accediendo_a_Bitcoind_en_C_con_las_Bibliotecas_RPC). También necesita inicializar su biblioteca, conectar su cliente RPC y preparar su objeto de respuesta: +Obviamente, necesitará tener todas sus variables listas nuevamente, como se discutió en [§16.1: Acceso a Bitcoind con C](16_1_Accediendo_a_Bitcoind_en_C_con_las_Bibliotecas_RPC.md). También necesita inicializar su biblioteca, conectar su cliente RPC y preparar su objeto de respuesta: ``` bitcoinrpc_global_init(); @@ -197,7 +197,7 @@ char *changeaddress = strdup(json_string_value(lu_result)); La única diferencia es qué información particular se extrae del objeto JSON. -> :warning:**ADVERTENCIA:** Aquí hay un lugar en el que una subrutina sería realmente agradable: abstraer toda la inicialización y llamada del método RPC. +> :warning: **ADVERTENCIA:** Aquí hay un lugar en el que una subrutina sería realmente agradable: abstraer toda la inicialización y llamada del método RPC. ### Paso 6: Crea una transacción sin procesar @@ -253,7 +253,7 @@ json_object_set(outputparams, tx_recipient, json_string(tx_amount_string)); json_object_set(outputparams, changeaddress, json_string(tx_change_string)); ``` -> :warning:**ADVERTENCIA: **Puede esperar ingresar sus valores de Bitcoin como números, usando `json_real`. Desafortunadamente, esto expone uno de los principales problemas con la integración de la biblioteca `jansson` y Bitcoin. Bitcoin solo es válido hasta ocho dígitos significativos después del punto decimal. Puede recordar que .00000001 BTC es un satoshi, y esa es la división más pequeña posible de un Bitcoin. Los dobles en C ofrecen dígitos más significativos que eso, aunque a menudo son imprecisos más allá de los ocho decimales. Si intenta convertir directamente de su valor doble en C (o un valor flotante, para el caso) a un valor de Bitcoin, la imprecisión a menudo creará un valor de Bitcoin con más de ocho dígitos significativos. Antes de Bitcoin Core 0.12, esto parece funcionar, y podría usar `json_real`. Pero a partir de Bitcoin Core 0.12, si intenta darle a `createrawtransaction` un valor de Bitcoin con demasiados dígitos significativos, obtendrá un error y la transacción no se creará. Como resultado, si el valor de Bitcoin _ever_ se ha convertido en un doble o flotante, debe reformatearlo a ocho dígitos significativos después del dígito antes de introducirlo como una cadena. Obviamente, esto es una tontería, por lo que debe asegurarse de que continúe funcionando en futuras versiones de Bitcoin Core. +> :warning:**ADVERTENCIA:** Puede esperar ingresar sus valores de Bitcoin como números, usando `json_real`. Desafortunadamente, esto expone uno de los principales problemas con la integración de la biblioteca `jansson` y Bitcoin. Bitcoin solo es válido hasta ocho dígitos significativos después del punto decimal. Puede recordar que .00000001 BTC es un satoshi, y esa es la división más pequeña posible de un Bitcoin. Los dobles en C ofrecen dígitos más significativos que eso, aunque a menudo son imprecisos más allá de los ocho decimales. Si intenta convertir directamente de su valor doble en C (o un valor flotante, para el caso) a un valor de Bitcoin, la imprecisión a menudo creará un valor de Bitcoin con más de ocho dígitos significativos. Antes de Bitcoin Core 0.12, esto parece funcionar, y podría usar `json_real`. Pero a partir de Bitcoin Core 0.12, si intenta darle a `createrawtransaction` un valor de Bitcoin con demasiados dígitos significativos, obtendrá un error y la transacción no se creará. Como resultado, si el valor de Bitcoin _ever_ se ha convertido en un doble o flotante, debe reformatearlo a ocho dígitos significativos después del dígito antes de introducirlo como una cadena. Obviamente, esto es una tontería, por lo que debe asegurarse de que continúe funcionando en futuras versiones de Bitcoin Core. #### Paso 6.3: Crear la matriz de parámetros @@ -329,7 +329,7 @@ char *tx_signrawhex = strdup(json_string_value(lu_signature)); json_decref(lu_signature); ``` -> :warning: *** ADVERTENCIA: *** Un programa del mundo real obviamente probaría cuidadosamente la respuesta de cada comando RPC para asegurarse de que no haya errores. Eso es especialmente cierto para `signrawtransaction`, porque podría terminar con una transacción parcialmente firmada. Peor aún, si no verifica los errores en el objeto JSON, solo verá el `hex` y no se dará cuenta de que está sin firmar o parcialmente firmado. +> :warning: ***ADVERTENCIA:*** Un programa del mundo real obviamente probaría cuidadosamente la respuesta de cada comando RPC para asegurarse de que no haya errores. Eso es especialmente cierto para `signrawtransaction`, porque podría terminar con una transacción parcialmente firmada. Peor aún, si no verifica los errores en el objeto JSON, solo verá el `hex` y no se dará cuenta de que está sin firmar o parcialmente firmado. ### Paso 8. Envíar la transacción From 9d5057d1a22d2399be20b16a8f3bdc159329a793 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 15:13:00 -0500 Subject: [PATCH 05/61] fix icon --- ...o_Notificaciones_de_Bitcoind_en_C_con_las_Bibliotecas_ZMQ.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/16_3_Recibiendo_Notificaciones_de_Bitcoind_en_C_con_las_Bibliotecas_ZMQ.md b/es/16_3_Recibiendo_Notificaciones_de_Bitcoind_en_C_con_las_Bibliotecas_ZMQ.md index 6912018..29fde71 100644 --- a/es/16_3_Recibiendo_Notificaciones_de_Bitcoind_en_C_con_las_Bibliotecas_ZMQ.md +++ b/es/16_3_Recibiendo_Notificaciones_de_Bitcoind_en_C_con_las_Bibliotecas_ZMQ.md @@ -4,7 +4,7 @@ [§16.1](16_1_Accediendo_a_Bitcoind_en_C_con_las_Bibliotecas_RPC.md) y [§16.2](16_2_Programando_Bitcoind_en_C_con_las_Bibliotecas_RPC.md) introdujeron las bibliotecas RPC y JSON para C, y al hacerlo mostró una de las ventajas de acceder a los comandos RPC de Bitcoin a través de un lenguaje de programación: la capacidad de crear programas mucho más complejos. Este capítulo presenta una tercera biblioteca, para [ZMQ](http://zeromq.org/), y al hacerlo revela otra ventaja: la capacidad de monitorear las notificaciones. Lo usará para codificar un oyente de blockchain. -> :libro: ***¿Qué es ZMQ?*** ZeroMQ (ZMQ) es una biblioteca de mensajería asincrónica de alto rendimiento que proporciona una cola de mensajes. ZeroMQ admite patrones de mensajería comunes (publicación / sub, solicitud / respuesta, cliente / servidor y otros) a través de una variedad de transportes (TCP, en proceso, entre procesos, multidifusión, WebSocket y más), lo que hace que la mensajería entre procesos tan simple como la mensajería entre subprocesos. Puede encontrar más detalles sobre las notificaciones de ZMQ y otros tipos de mensajes en [este repositorio](https://github.com/Actinium-project/ChainTools/blob/master/docs/chainlistener.md). +> :book: ***¿Qué es ZMQ?*** ZeroMQ (ZMQ) es una biblioteca de mensajería asincrónica de alto rendimiento que proporciona una cola de mensajes. ZeroMQ admite patrones de mensajería comunes (publicación / sub, solicitud / respuesta, cliente / servidor y otros) a través de una variedad de transportes (TCP, en proceso, entre procesos, multidifusión, WebSocket y más), lo que hace que la mensajería entre procesos tan simple como la mensajería entre subprocesos. Puede encontrar más detalles sobre las notificaciones de ZMQ y otros tipos de mensajes en [este repositorio](https://github.com/Actinium-project/ChainTools/blob/master/docs/chainlistener.md). ## Configurar ZMQ From d42fd8100608f803b37bed0bb0b19144d3fe2a61 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 15:15:04 -0500 Subject: [PATCH 06/61] update link --- es/17_1_Configurando_Libwally.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/17_1_Configurando_Libwally.md b/es/17_1_Configurando_Libwally.md index 552c7b1..a99e331 100644 --- a/es/17_1_Configurando_Libwally.md +++ b/es/17_1_Configurando_Libwally.md @@ -188,4 +188,4 @@ Entonces, ¿qué puede hacer ahora? De eso es lo que se trata en el siguiente ## ¿Qué es lo siguiente? -Más información sobre "Programar Bitcoin con Libwally" en [17.2: Usar BIP39 en Libwally](17_2_Using_BIP39_in_Libwally.md). +Más información sobre "Programar Bitcoin con Libwally" en [17.2: Usar BIP39 en Libwally](17_2_Usando_BIP39_en_Libwally.md). From 621cb9453e43fb4b367463c67ba770cecd1e5791 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 15:17:15 -0500 Subject: [PATCH 07/61] markdown fix --- es/17_2_Usando_BIP39_en_Libwally.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/17_2_Usando_BIP39_en_Libwally.md b/es/17_2_Usando_BIP39_en_Libwally.md index b339918..b0d23e1 100644 --- a/es/17_2_Usando_BIP39_en_Libwally.md +++ b/es/17_2_Usando_BIP39_en_Libwally.md @@ -5,7 +5,7 @@ Uno de los mayores poderes de Libwally es que puede poner al descubierto el trabajo subyacente de generar semillas, claves privadas y, en última instancia, direcciones. Para empezar, es compatible con [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki), que es el BIP que define los códigos mnemónicos para Bitcoin - algo que es totalmente no compatible, hasta la fecha, por Bitcoin Core. > :book: ***Qué es un código mnemónico?*** Las direcciones de Bitcoin (y sus correspondientes claves privadas y semillas subyacentes) son listas largas e ininteligibles de caracteres y números, que no solo son imposibles de recordar, sino también fáciles de escribir mal. Los códigos mnemotécnicos son una solución para esto que permite a los usuarios grabar 12 (o 24) palabras en su idioma, algo que es mucho menos propenso a errores. Estos códigos se pueden utilizar para restaurar completamente una semilla BIP32 que es la base de una cartera HD. -> :book: ***Que es una semilla? *** Mencionamos brevemente las semillas en [§3.5: Entendiendo el Descriptor](03_5_Entendiendo_El_Descriptor.md). Es el número aleatorio que se utiliza para generar una secuencia completa de claves privadas (y por lo tanto direcciones) en una cartera de jerárquica determinista (HD). Volveremos a las semillas en la siguiente sección, que es todo sobre carteras HD y Libwally. Por ahora, basta saber que un código mnemónico BIP39 corresponde a la semilla de una cartera determinística jerárquica BIP32. +> :book: ***Que es una semilla?*** Mencionamos brevemente las semillas en [§3.5: Entendiendo el Descriptor](03_5_Entendiendo_El_Descriptor.md). Es el número aleatorio que se utiliza para generar una secuencia completa de claves privadas (y por lo tanto direcciones) en una cartera de jerárquica determinista (HD). Volveremos a las semillas en la siguiente sección, que es todo sobre carteras HD y Libwally. Por ahora, basta saber que un código mnemónico BIP39 corresponde a la semilla de una cartera determinística jerárquica BIP32. ## Crear códigos mnemotécnicos From b21063952c72117548e8315022ae2aa5f815cc23 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 15:21:39 -0500 Subject: [PATCH 08/61] update link --- es/17_4_Usando_PSBTs_en_Libwally.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/es/17_4_Usando_PSBTs_en_Libwally.md b/es/17_4_Usando_PSBTs_en_Libwally.md index d928bd8..276b6cd 100644 --- a/es/17_4_Usando_PSBTs_en_Libwally.md +++ b/es/17_4_Usando_PSBTs_en_Libwally.md @@ -271,7 +271,7 @@ Puede ver la entrada en satoshis y el `scriptPubKey` claramente listados en las ## Crear un PSBT Como se señaló al principio de esta sección, todas las funciones necesarias para crear y procesar las PSBT están disponibles en Libwally. En realidad, correr a través del proceso de hacerlo es lo suficientemente complejo como para que esté más allá del alcance de esta sección, pero aquí hay una rápida ejecución de las funciones requeridas. Tenga en cuenta que los [documentos](https://wally.readthedocs.io/en/latest/psbt/) están desactualizados para PSBTs, por lo que deberá consultar `/usr/include/wally_psbt.h` para información completa. -Como se discute en [§7.1](07_1_Creating_a_Partially_Signed_Bitcoin_Transaction.md) hay varios roles involucrados en la creación de PSBTs +Como se discute en [§7.1](07_1_Creando_una_Transaccion_Bitcoin_Parcialmente_Firmada.md) hay varios roles involucrados en la creación de PSBTs ### Tomar el rol de creador @@ -290,7 +290,7 @@ Pero lo que usted tiene todavía no es un PSBT legal, debido a la falta de insum ``` ## Pruebe su creación de PSBT -En este punto, debería tener un PSBT vacío, pero funcional, que puede ver compilando y ejecutando [the program](../src/16_4_createemptypsbt.c). +En este punto, debería tener un PSBT vacío, pero funcional, que puede ver compilando y ejecutando [el programa](../src/16_4_createemptypsbt.c). ``` $ cc createemptypsbt.c -lwallycore -o createemptypsbt $ ./createemptypsbt From 4f8758249807dcf13b9aa19dd45d99d755638297 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 15:25:34 -0500 Subject: [PATCH 09/61] closing ` --- es/17_5_Usando_Scripts_en_Libwally.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/17_5_Usando_Scripts_en_Libwally.md b/es/17_5_Usando_Scripts_en_Libwally.md index 69685a1..69bcb20 100644 --- a/es/17_5_Usando_Scripts_en_Libwally.md +++ b/es/17_5_Usando_Scripts_en_Libwally.md @@ -80,7 +80,7 @@ Un comando más lo añade a su transacción: Crear la entrada es mucho más difícil porque usted tiene que acumular información en las rutinas de creación, no todas las cuales son intuitivamente accesibles cuando usa Libwally. Así que, en lugar de ir tan profundo en la maleza, aquí es donde tomamos nuestro atajo. Escribimos nuestro código para que pase el código hexadecimal de una transacción que ya ha sido creada, y luego simplemente reutilizamos la entrada. -La conversión del código hexadecimal se realiza con `wally_tx_from_hex: +La conversión del código hexadecimal se realiza con `wally_tx_from_hex`: ``` struct wally_tx *utxo; lw_response = wally_tx_from_hex(utxo_hex,0,&utxo); From c99c99d39cbffb6686e9a33ee2886a8249754155 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 15:29:24 -0500 Subject: [PATCH 10/61] fix link --- es/17_7_Integrando_Libwally_y_Bitcoin-CLI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/17_7_Integrando_Libwally_y_Bitcoin-CLI.md b/es/17_7_Integrando_Libwally_y_Bitcoin-CLI.md index 5b9c7e4..5d31491 100644 --- a/es/17_7_Integrando_Libwally_y_Bitcoin-CLI.md +++ b/es/17_7_Integrando_Libwally_y_Bitcoin-CLI.md @@ -164,7 +164,7 @@ $ bitcoin-cli decoderawtransaction $signedtx ``` ¡Voila! Ese es el poder de Libwally con `bitcoin-cli`. -Obviamente, también puede pasar un PSBT usando las funciones descritas en [§17.4](117_4_Usando_PSBTs_en_Libwally.md) y esa es una metodología más actualizada para el uso actual de Bitcoin, pero en cualquier caso, el concepto de pasar transacciones desde `bitcoin-cli` a código Libwally y viceversa debe ser similar. +Obviamente, también puede pasar un PSBT usando las funciones descritas en [§17.4](17_4_Usando_PSBTs_en_Libwally.md) y esa es una metodología más actualizada para el uso actual de Bitcoin, pero en cualquier caso, el concepto de pasar transacciones desde `bitcoin-cli` a código Libwally y viceversa debe ser similar. ## Importar y exportar semillas BIP39 From cbe336a9fd6439e207572cccd2ff50aa35318cc4 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 15:40:56 -0500 Subject: [PATCH 11/61] updating links, minor corrections 17_1_blockinfo.go src file in master is 18, in spanish-translation it's still 17. Since this will get merged soon updating to 18 --- es/18_1_Accediendo_a_Bitcoind_con_Go.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/es/18_1_Accediendo_a_Bitcoind_con_Go.md b/es/18_1_Accediendo_a_Bitcoind_con_Go.md index 837e88a..b051dab 100644 --- a/es/18_1_Accediendo_a_Bitcoind_con_Go.md +++ b/es/18_1_Accediendo_a_Bitcoind_con_Go.md @@ -16,7 +16,7 @@ Luego, mire la página [de descargas Go](https://golang.org/dl/), obtenga el enl $ curl -O https://dl.google.com/go/go1.15.1.linux-amd64.tar.gz ``` -Una vez finalizada la descarga, compare el hash de la descarga con el hash en la página [Go downloads page](https://golang.org/dl/): +Una vez finalizada la descarga, compare el hash de la descarga con el hash en la página [de descargas Go](https://golang.org/dl/): ``` $ sha256sum go1.15.1.linux-amd64.tar.gz 70ac0dbf60a8ee9236f337ed0daa7a4c3b98f6186d4497826f68e97c0c0413f6 go1.15.1.linux-amd64.tar.gz @@ -51,7 +51,7 @@ Para probar que funciona, vaya al directorio con los ejemplos de Bitcoin Core: ``` $ cd $GOPATH/src/github.com/btcsuite/btcd/rpcclient/examples/bitcoincorehttp ``` -Modificar el archivo `main.go` e introduzca los detalles asociados con la configuración del núcleo de Bitcoin, que se pueden encontrar en ` ~/. bitcoin/bitcoin.conf`: +Modificar el archivo `main.go` e introduzca los detalles asociados con la configuración del núcleo de Bitcoin, que se pueden encontrar en `~/.bitcoin/bitcoin.conf`: ``` Host: "localhost:18332", @@ -87,7 +87,7 @@ import ( ``` Esta declaración `import` le permite importar bibliotecas relevantes. Para cada ejemplo aquí, necesitará importar `"log", "fmt"` y `"github.com/btcsuite/btcd/rpcclient"`. Es posible que necesite importar bibliotecas adicionales para algunos ejemplos. - * `log` se utiliza para imprimir mensajes de error. Después de cada llamada al nodo Bitcoin, una sentencia `if` comprobará si hay algún error. Si hay errores, `log` se utiliza para imprimirlos. + * `log` se utiliza para imprimir mensajes de error. Después de cada llamada al nodo Bitcoin, una declaración `if` comprobará si hay algún error. Si hay errores, `log` se utiliza para imprimirlos. * `fmt` se utiliza para imprimir la salida. * `rpcclient`; es obviamente la biblioteca `rpcclient` * @@ -111,7 +111,7 @@ Cada función `bitcoind` en Go comienza con la creación de la conexión RPC, us ``` Los parámetros `connCfg` le permiten elegir el puerto RPC de Bitcoin, nombre de usuario, contraseña y si está en testnet o mainnet. -> **NOTA:** De nuevo, asegúrese de sustituir el `User` y `Pass` con el que se encuentra en su `~/. bitcoin/bitcon.conf`. +> **NOTA:** De nuevo, asegúrese de sustituir el `User` y `Pass` con el que se encuentra en su `~/.bitcoin/bitcon.conf`. Por tanto la función `rpcclient. New(connCfg, nil)` configura su `client` para conectarse a su nodo Bitcoin. La línea `defer client.Shutdown()` es para desconectar de su nodo Bitcoin, una vez que la función `main()` termina de ejecutarse. @@ -150,7 +150,7 @@ Para imprimirlos como una cadena, es necesario utilizar `blockHash.String()`. ### Ejecute su código -Puede descargar el código completo desde el [src directory](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/src/17_1_blockinfo.go). +Puede descargar el código completo desde el [src directory](../src/18_1_blockinfo.go). A continuación, puede ejecutar: ``` From ec7420936ac887c8183ee245f10fed014def46f7 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 15:59:54 -0500 Subject: [PATCH 12/61] Rename 15_1_getmininginfo.c to 16_1_getmininginfo.c --- src/{15_1_getmininginfo.c => 16_1_getmininginfo.c} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{15_1_getmininginfo.c => 16_1_getmininginfo.c} (100%) diff --git a/src/15_1_getmininginfo.c b/src/16_1_getmininginfo.c similarity index 100% rename from src/15_1_getmininginfo.c rename to src/16_1_getmininginfo.c From b23a93148c6a4ee525d3f9e07c758daefc6b4f34 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:00:02 -0500 Subject: [PATCH 13/61] Rename 15_1_testbitcoin.c to 16_1_testbitcoin.c --- src/{15_1_testbitcoin.c => 16_1_testbitcoin.c} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{15_1_testbitcoin.c => 16_1_testbitcoin.c} (100%) diff --git a/src/15_1_testbitcoin.c b/src/16_1_testbitcoin.c similarity index 100% rename from src/15_1_testbitcoin.c rename to src/16_1_testbitcoin.c From b2daf49b80ebf3a8ef0bbcf3bc1bb723a4caee34 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:00:10 -0500 Subject: [PATCH 14/61] Rename 15_2_sendtoaddress.c to 16_2_sendtoaddress.c --- src/{15_2_sendtoaddress.c => 16_2_sendtoaddress.c} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{15_2_sendtoaddress.c => 16_2_sendtoaddress.c} (100%) diff --git a/src/15_2_sendtoaddress.c b/src/16_2_sendtoaddress.c similarity index 100% rename from src/15_2_sendtoaddress.c rename to src/16_2_sendtoaddress.c From 920ab1213c122f406c496e9d3ef6078a1d6ed4e4 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:36:22 -0500 Subject: [PATCH 15/61] Rename 15_3_chainlistener.c to 16_3_chainlistener.c --- src/{15_3_chainlistener.c => 16_3_chainlistener.c} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{15_3_chainlistener.c => 16_3_chainlistener.c} (100%) diff --git a/src/15_3_chainlistener.c b/src/16_3_chainlistener.c similarity index 100% rename from src/15_3_chainlistener.c rename to src/16_3_chainlistener.c From d40aa0ab66f07ddff5aea5e8a4a6e0f8a55bf888 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:36:35 -0500 Subject: [PATCH 16/61] Rename 16_1_testwally.c to 17_1_testwally.c --- src/{16_1_testwally.c => 17_1_testwally.c} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{16_1_testwally.c => 17_1_testwally.c} (100%) diff --git a/src/16_1_testwally.c b/src/17_1_testwally.c similarity index 100% rename from src/16_1_testwally.c rename to src/17_1_testwally.c From f18a9dbba45724ffcd14a84513cc47407b08bfce Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:36:51 -0500 Subject: [PATCH 17/61] Rename 16_2_genmnemonic.c to 17_2_genmnemonic.c --- src/{16_2_genmnemonic.c => 17_2_genmnemonic.c} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{16_2_genmnemonic.c => 17_2_genmnemonic.c} (100%) diff --git a/src/16_2_genmnemonic.c b/src/17_2_genmnemonic.c similarity index 100% rename from src/16_2_genmnemonic.c rename to src/17_2_genmnemonic.c From 1a434ece5af1ba5f85de43487c5225a7188089e4 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:36:59 -0500 Subject: [PATCH 18/61] Rename 16_3_genhd.c to 17_3_genhd.c --- src/{16_3_genhd.c => 17_3_genhd.c} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{16_3_genhd.c => 17_3_genhd.c} (100%) diff --git a/src/16_3_genhd.c b/src/17_3_genhd.c similarity index 100% rename from src/16_3_genhd.c rename to src/17_3_genhd.c From 94e0b243c732d33b76f697fd5c01489a5073b666 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:37:11 -0500 Subject: [PATCH 19/61] Rename 16_4_createemptypsbt.c to 17_4_createemptypsbt.c --- src/{16_4_createemptypsbt.c => 17_4_createemptypsbt.c} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{16_4_createemptypsbt.c => 17_4_createemptypsbt.c} (100%) diff --git a/src/16_4_createemptypsbt.c b/src/17_4_createemptypsbt.c similarity index 100% rename from src/16_4_createemptypsbt.c rename to src/17_4_createemptypsbt.c From f04ffe5965a3aeed39f126397da95d94117fff53 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:37:19 -0500 Subject: [PATCH 20/61] Rename 16_4_examinepsbt.c to 17_4_examinepsbt.c --- src/{16_4_examinepsbt.c => 17_4_examinepsbt.c} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{16_4_examinepsbt.c => 17_4_examinepsbt.c} (100%) diff --git a/src/16_4_examinepsbt.c b/src/17_4_examinepsbt.c similarity index 100% rename from src/16_4_examinepsbt.c rename to src/17_4_examinepsbt.c From 0713a672d0c8bb04ad7e78248c91a24f7a97fbd2 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:37:27 -0500 Subject: [PATCH 21/61] Rename 16_5_replacewithscript.c to 17_5_replacewithscript.c --- src/{16_5_replacewithscript.c => 17_5_replacewithscript.c} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{16_5_replacewithscript.c => 17_5_replacewithscript.c} (100%) diff --git a/src/16_5_replacewithscript.c b/src/17_5_replacewithscript.c similarity index 100% rename from src/16_5_replacewithscript.c rename to src/17_5_replacewithscript.c From 59e1ff85b68427a8afdd4201d8b816f479b0e84c Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:37:37 -0500 Subject: [PATCH 22/61] Rename 16_7_genhd_for_import.c to 17_7_genhd_for_import.c --- src/{16_7_genhd_for_import.c => 17_7_genhd_for_import.c} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{16_7_genhd_for_import.c => 17_7_genhd_for_import.c} (100%) diff --git a/src/16_7_genhd_for_import.c b/src/17_7_genhd_for_import.c similarity index 100% rename from src/16_7_genhd_for_import.c rename to src/17_7_genhd_for_import.c From 33e38c15e0e1e50c3ca6015778239f9cb79dab38 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:37:45 -0500 Subject: [PATCH 23/61] Rename 17_1_blockinfo.go to 18_1_blockinfo.go --- src/{17_1_blockinfo.go => 18_1_blockinfo.go} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_1_blockinfo.go => 18_1_blockinfo.go} (100%) diff --git a/src/17_1_blockinfo.go b/src/18_1_blockinfo.go similarity index 100% rename from src/17_1_blockinfo.go rename to src/18_1_blockinfo.go From 023909e0cc7c109cc1af5c24863cce1255cf7029 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:37:55 -0500 Subject: [PATCH 24/61] Rename 17_1_getaddress.go to 18_1_getaddress.go --- src/{17_1_getaddress.go => 18_1_getaddress.go} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_1_getaddress.go => 18_1_getaddress.go} (100%) diff --git a/src/17_1_getaddress.go b/src/18_1_getaddress.go similarity index 100% rename from src/17_1_getaddress.go rename to src/18_1_getaddress.go From abd36c28acf4a1e5b680030879b0a9c7f86e06af Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:38:04 -0500 Subject: [PATCH 25/61] Rename 17_1_getamountreceived.go to 18_1_getamountreceived.go --- src/{17_1_getamountreceived.go => 18_1_getamountreceived.go} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_1_getamountreceived.go => 18_1_getamountreceived.go} (100%) diff --git a/src/17_1_getamountreceived.go b/src/18_1_getamountreceived.go similarity index 100% rename from src/17_1_getamountreceived.go rename to src/18_1_getamountreceived.go From a05782593ad5250c3ea0a9c9250c20876c80a80f Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:38:15 -0500 Subject: [PATCH 26/61] Rename 17_1_getbalance.go to 18_1_getbalance.go --- src/{17_1_getbalance.go => 18_1_getbalance.go} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_1_getbalance.go => 18_1_getbalance.go} (100%) diff --git a/src/17_1_getbalance.go b/src/18_1_getbalance.go similarity index 100% rename from src/17_1_getbalance.go rename to src/18_1_getbalance.go From ddc89b36f579e26ef405415f3cf0151b4ab94162 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:38:22 -0500 Subject: [PATCH 27/61] Rename 17_1_lookuptransaction.go to 18_1_lookuptransaction.go --- src/{17_1_lookuptransaction.go => 18_1_lookuptransaction.go} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_1_lookuptransaction.go => 18_1_lookuptransaction.go} (100%) diff --git a/src/17_1_lookuptransaction.go b/src/18_1_lookuptransaction.go similarity index 100% rename from src/17_1_lookuptransaction.go rename to src/18_1_lookuptransaction.go From 6cd28d921ebe25e76bb39aec5d5267cad291f14f Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:38:30 -0500 Subject: [PATCH 28/61] Rename 17_1_sendtransaction.go to 18_1_sendtransaction.go --- src/{17_1_sendtransaction.go => 18_1_sendtransaction.go} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_1_sendtransaction.go => 18_1_sendtransaction.go} (100%) diff --git a/src/17_1_sendtransaction.go b/src/18_1_sendtransaction.go similarity index 100% rename from src/17_1_sendtransaction.go rename to src/18_1_sendtransaction.go From 489fd1019b0f27e685a0198a1606c12b2ccc10ab Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:38:38 -0500 Subject: [PATCH 29/61] Rename 17_2_App-getinfo.java to 18_2_App-getinfo.java --- src/{17_2_App-getinfo.java => 18_2_App-getinfo.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_2_App-getinfo.java => 18_2_App-getinfo.java} (100%) diff --git a/src/17_2_App-getinfo.java b/src/18_2_App-getinfo.java similarity index 100% rename from src/17_2_App-getinfo.java rename to src/18_2_App-getinfo.java From 343ea7364aa1ffef8b24b1e4f08d1d9062f0be5e Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:38:46 -0500 Subject: [PATCH 30/61] Rename 17_2_App-listen.java to 18_2_App-listen.java --- src/{17_2_App-listen.java => 18_2_App-listen.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_2_App-listen.java => 18_2_App-listen.java} (100%) diff --git a/src/17_2_App-listen.java b/src/18_2_App-listen.java similarity index 100% rename from src/17_2_App-listen.java rename to src/18_2_App-listen.java From 739198f62da0d82d013c787f9ccdda8a0ea1da4e Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:38:56 -0500 Subject: [PATCH 31/61] Rename 17_2_App-sendtx.java to 18_2_App-sendtx.java --- src/{17_2_App-sendtx.java => 18_2_App-sendtx.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_2_App-sendtx.java => 18_2_App-sendtx.java} (100%) diff --git a/src/17_2_App-sendtx.java b/src/18_2_App-sendtx.java similarity index 100% rename from src/17_2_App-sendtx.java rename to src/18_2_App-sendtx.java From 8133f1f6a4402c158b85f17a1927ecf1c538e7e2 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:39:07 -0500 Subject: [PATCH 32/61] Rename 17_3_getinfo.js to 18_3_getinfo.js --- src/{17_3_getinfo.js => 18_3_getinfo.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_3_getinfo.js => 18_3_getinfo.js} (100%) diff --git a/src/17_3_getinfo.js b/src/18_3_getinfo.js similarity index 100% rename from src/17_3_getinfo.js rename to src/18_3_getinfo.js From e6ad79a8e5ab5a1ac42b6aa9d2183b3bfa16ea4a Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:39:16 -0500 Subject: [PATCH 33/61] Rename 17_3_sendtx.js to 18_3_sendtx.js --- src/{17_3_sendtx.js => 18_3_sendtx.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_3_sendtx.js => 18_3_sendtx.js} (100%) diff --git a/src/17_3_sendtx.js b/src/18_3_sendtx.js similarity index 100% rename from src/17_3_sendtx.js rename to src/18_3_sendtx.js From f012a81f8249beee662000a28cc3b103e6c4db9c Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:39:27 -0500 Subject: [PATCH 34/61] Rename 17_3_walletinfo.js to 18_3_walletinfo.js --- src/{17_3_walletinfo.js => 18_3_walletinfo.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_3_walletinfo.js => 18_3_walletinfo.js} (100%) diff --git a/src/17_3_walletinfo.js b/src/18_3_walletinfo.js similarity index 100% rename from src/17_3_walletinfo.js rename to src/18_3_walletinfo.js From 13b1437370f439120adb15b00728a89aa74ddd05 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:39:36 -0500 Subject: [PATCH 35/61] Rename 17_4_getinfo.py to 18_4_getinfo.py --- src/{17_4_getinfo.py => 18_4_getinfo.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_4_getinfo.py => 18_4_getinfo.py} (100%) diff --git a/src/17_4_getinfo.py b/src/18_4_getinfo.py similarity index 100% rename from src/17_4_getinfo.py rename to src/18_4_getinfo.py From 07c11b2a9c36e36dd96a2d96ae829949b2c4a7cf Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:39:44 -0500 Subject: [PATCH 36/61] Rename 17_4_sendtx.py to 18_4_sendtx.py --- src/{17_4_sendtx.py => 18_4_sendtx.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_4_sendtx.py => 18_4_sendtx.py} (100%) diff --git a/src/17_4_sendtx.py b/src/18_4_sendtx.py similarity index 100% rename from src/17_4_sendtx.py rename to src/18_4_sendtx.py From 21f7affe44a3d42c117eef55148f2a877df9802b Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:39:56 -0500 Subject: [PATCH 37/61] Rename 17_4_walletinfo.py to 18_4_walletinfo.py --- src/{17_4_walletinfo.py => 18_4_walletinfo.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_4_walletinfo.py => 18_4_walletinfo.py} (100%) diff --git a/src/17_4_walletinfo.py b/src/18_4_walletinfo.py similarity index 100% rename from src/17_4_walletinfo.py rename to src/18_4_walletinfo.py From 0266655474ddad869c08eab21001d2535f6508ff Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:40:05 -0500 Subject: [PATCH 38/61] Rename 17_5_main-getinfo.rs to 18_5_main-getinfo.rs --- src/{17_5_main-getinfo.rs => 18_5_main-getinfo.rs} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_5_main-getinfo.rs => 18_5_main-getinfo.rs} (100%) diff --git a/src/17_5_main-getinfo.rs b/src/18_5_main-getinfo.rs similarity index 100% rename from src/17_5_main-getinfo.rs rename to src/18_5_main-getinfo.rs From 935226b0036ce76ec971e3606f5513f51400c495 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:40:15 -0500 Subject: [PATCH 39/61] Rename 17_5_main-sendtx.rs to 18_5_main-sendtx.rs --- src/{17_5_main-sendtx.rs => 18_5_main-sendtx.rs} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_5_main-sendtx.rs => 18_5_main-sendtx.rs} (100%) diff --git a/src/17_5_main-sendtx.rs b/src/18_5_main-sendtx.rs similarity index 100% rename from src/17_5_main-sendtx.rs rename to src/18_5_main-sendtx.rs From e56eac346aedc282572f2ad7b11884537cd581cc Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:40:27 -0500 Subject: [PATCH 40/61] Rename 17_6_getinfo.playground to 18_6_getinfo.playground --- src/{17_6_getinfo.playground => 18_6_getinfo.playground} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_6_getinfo.playground => 18_6_getinfo.playground} (100%) diff --git a/src/17_6_getinfo.playground b/src/18_6_getinfo.playground similarity index 100% rename from src/17_6_getinfo.playground rename to src/18_6_getinfo.playground From fcf0efc6aff943135e55653ed3455cdc5b9d40d9 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:40:36 -0500 Subject: [PATCH 41/61] Rename 17_6_sendtx.playground to 18_6_sendtx.playground --- src/{17_6_sendtx.playground => 18_6_sendtx.playground} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{17_6_sendtx.playground => 18_6_sendtx.playground} (100%) diff --git a/src/17_6_sendtx.playground b/src/18_6_sendtx.playground similarity index 100% rename from src/17_6_sendtx.playground rename to src/18_6_sendtx.playground From 41f0f7854fdbe1ddafffc62ccee26a5731ca20c4 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:44:26 -0500 Subject: [PATCH 42/61] updating src links --- es/16_1_Accediendo_a_Bitcoind_en_C_con_las_Bibliotecas_RPC.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/es/16_1_Accediendo_a_Bitcoind_en_C_con_las_Bibliotecas_RPC.md b/es/16_1_Accediendo_a_Bitcoind_en_C_con_las_Bibliotecas_RPC.md index 0f5a698..28bdd49 100644 --- a/es/16_1_Accediendo_a_Bitcoind_en_C_con_las_Bibliotecas_RPC.md +++ b/es/16_1_Accediendo_a_Bitcoind_en_C_con_las_Bibliotecas_RPC.md @@ -148,7 +148,7 @@ bitcoinrpc_global_cleanup(); ### Pruebe el código de prueba -El código de prueba se puede encontrar en el directorio src [15_1_testbitcoin.c](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/spanish-translation/src/15_1_testbitcoin.c). Descárguelo en su máquina de testnet, luego inserte la contraseña de RPC correcta (y cambie el usuario de RPC si no creó su servidor con StandUp). +El código de prueba se puede encontrar en el directorio src [16_1_testbitcoin.c](../src/16_1_testbitcoin.c). Descárguelo en su máquina de testnet, luego inserte la contraseña de RPC correcta (y cambie el usuario de RPC si no creó su servidor con StandUp). Puede compilar y ejecutar esto de la siguiente manera: ``` @@ -214,7 +214,7 @@ printf("Block Count: %d\n",blocks); ### Prueba el código de información -Recupere el código de prueba del [directorio src](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/spanish-translation/src/15_1_getmininginfo.c). +Recupere el código de prueba del [directorio src](../src/16_1_getmininginfo.c). ``` $ cc getmininginfo.c -lbitcoinrpc -ljansson -o getmininginfo $ ./getmininginfo From 90512e527eedb395ebcb43330514752f45cfc8e4 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:45:52 -0500 Subject: [PATCH 43/61] update src link --- es/16_2_Programando_Bitcoind_en_C_con_las_Bibliotecas_RPC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/16_2_Programando_Bitcoind_en_C_con_las_Bibliotecas_RPC.md b/es/16_2_Programando_Bitcoind_en_C_con_las_Bibliotecas_RPC.md index 47ee6d6..0324a34 100644 --- a/es/16_2_Programando_Bitcoind_en_C_con_las_Bibliotecas_RPC.md +++ b/es/16_2_Programando_Bitcoind_en_C_con_las_Bibliotecas_RPC.md @@ -364,7 +364,7 @@ El código completo, con un poco más de comprobación de errores, aparece en el ## Pruebe su código -El código completo se puede encontrar en el [directorio src](../src/15_2_sendtoaddress.c). +El código completo se puede encontrar en el [directorio src](../src/16_2_sendtoaddress.c). Compile esto como de costumbre: From 6f6bc253615f2725510837582d6884f4b6fb0ba0 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:46:41 -0500 Subject: [PATCH 44/61] update src link --- ...o_Notificaciones_de_Bitcoind_en_C_con_las_Bibliotecas_ZMQ.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/16_3_Recibiendo_Notificaciones_de_Bitcoind_en_C_con_las_Bibliotecas_ZMQ.md b/es/16_3_Recibiendo_Notificaciones_de_Bitcoind_en_C_con_las_Bibliotecas_ZMQ.md index 29fde71..9fdae28 100644 --- a/es/16_3_Recibiendo_Notificaciones_de_Bitcoind_en_C_con_las_Bibliotecas_ZMQ.md +++ b/es/16_3_Recibiendo_Notificaciones_de_Bitcoind_en_C_con_las_Bibliotecas_ZMQ.md @@ -133,7 +133,7 @@ Por supuesto, cuando termine, debe limpiar: ### Pruebe el código de notificación -El código fuente está en el [directorio src](../src/15_3_chainlistener.c) como de costumbre. Debería compilarlo: +El código fuente está en el [directorio src](../src/16_3_chainlistener.c) como de costumbre. Debería compilarlo: ``` $ cc -o chainlistener chainlistener.c -I/usr/local/include -L/usr/local/lib -lzmq -lczmq From f79d8cac586ec08f4c487c6a9896f1da7a5eb06d Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:47:40 -0500 Subject: [PATCH 45/61] updating src link --- es/17_1_Configurando_Libwally.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/17_1_Configurando_Libwally.md b/es/17_1_Configurando_Libwally.md index a99e331..36a1734 100644 --- a/es/17_1_Configurando_Libwally.md +++ b/es/17_1_Configurando_Libwally.md @@ -128,7 +128,7 @@ En ambos casos, el argumento es para flags, pero actualmente tiene el valor `0`. ## Prueba un programa de prueba de Libwally -El directorio src contiene [testwally.c](../src/16_1_testwally.c), que sólo muestra cómo funcionan las funciones de inicialización y limpieza. +El directorio src contiene [testwally.c](../src/17_1_testwally.c), que sólo muestra cómo funcionan las funciones de inicialización y limpieza. Puede compilarlo de la siguiente manera: ``` From e2e234ca340de2853b6a7cc0f79777a83f5d292a Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:48:44 -0500 Subject: [PATCH 46/61] src link --- es/17_3_Usando_BIP32_en_Libwally.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/17_3_Usando_BIP32_en_Libwally.md b/es/17_3_Usando_BIP32_en_Libwally.md index 7a2d794..320d498 100644 --- a/es/17_3_Usando_BIP32_en_Libwally.md +++ b/es/17_3_Usando_BIP32_en_Libwally.md @@ -103,7 +103,7 @@ También hay una función `wally_bip32_key_to_address` que se puede utilizar par ## Prueba de código HD -El código para este ejemplo de HD se puede encontrar, como de costumbre, en el [src directory](../src/16_3_genhd.c). +El código para este ejemplo de HD se puede encontrar, como de costumbre, en el [src directory](../src/17_3_genhd.c). Puede compilarlo y probarlo: ``` From ada831304cbc2dc0ff10f36a96f08972fe135440 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:50:11 -0500 Subject: [PATCH 47/61] updating src links --- es/17_4_Usando_PSBTs_en_Libwally.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/es/17_4_Usando_PSBTs_en_Libwally.md b/es/17_4_Usando_PSBTs_en_Libwally.md index 276b6cd..0cbbdbb 100644 --- a/es/17_4_Usando_PSBTs_en_Libwally.md +++ b/es/17_4_Usando_PSBTs_en_Libwally.md @@ -116,7 +116,7 @@ Obviamente, hay mucho más que podría ver en los PSBT. De hecho, observar es el ### Pruebe su lector PSBT -De nuevo, el código para este lector PSBT (extremadamente rudimentario y específico) está en el [src directory](../src/16_4_examinepsbt.c). +De nuevo, el código para este lector PSBT (extremadamente rudimentario y específico) está en el [src directory](../src/17_4_examinepsbt.c). Puede compilarlo como siempre: ``` @@ -290,7 +290,7 @@ Pero lo que usted tiene todavía no es un PSBT legal, debido a la falta de insum ``` ## Pruebe su creación de PSBT -En este punto, debería tener un PSBT vacío, pero funcional, que puede ver compilando y ejecutando [el programa](../src/16_4_createemptypsbt.c). +En este punto, debería tener un PSBT vacío, pero funcional, que puede ver compilando y ejecutando [el programa](../src/17_4_createemptypsbt.c). ``` $ cc createemptypsbt.c -lwallycore -o createemptypsbt $ ./createemptypsbt From 6cc2ec4629e313f86dd288dbadd2bfd4b6ffd193 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:51:21 -0500 Subject: [PATCH 48/61] src link --- es/17_5_Usando_Scripts_en_Libwally.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/17_5_Usando_Scripts_en_Libwally.md b/es/17_5_Usando_Scripts_en_Libwally.md index 69bcb20..928d69f 100644 --- a/es/17_5_Usando_Scripts_en_Libwally.md +++ b/es/17_5_Usando_Scripts_en_Libwally.md @@ -110,7 +110,7 @@ Vamos a mostrar cómo hacer uso de eso en §17.7. ## Pruebe su script de reemplazo -Puede tomar el código de prueba del [directorio src](../src/16_5_replacewithscript.c) y compilarlo: +Puede tomar el código de prueba del [directorio src](../src/17_5_replacewithscript.c) y compilarlo: ``` $ cc replacewithscript.c -lwallycore -o replacewithscript ``` From 2c1643dfc35c89226f6c8e602fda571e3e60ba85 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:53:48 -0500 Subject: [PATCH 49/61] src links --- es/17_7_Integrando_Libwally_y_Bitcoin-CLI.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/es/17_7_Integrando_Libwally_y_Bitcoin-CLI.md b/es/17_7_Integrando_Libwally_y_Bitcoin-CLI.md index 5d31491..5c82b11 100644 --- a/es/17_7_Integrando_Libwally_y_Bitcoin-CLI.md +++ b/es/17_7_Integrando_Libwally_y_Bitcoin-CLI.md @@ -27,7 +27,7 @@ Para demostrar completamente esta metodología, creará una transacción con `bi ``` Por ahora, usted sabe cómo configurar una transacción con `bitcoin-cli`: -Aunque puso un destinatario y una cantidad en la salida, es irrelevante porque tendrá que reescribirlas. Un código un poco más elegante podría leer la información `vout` existente antes de reescribir, pero estamos manteniendo las cosas muy cerca de nuestro [código original](../src/16_5_replacewithscript.c). +Aunque puso un destinatario y una cantidad en la salida, es irrelevante porque tendrá que reescribirlas. Un código un poco más elegante podría leer la información `vout` existente antes de reescribir, pero estamos manteniendo las cosas muy cerca de nuestro [código original](../src/17_5_replacewithscript.c). Aquí está el cambio necesario, para que pueda especificar el monto de satoshis para la salida `vout`, sin tener que ponerlo a fuego como en el original: ``` @@ -176,7 +176,7 @@ Desafortunadamente, no todas las interacciones entre Libwally y `bitcoin-cli` va ## Importar claves privadas -Afortunadamente puede hacer lo mismo importando una clave privada generada en Libwally. De un vistazo a [genhd-for-import.c](../src/16_7_genhd_for_import.c), que es una versión simplificada del programa `genhd` de [§17.3](17_3_Usando_BIP32_en_Libwally.md) que también utiliza la biblioteca `jansson` de [§16.1](16_1_Accediendo_a_Bitcoind_en_C_con_las_Bibliotecas_RPC.md) para la salida regularizada. +Afortunadamente puede hacer lo mismo importando una clave privada generada en Libwally. De un vistazo a [genhd-for-import.c](../src/17_7_genhd_for_import.c), que es una versión simplificada del programa `genhd` de [§17.3](17_3_Usando_BIP32_en_Libwally.md) que también utiliza la biblioteca `jansson` de [§16.1](16_1_Accediendo_a_Bitcoind_en_C_con_las_Bibliotecas_RPC.md) para la salida regularizada. El código actualizado también contiene un cambio de nota: solicita una huella dactilar de Libwally para que pueda crear correctamente una ruta de derivación: From d2f65ffcdc76de5585a64000fa587d1a060e1f74 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 16:58:45 -0500 Subject: [PATCH 50/61] updating src links --- es/18_1_Accediendo_a_Bitcoind_con_Go.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/es/18_1_Accediendo_a_Bitcoind_con_Go.md b/es/18_1_Accediendo_a_Bitcoind_con_Go.md index b051dab..8aa7fee 100644 --- a/es/18_1_Accediendo_a_Bitcoind_con_Go.md +++ b/es/18_1_Accediendo_a_Bitcoind_con_Go.md @@ -173,7 +173,7 @@ Sin embargo, usted puede hacer uso de la llamada RPC `getbalance`: ``` `client.GetBalance("*")` requiere la entrada `"*"`, debido a una peculiaridad con `btcd`. El asterisco significa que usted quiere conseguir el saldo de todas sus carteras. -Si ejecuta [the src code](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/src/17_1_getbalance.go), debería obtener una salida similar a esta: +Si ejecuta [the src code](../src/18_1_getbalance.go), debería obtener una salida similar a esta: ``` $ go run getbalance.go 0,000689 BTC @@ -271,7 +271,7 @@ Solo después de esto, use la dirección `getreceivedbyaddress` RPC, en su direc fmt.Println(wallet) ``` -Cuando ejecute [el código](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/src/17_1_getamountreceived.go), debería obtener una salida similar a: +Cuando ejecute [el código](../src/18_1_getamountreceived.go), debería obtener una salida similar a: ``` $ go run getamountreceived.go 0.0085 BTC @@ -323,7 +323,7 @@ func main() { fmt.Println(sent) } ``` -Cuando se ejecuta [el código](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/src/17_1_sendtransaction.go), el txid de la transacción se emite: +Cuando se ejecuta [el código](../src/18_1_sendtransaction.go), el txid de la transacción se emite: ``` $ go run sendtransaction.go 9aa4cd6559e0d69059eae142c35bfe78b71a8084e1fcc2c74e2a9675e9e7489d @@ -369,7 +369,7 @@ func main() { ``` > **NOTA:** De nuevo, querrá cambiar el txid por uno realmente reconocido por su sistema. -Cuando ejecute [el código](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/src/17_1_lookuptransaction.go) imprimirá los detalles asociados con una transacción, como su cantidad y cuántas veces se ha confirmado: +Cuando ejecute [el código](../src/18_1_lookuptransaction.go) imprimirá los detalles asociados con una transacción, como su cantidad y cuántas veces se ha confirmado: ``` $ go run lookuptransaction.go { From 2a2d6a1b1b5d1f4b2b9b0964000605a36da238fa Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 17:02:30 -0500 Subject: [PATCH 51/61] src links, minor corrections --- es/18_2_Accediendo_a_Bitcoind_con_Java.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/es/18_2_Accediendo_a_Bitcoind_con_Java.md b/es/18_2_Accediendo_a_Bitcoind_con_Java.md index 590be3e..4d95af0 100644 --- a/es/18_2_Accediendo_a_Bitcoind_con_Java.md +++ b/es/18_2_Accediendo_a_Bitcoind_con_Java.md @@ -79,14 +79,14 @@ Si usa [Gradle](https://gradle.org/releases/), puede ejecutar: compile 'wf.bitcoin:JavaBitcoindRpcClient:1.2.1' ``` -Si desea un proyecto de ejemplo y algunas instrucciones sobre cómo ejecutarlo en el servidor que acaba de crear, puede consultar el [Proyecto de Ejemplo](https://github.com/brunocvcunha/bitcoind-java-client-sample/). También puede buscar todo el código fuente para bitcoin-rpc-client (https://github.com/Polve/bitcoin-rpc-client). +Si desea un proyecto de ejemplo y algunas instrucciones sobre cómo ejecutarlo en el servidor que acaba de crear, puede consultar el [Proyecto de Ejemplo](https://github.com/brunocvcunha/bitcoind-java-client-sample/). También puede buscar todo el código fuente para [bitcoin-rpc-client](https://github.com/Polve/bitcoin-rpc-client). ## Construya su conexión Para usar `JavaBitcoindRpcClient`, necesita crear una instancia `BitcoindRpcClient`. Esto se hace creando una URL con argumentos de nombre de usuario, contraseña, dirección IP y puerto. Como recordará, la dirección IP `127.0.0.1` y el puerto `18332` deberían ser correctos para la configuración de testnet estándar descrita en este curso, mientras que puede extraer el usuario y la contraseña de `~/. bitcoin/bitcoin.conf`. ```java - BitcoindRpcClient rpcClient = new BitcoinJSONRPCClient("http://StandUp:6305f1b2dbb3bc5a16cd0f4aac7e1eba@localhost:18332"); +BitcoindRpcClient rpcClient = new BitcoinJSONRPCClient("http://StandUp:6305f1b2dbb3bc5a16cd0f4aac7e1eba@localhost:18332"); ``` Tenga en cuenta que también necesitará importar la información adecuada: @@ -151,7 +151,7 @@ PubKey: 0368d0fffa651783524f8b934d24d03b32bf8ff2c0808943a556b3d74b2e5c7d65 ``` ### Ejecute su código -El código para estos ejemplos se puede encontrar en el [directorio src](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/src/18_2_App-getinfo.java) y debe ser instalado en la estructura de directorios estándar creada aquí como `~/java-project/src/main/java/com/blockchaincommons/lbtc/App.java`. Luego se puede compilar y ejecutar. +El código para estos ejemplos se puede encontrar en el [directorio src](../src/18_2_App-getinfo.java) y debe ser instalado en la estructura de directorios estándar creada aquí como `~/java-project/src/main/java/com/blockchaincommons/lbtc/App.java`. Luego se puede compilar y ejecutar. ``` $ mvn compile $ mvn exec:java -Dexec.mainClass=com.blockchaincommons.lbtc.App @@ -265,7 +265,7 @@ Finalmente enviar requiere el comando `sendRawTransaction` : ``` ### Ejecute su código -Ahora puede ejecutar [el código de transacción](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/src/17_2_App-sendtx.java) como `~/java-project/src/main/java/com/blockchaincommons/lbtc/App.java`. +Ahora puede ejecutar [el código de transacción](../src/18_2_App-sendtx.java) como `~/java-project/src/main/java/com/blockchaincommons/lbtc/App.java`. ``` $ mvn compile $ mvn exec:java -Dexec.mainClass=com.blockchaincommons.lbtc.App @@ -300,7 +300,7 @@ Para ello, usa la clase `JavaBitcoindRpcClient` `BitcoinAcceptor`, que le permit }); acceptor.run(); ``` -Vea en el [directorio src](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/src/17_2_App-listen.java) para el código completo. Cada vez que se envíe una transacción o se genere un nuevo bloque, debería ver la salida en su consola: +Vea en el [directorio src](../src/18_2_App-listen.java) para el código completo. Cada vez que se envíe una transacción o se genere un nuevo bloque, debería ver la salida en su consola: ``` 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} From f1693a01a2c9597caeb0f8b911cbb72848c1ee83 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 17:05:11 -0500 Subject: [PATCH 52/61] minor correction --- es/18_4_Accediendo_a_Bitcoind_con_Python.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/18_4_Accediendo_a_Bitcoind_con_Python.md b/es/18_4_Accediendo_a_Bitcoind_con_Python.md index ece7069..fa8866b 100644 --- a/es/18_4_Accediendo_a_Bitcoind_con_Python.md +++ b/es/18_4_Accediendo_a_Bitcoind_con_Python.md @@ -76,7 +76,7 @@ print("---------------------------------------------------------------") print("Block Count:", block_count) print("---------------------------------------------------------------\n") ``` -Debería ver la siguiente salida con `logging` activado : +Debería ver la siguiente salida con `logging` activado: ```sh DEBUG:BitcoinRPC:-3-> getblockcount [] DEBUG:BitcoinRPC:<-3- 1773020 From db9cb47ee3f78cef89ff6d0d582de978293ae621 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 17:07:01 -0500 Subject: [PATCH 53/61] fixing link --- es/18_5_Accediendo_a_Bitcoind_con_Rust.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/18_5_Accediendo_a_Bitcoind_con_Rust.md b/es/18_5_Accediendo_a_Bitcoind_con_Rust.md index 580863f..fce44b8 100644 --- a/es/18_5_Accediendo_a_Bitcoind_con_Rust.md +++ b/es/18_5_Accediendo_a_Bitcoind_con_Rust.md @@ -43,7 +43,7 @@ $ cargo run Hello, world! ``` > :information_source: **NOTA:** si se encuentra con un error `linker Žcc' no encontrado`, tendrá que instalar un -Compilador C. Si está en Linux, adelante e instale las [herramientas de desarrollo] (https://www.ostechnix.com/install-development-tools-linux/). +Compilador C. Si está en Linux, adelante e instale las [herramientas de desarrollo](https://www.ostechnix.com/install-development-tools-linux/). Para acceder a la caja (biblioteca) de `bitcoincore-rpc`, debe añadirla a su `Cargo.toml` en la sección `dependencies`: ```rust From 8d209636d17fec06836094a08a2b6fab255f33da Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 17:10:28 -0500 Subject: [PATCH 54/61] minor corrections --- es/18_6_Accediendo_a_Bitcoind_con_Swift.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/es/18_6_Accediendo_a_Bitcoind_con_Swift.md b/es/18_6_Accediendo_a_Bitcoind_con_Swift.md index e894408..6a2e575 100644 --- a/es/18_6_Accediendo_a_Bitcoind_con_Swift.md +++ b/es/18_6_Accediendo_a_Bitcoind_con_Swift.md @@ -36,11 +36,11 @@ Después, ejecute la aplicación GordianServer y decirle que inicie `Start` Test #### 3. Haga accesible su Gordian bitcoin-cli -Cuando quiera acceder al `bitcoin-cli` creado por GordianServer en su Mac local, puede encontrarlo en `~/. standup/BitcoinCore/bitcoin-VERSION/bin/bitcoin-cli`, por ejemplo `~/. standup/BitcoinCore/bitcoin-0.20.1/bin/bitcoin-cli`. +Cuando quiera acceder al `bitcoin-cli` creado por GordianServer en su Mac local, puede encontrarlo en `~/.standup/BitcoinCore/bitcoin-VERSION/bin/bitcoin-cli`, por ejemplo `~/.standup/BitcoinCore/bitcoin-0.20.1/bin/bitcoin-cli`. Es posible que desee crear un alias para eso: ``` -alias bitcoin-cli="~/. standup/BitcoinCore/bitcoin-0.20.1/bin/bitcoin-cli -testnet" +alias bitcoin-cli="~/.standup/BitcoinCore/bitcoin-0.20.1/bin/bitcoin-cli -testnet" ``` > :link: **TESTNET vs. MAINNET:** Obviamente, el parámetro `-testnet` solo es necesario si se está ejecutando en testnet. From f5cb57d4817da548bb793d0d26f29eefabad487e Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 17:11:01 -0500 Subject: [PATCH 55/61] fixing interlude link --- es/19_0_Entendiendo_Su_Configuracion_Lightning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/19_0_Entendiendo_Su_Configuracion_Lightning.md b/es/19_0_Entendiendo_Su_Configuracion_Lightning.md index d98425e..c9b96af 100644 --- a/es/19_0_Entendiendo_Su_Configuracion_Lightning.md +++ b/es/19_0_Entendiendo_Su_Configuracion_Lightning.md @@ -24,7 +24,7 @@ Los objetivos de apoyo incluyen la capacidad de: * [Sección uno: Verificación de la configuración de c-lightning](19_1_Verificando_Su_Configuracion_Lightning.md) * [Sección dos: Conozca su configuración de c-lightning](19_2_Conociendo_Su_Configuracion_Lightning.md) - * [Interludio: Acceso a un segundo nodo Lightning](19_2__Interludio_Accediendo_a_un_Segundo_Nodo_Lightning.md) + * [Interludio: Acceso a un segundo nodo Lightning](19_2_Interludio_Accediendo_a_un_Segundo_Nodo_Lightning.md) * [Sección tres: Creación de un canal Lightning](19_3_Creando_un_Canal_en_Lightning.md) From 24e93f6b503fa6e6ff5291ed6366087c47cb1f32 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 17:12:18 -0500 Subject: [PATCH 56/61] fixing link --- es/19_1_Verificando_Su_Configuracion_Lightning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/19_1_Verificando_Su_Configuracion_Lightning.md b/es/19_1_Verificando_Su_Configuracion_Lightning.md index 47c1bc4..32307b3 100644 --- a/es/19_1_Verificando_Su_Configuracion_Lightning.md +++ b/es/19_1_Verificando_Su_Configuracion_Lightning.md @@ -243,7 +243,7 @@ Continúe "Comprender su configuración Lightning" con [§19.2: Conocer su confi ## Variante: instalar desde Ubuntu ppa -Si está usando una versión de Ubuntu que no sea Debian, puede instalar c-lightning usando [Ubuntu ppa] (https://launchpad.net/~lightningnetwork/+archive/ubuntu/ppa): +Si está usando una versión de Ubuntu que no sea Debian, puede instalar c-lightning usando [Ubuntu ppa](https://launchpad.net/~lightningnetwork/+archive/ubuntu/ppa): ``` $ sudo apt-get install -y software-properties-common From b8ddf3d09289ad7ed155f088a6831cf19b5cb26f Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 17:14:13 -0500 Subject: [PATCH 57/61] fixing link --- es/19_2_Interludio_Accediendo_a_un_Segundo_Nodo_Lightning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/19_2_Interludio_Accediendo_a_un_Segundo_Nodo_Lightning.md b/es/19_2_Interludio_Accediendo_a_un_Segundo_Nodo_Lightning.md index 4bcf2c5..ccb8413 100644 --- a/es/19_2_Interludio_Accediendo_a_un_Segundo_Nodo_Lightning.md +++ b/es/19_2_Interludio_Accediendo_a_un_Segundo_Nodo_Lightning.md @@ -53,7 +53,7 @@ A continuación, pueden decirle su `id` (`03240a4878a9a64aea6c3921a434e573845267 ## Crear un nuevo nodo c-lightning -Sin embargo, para fines de prueba, es probable que desee tener un segundo nodo bajo su propio control. La forma más fácil de hacerlo es crear un segundo nodo c-lightning en una máquina nueva, usando Bitcoin Standup, por [§2.1](02_1_Configurando_un_Bitcoin-Core_VPS_con_StackScript.md) o compilándolo a mano, por [§19.1](9_1_Verificando_Su_Configuracion_Lightning.md). +Sin embargo, para fines de prueba, es probable que desee tener un segundo nodo bajo su propio control. La forma más fácil de hacerlo es crear un segundo nodo c-lightning en una máquina nueva, usando Bitcoin Standup, por [§2.1](02_1_Configurando_un_Bitcoin-Core_VPS_con_StackScript.md) o compilándolo a mano, por [§19.1](19_1_Verificando_Su_Configuracion_Lightning.md). Una vez que tenga su nodo en ejecución, puede ejecutar `getinfo` para recuperar su información, como se muestra arriba. From 0e51860eb5b006ea0ff5bd6e51981369c70fa211 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 17:20:08 -0500 Subject: [PATCH 58/61] fixing links and markdown, txid --- es/19_3_Creando_un_Canal_en_Lightning.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/es/19_3_Creando_un_Canal_en_Lightning.md b/es/19_3_Creando_un_Canal_en_Lightning.md index e972af9..23992d8 100644 --- a/es/19_3_Creando_un_Canal_en_Lightning.md +++ b/es/19_3_Creando_un_Canal_en_Lightning.md @@ -34,7 +34,7 @@ $ lightning-cli --testnet newaddr } ``` -Luego puede enviar fondos a esta dirección usando `bitcoin-cli sendtoaddress` (o cualquier otra metodología que prefiera). Para este ejemplo, lo hicimos en la transacción [11094bb9ac29ce5af9f1e5a0e4aac2066ae132f25b72bff90fcddf64bf2feb02](https://blockstream.info/testnet/tx/11094bb9ac29ce5af9f1e5a0e4b2ac2066ae2f25b72bff90fcddf64bf2feb02] +Luego puede enviar fondos a esta dirección usando `bitcoin-cli sendtoaddress` (o cualquier otra metodología que prefiera). Para este ejemplo, lo hicimos en la transacción [11094bb9ac29ce5af9f1e5a0e4aac2066ae132f25b72bff90fcddf64bf2feb02](https://blockstream.info/testnet/tx/11094bb9ac29ce5af9f1e5a0e4b2ac2066ae2f25b72bff90fcddf64bf2feb02) Esta transacción se denomina [transacción de financiación](https://github.com/lightningnetwork/lightning-rfc/blob/master/03-transactions.md#funding-transaction-output) y debe confirmarse antes de que los fondos puedan ser usado. @@ -82,7 +82,7 @@ Ahora que ha financiado su billetera c-lightning, necesitará información sobre Lo siguiente que debe hacer es conectar su nodo a un par. Esto se hace con el comando `lightning-cli connect`. Recuerde que si desea obtener más información sobre este comando, debe escribir `lightning-cli help connect`. -Para conectar su nodo a un par remoto, necesita su ID, que representa la clave pública del nodo de destino. Para su comodidad, `id` puede tener el formato `id@host` o `id@host:port`. Es posible que haya recuperado esto con `lightning-cli getinfo` (en c-lightning) o `lncli --network=testnet getinfo` (en LND) como se discutió en el [interludio anterior](19_2__Interludio_Accediendo_a_un_Segundo_Nodo_Lightning.md). +Para conectar su nodo a un par remoto, necesita su ID, que representa la clave pública del nodo de destino. Para su comodidad, `id` puede tener el formato `id@host` o `id@host:port`. Es posible que haya recuperado esto con `lightning-cli getinfo` (en c-lightning) o `lncli --network=testnet getinfo` (en LND) como se discutió en el [interludio anterior](19_2_Interludio_Accediendo_a_un_Segundo_Nodo_Lightning.md). Hemos seleccionado el nodo LND, `032a7572dc013b6382cde391d79f292ced27305aa4162ec3906279fc4334602543`, que se encuentra en la dirección IP `45.33.35.151`, a la que nos vamos a conectar desde nuestro nodo c-lightning: @@ -98,12 +98,12 @@ $ lightning-cli --network=testnet connect 032a7572dc013b6382cde391d79f292ced2730 El comando fundchannel RPC abre un canal de pago con un par al realizar una transacción de financiación en la cadena de bloques. Debe usar el comando `lightning-cli fundchannel` para hacerlo, con los siguientes parámetros: -* ** id ** es el retorno de la identificación del par de connect. -* ** monto ** es el monto en satoshis que se toma de la billetera interna para financiar el canal. El valor no puede ser menor que el límite de polvo, actualmente establecido en 546, ni más de 16.777.215 satoshi (a menos que se hayan negociado grandes canales con el par). -* ** tarifa ** es una tarifa opcional utilizada para la transacción de apertura y como tarifa inicial para transacciones de compromiso y HTLC. -* ** anuncio ** es una bandera opcional que activa si anunciar este canal o no. Por defecto es verdadero. Si desea crear un canal privado no anunciado, configúrelo en falso. -* ** minconf ** especifica el número mínimo de confirmaciones que deben tener las salidas utilizadas en el proceso de apertura del canal. El valor predeterminado es 1. -* ** utxos ** especifica los utxos que se utilizarán para financiar el canal, como una matriz de "txid: vout". +* **id** es el retorno de la identificación del par de connect. +* **monto** es el monto en satoshis que se toma de la billetera interna para financiar el canal. El valor no puede ser menor que el límite de polvo, actualmente establecido en 546, ni más de 16.777.215 satoshi (a menos que se hayan negociado grandes canales con el par). +* **tarifa** es una tarifa opcional utilizada para la transacción de apertura y como tarifa inicial para transacciones de compromiso y HTLC. +* **anuncio** es una bandera opcional que activa si anunciar este canal o no. Por defecto es verdadero. Si desea crear un canal privado no anunciado, configúrelo en falso. +* **minconf** especifica el número mínimo de confirmaciones que deben tener las salidas utilizadas en el proceso de apertura del canal. El valor predeterminado es 1. +* **utxos** especifica los utxos que se utilizarán para financiar el canal, como una matriz de "txid: vout". Ahora puede abrir el canal así: @@ -165,7 +165,7 @@ c$ lightning-cli --testnet listfunds Si bien este nuevo canal con 100.000 satoshis no está confirmado, su estado será `CHANNELD_AWAITING_LOCKIN`. Tenga en cuenta que el cambio no confirmado de satoshis `99847` también se muestra como una nueva transacción en la billetera. Una vez completadas las seis confirmaciones, el canal cambiará al estado `CHANNELD_NORMAL`, que será su estado permanente. En este momento, también aparecerá un `short_channel_id`, como: ``` - "short_channel_id": "1862856x29x0", +"short_channel_id": "1862856x29x0", ``` Estos valores indican dónde se puede encontrar la transacción de financiación en la cadena de bloques. Aparece en la forma `block x txid x vout`. @@ -178,7 +178,7 @@ En este caso, "1862856x29x0" significa: Es posible que deba usar este `short_channel_id` para ciertos comandos en Lightning. -Esta transacción de financiación también se puede encontrar en la cadena en [66694d23ca15efe379e5f4a71d9be1a2d65e383b89ee3abe126ee36a12f23c1d](https://blockstream.info/testnet/tx/66694d23ca15efe379e5f4a71d9abe123a2d89e5f4a71d9a126ee36a12f23c1d] +Esta transacción de financiación también se puede encontrar en la cadena en [66694d23ca15efe379e5f4a71d9be1a2d65e383b89ee3abe126ee36a12f23c1d](https://blockstream.info/testnet/tx/66694d23ca15efe379e5f4a71d9be1a2d65e383b89ee3abe126ee36a12f23c1d) > :book: ***¿Qué es la capacidad del canal?*** En un canal Lightning, ambos lados del canal poseen una parte de su capacidad. La cantidad de su lado del canal se llama *saldo local* y la cantidad de su lado se llama *saldo remoto*. Ambos saldos se pueden actualizar muchas veces sin cerrar el canal (cuando el saldo final se envía a la cadena de bloques), pero la capacidad del canal no puede cambiar sin cerrarlo o empalmarlo. La capacidad total de un canal es la suma del saldo que tiene cada participante en el canal. From a0cfea22bd14376e96a691e3e37e1c575fc500c5 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 17:22:33 -0500 Subject: [PATCH 59/61] fixing links --- es/20_1_Generando_una_Solicitud_de_Pago.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/20_1_Generando_una_Solicitud_de_Pago.md b/es/20_1_Generando_una_Solicitud_de_Pago.md index 503c4e5..6e77874 100644 --- a/es/20_1_Generando_una_Solicitud_de_Pago.md +++ b/es/20_1_Generando_una_Solicitud_de_Pago.md @@ -3,7 +3,7 @@ > :information_source: **NOTA:** Esta sección se ha agregado recientemente al curso y es un borrador inicial que aún puede estar pendiente de revisión. Lector de advertencias. -Esta sección describe cómo funcionan los pagos en Lightning Network, cómo crear una solicitud de pago (o _factura_), y, finalmente, cómo entenderla. Le emisión de facturas depende de que tenga un segundo nodo Lightning, como se describe en [Acceso a un Segundo Nodo Lightning](19_2__Interludio_Accediendo_a_un_Segundo_Nodo_Lightning.md). Estos ejemplos usarán un nodo LND como su nodo secundario, para demostrar aún más las posibilidades de Lightning Network. Para diferenciar entre los nodos en estos ejemplos, las solicitudes se mostrarán como `c$` para el nodo c-lightning y `lnd$` como el nodo LND. Si desea reproducir estos pasos, debe [instalar su propio nodo LND secundario](19_2__Interludio_Accediendo_a_un_Segundo_Nodo_Lightning.md#Crear-un-nuevo-nodo-LND). +Esta sección describe cómo funcionan los pagos en Lightning Network, cómo crear una solicitud de pago (o _factura_), y, finalmente, cómo entenderla. Le emisión de facturas depende de que tenga un segundo nodo Lightning, como se describe en [Acceso a un Segundo Nodo Lightning](19_2_Interludio_Accediendo_a_un_Segundo_Nodo_Lightning.md). Estos ejemplos usarán un nodo LND como su nodo secundario, para demostrar aún más las posibilidades de Lightning Network. Para diferenciar entre los nodos en estos ejemplos, las solicitudes se mostrarán como `c$` para el nodo c-lightning y `lnd$` como el nodo LND. Si desea reproducir estos pasos, debe [instalar su propio nodo LND secundario](19_2_Interludio_Accediendo_a_un_Segundo_Nodo_Lightning.md#Crear-un-nuevo-nodo-LND). > :book: ***¿Qué es una Factura?** Casi todos los pagos realizados en Lightning Network requieren una factura, que no es más que una **solicitud de pago** realizada por el destinatario del dinero y enviada por una variedad de medios al usario que paga. Todas las solicitudes de pago son de un solo uso. Las facturas Lightning utilizan la codificación bech32, que ya utiliza Segregated Witness para Bitcoin. From e0d2c93b9d70d73be9ef6b5a5e1a5d23f18d51e1 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 17:24:25 -0500 Subject: [PATCH 60/61] updating link --- es/20_4_Expandiendo_la_Red_Lightning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/20_4_Expandiendo_la_Red_Lightning.md b/es/20_4_Expandiendo_la_Red_Lightning.md index b6441d6..1fd125c 100644 --- a/es/20_4_Expandiendo_la_Red_Lightning.md +++ b/es/20_4_Expandiendo_la_Red_Lightning.md @@ -51,7 +51,7 @@ Puede usar diferentes implementaciones complementos billeteras móviles o copias ## ¿Que Sigue? -Ha completado Aprender Bitcoin Desde la Línea de Comandos, aunque si nunca visitó los [Apéndices](A0_Appendices.md) de configuraciones alternativas, puede hacerlo ahora. +Ha completado Aprender Bitcoin Desde la Línea de Comandos, aunque si nunca visitó los [Apéndices](A0_Apendices.md) de configuraciones alternativas, puede hacerlo ahora. De lo contrario, le recomendamos que se una a las comunidades de desarrolladores, programe y ponga en práctica sus nuevos conocimientos. From 91841e655c3aec0eb7725a3b5bb1e9129a3d7cb4 Mon Sep 17 00:00:00 2001 From: Ian Culp <57159226+icculp@users.noreply.github.com> Date: Wed, 6 Oct 2021 17:32:57 -0500 Subject: [PATCH 61/61] fixing a few more links --- es/18_1_Accediendo_a_Bitcoind_con_Go.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/es/18_1_Accediendo_a_Bitcoind_con_Go.md b/es/18_1_Accediendo_a_Bitcoind_con_Go.md index 8aa7fee..1ffb7e3 100644 --- a/es/18_1_Accediendo_a_Bitcoind_con_Go.md +++ b/es/18_1_Accediendo_a_Bitcoind_con_Go.md @@ -173,10 +173,10 @@ Sin embargo, usted puede hacer uso de la llamada RPC `getbalance`: ``` `client.GetBalance("*")` requiere la entrada `"*"`, debido a una peculiaridad con `btcd`. El asterisco significa que usted quiere conseguir el saldo de todas sus carteras. -Si ejecuta [the src code](../src/18_1_getbalance.go), debería obtener una salida similar a esta: +Si ejecuta [el código src](../src/18_1_getbalance.go), debería obtener una salida similar a esta: ``` $ go run getbalance.go -0,000689 BTC +0.000689 BTC ``` ## Crear una dirección @@ -227,7 +227,7 @@ A continuación, puede crear su dirección: ``` Una peculiaridad con `client.GetNewAddress(")` es que se debe incluir una cadena vacía para que funcione. -Ejecutando [the source](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/src/17_1_getaddress.go) se obtienen los siguientes resultados: +Ejecutando [la fuente](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/src/18_1_getaddress.go) se obtienen los siguientes resultados: ``` $ go run getaddress.go