From 58f41aa3a926f98b333cd2e15dcf35d94e171674 Mon Sep 17 00:00:00 2001 From: Cesar Alvarez Vallero Date: Sun, 1 Aug 2021 22:26:53 -0300 Subject: [PATCH 1/9] Create chapter A0 spanish translation --- es/A0_Apendices.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 es/A0_Apendices.md diff --git a/es/A0_Apendices.md b/es/A0_Apendices.md new file mode 100644 index 0000000..ea290ae --- /dev/null +++ b/es/A0_Apendices.md @@ -0,0 +1,22 @@ +# Apéndices + +El cuerpo principal de este curso sugiere una configuración bastante estándar para hacer pruebas con Bitcoin. Lo que sigue en estos apéndices es una mejor explicación de la configuración y otras opciones de alternativas. + +## Objetivos para esta sección + +Después de trabajar en este capítulo, un desarrollador podrá: + + * Decidir entre múltiples métodos para crear una cadena de bloques Bitcoin. + +Los objetivos de apoyo incluyen la capacidad de: + + * Entender la configuración de inicio de Bitcoin + * Realizar una compilación de Bitcoin a mano + * Entender el poder de Regtest + * Utilizar el entorno Regtest + +## Tabla de Contenido + + * [Apéndice Uno: Entendiendo la Configuración Inicial de Bitcoin](A1_0_Entendiendo_la_Configuracion_Inicial_de_Bitcoin.md) + * [Apéndice Dos: Compilando Bitcoin desde la Fuente](A2_0_Compilando_Bitcoin_desde_la_Fuente.md) + * [Apéndice Tres: Usando Bitcoin Regtest](A3_0_Usando_Bitcoin_Regtest.md) From 852e96aae2f0aeaa73a9b83ca2660bfa8f78450a Mon Sep 17 00:00:00 2001 From: Cesar Alvarez Vallero Date: Sun, 1 Aug 2021 22:27:39 -0300 Subject: [PATCH 2/9] Create chapter A1 spanish translation --- ...ndo_la_Configuracion_Inicial_de_Bitcoin.md | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 es/A1_0_Entendiendo_la_Configuracion_Inicial_de_Bitcoin.md diff --git a/es/A1_0_Entendiendo_la_Configuracion_Inicial_de_Bitcoin.md b/es/A1_0_Entendiendo_la_Configuracion_Inicial_de_Bitcoin.md new file mode 100644 index 0000000..11095e1 --- /dev/null +++ b/es/A1_0_Entendiendo_la_Configuracion_Inicial_de_Bitcoin.md @@ -0,0 +1,51 @@ +# Apéndice I: Entendiendo la Configuración Inicial de Bitcoin + +[§2.1: Configurando un VPS Bitcoin-Core con Bitcoin-Standup](02_1_Configurando_un_Bitcoin-Core_VPS_con_StackScript.md) explica el proceso de crear un nodo Bitcoin usando [Bitcoin-Standup-Scripts](https://github.com/BlockchainCommons/Bitcoin-Standup-Scripts). El siguiente apéndice explica que hacen las principales secciones del programa. Usted puede querer seguir junto con [Linode Standup](https://github.com/BlockchainCommons/Bitcoin-Standup-Scripts/blob/master/Scripts/LinodeStandUp.sh) en otra ventana. + +## Paso 1: Nombre del host + +Su nombre de host es almacenado en `/etc/hostname` y configurado con el comando `hostname`. También aparece en `/etc/hosts`. + +## Paso 2: Zona horaria + +La zona horaria de su host es almacenada en `/etc/timezone`, luego un archivo apropiado es copiado desde `/usr/share/zoneinfo/` a `/etc/localtime`. + +## Paso 3: Actualizando Debian + +El gestor de paquetes `apt-get` es usado para actualizar su maquina e instalar `gnupg`, el generador de números aleatorios `haveged`, y el simple cortafuegos `ufw`. + +Su maquina es configurada automáticamente para estar al día con `echo "unattended-upgrades unattended-upgrades/enable_auto_updates boolean true" | debconf-set-selections`. + +## Paso 4: Configurando un usuario + +Un usuario `standup` es creado, el cual sera usado por sus aplicaciones Bitcoin. Este también tiene permisos `sudo`, permitiéndole tomar acciones privilegiadas con esta cuenta. + +Si usted suministro una llave SSH, esta le permitirá acceder a su cuenta (de otra manera, deberá usar una contraseña creada en la configuración). + +Si usted suministro una dirección IP, el acceso `ssh` estará limitado a esa dirección, según `/etc/hosts.allow`. + +## Paso 5: Configurando Tor + +Tor es instalado para proveer servicios protegidos (ocultos) para acceder a los comandos RPC de Bitcoin a través de su servidor. Vea [§14.1: Verificando Su Configuración Tor](14_1_Verificando_Su_Configuracion_Tor.md) para mas información acerca de su configuración Tor. + +Si usted suministro un cliente autorizado para los servicios ocultos, el acceso estará limitado para esa llave, según `/var/lib/tor/standup/authorized_clients`. Si usted no lo hizo, [§14.2](14_2_Cambiando_Sus_Servicios_Bitcoin_Ocultos.md) explica como hacerlo luego. + +## Paso 6: Instalando Bitcoin + +Bitcoin es instalado en `~standup/.bitcoin`. Su configuración es almacenada en `~standup/.bitcoin/bitcoin.conf`. + +Asegúrese que las sumas de comprobación verifiquen según [§2.1](02_1_Configurando_un_Bitcoin-Core_VPS_con_StackScript.md), de otra manera, podría estar expuesto a ataques de la cadena de suministro. + +## Paso 7: Instalando codificador QR + +Para mantener todo compatible con [GordianSystem](https://github.com/BlockchainCommons/GordianSystem), un código QR es creado en `/qrcode.png`. Esto puede leerse desde un cliente QuickConnect, tal como [GordianWallet](https://github.com/BlockchainCommons/GordianWallet-iOS) + +## Conclusión — Entendiendo la Configuración Inicial de Bitcoin + +Bitcoin Standup usa programas para probar e imitar mucha de las funcionalidades de un [GordianNode](https://github.com/BlockchainCommons/GordianNode-macOS). Este debe proveerlo con un entorno Bitcoin seguro, construido en las bases de Bitcoin Core y Tor para comunicaciones RPC. + +## ¿Que sigue? + +Si usted se encontraba en el proceso de crear un nodo Bitcoin para utilizar en este curso, usted debería volver a [§2.1](02_1_Configurando_un_Bitcoin-Core_VPS_con_StackScript.md). + +Si usted esta leyendo a través de los apéndices, continúe con [Apéndice II: Compilando Bitcoin desde la Fuente](A2_0_Compilando_Bitcoin_desde_la_Fuente.md). From f8efd8081e7007ce2dede1ac29c4f74a0b150c35 Mon Sep 17 00:00:00 2001 From: Cesar Alvarez Vallero Date: Mon, 2 Aug 2021 12:41:09 -0300 Subject: [PATCH 3/9] Create chapter A2 spanish translation --- es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md | 128 ++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md diff --git a/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md b/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md new file mode 100644 index 0000000..e264467 --- /dev/null +++ b/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md @@ -0,0 +1,128 @@ +# Apéndice II: Compilando Bitcoin desde la Fuente + +Este curso presume que usted usara un programa para crear un entorno Bitcoin, tanto usando Bitcoin Standup para Linode según [§2.1](02_1_Configurando_un_Bitcoin-Core_VPS_con_StackScript.md), o vía alguna otra forma, de acuerdo con [§2.2](02_2_Configurando_Bitcoin_Core_Otros.md). Sin embargo, usted puede preferir compilar Bitcoin a mano. + +Esto tiene los siguientes beneficios: + +1. Usted siempre estará actualizado con el ultimo lanzamiento. Consideración: Estar siempre actualizado no es necesario para Bitcoin Core, ya que el software siempre es retro compatible, esto quiere decir que una versión de Bitcoin Core sera capaz de participar en la red Bitcoin, a pesar de no contar con las ultimas características. +2. Usted no necesitara depender de binarios pre compilados de Bitcoin Core. Esto requiere menos confianza. Aun que los mantenedores de Bitcoin Core hacen un gran trabajo manteniendo la integridad del código, un binario pre compilado esta unos pasos por detrás del código fuente. Cuando usted compila desde el código fuente, el código puede ser inspeccionado antes de la compilación. +3. Usted puede personalizar la compilación, haciendo cosas tales como deshabilitar los monederos o la interfaz gráfica de usuario. + +## Prepare su Entorno + +Este tutorial utiliza Debian 10.4.kv0 OS en una arquitectura amd64 (computadoras de 64-bits), pero usted puede usar este tutorial en cualquier sistema basado en Debian (por ej. Ubuntu, Mint, etc.). Para otros sistemas Linux, puede adaptar los siguientes pasos con el gestor de paquetes para ese sistema. + +Usted puede tener conocimientos básicos o ninguna familiaridad con la línea de comandos, siempre y cuando tenga entusiasmo. La terminal es su mas poderoso aliado, no algo para ser temido. Usted puede simplemente copiar y pegar los siguientes comandos para compilar bitcoin (un comando con un "$" es un comando de un usuario común y uno con un "#" es un comando de un superusuario o administrador). + +Si usted no esta en la lista de superusuario entonces haga lo siguiente: + +``` +$ su root + +$ apt-get install sudo +$ usermod -aG sudo +$ reboot +``` + +## Instale Bitcoin + +### Paso 1: Actualice su sistema + +Primero, actualice el sistema usando: +``` +$ sudo apt-get update +``` + +### Paso 2: Instale Git y sus dependencias + +Instale `git`, el cual le permitirá descargar el código fuente, y `build-essential`, el cual compila el código: +``` +$ sudo apt-get install git build-essential -y +``` + +Después, instale las dependencias restantes: +``` +$ sudo apt-get install libtool autotools-dev automake pkg-config bsdmainutils python3 libssl-dev libevent-dev libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libminiupnpc-dev libzmq3-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler ccache -y +``` + +### Paso 3: Descargue el código fuente + +Una vez que las dependencias están instaladas, descargue el repositorio (repo) conteniendo el código fuente de Bitcoin desde github: +``` +$ git clone https://github.com/bitcoin/bitcoin.git +``` +Verifique el contenido del repo: +``` +$ ls bitcoin +```` +Debería ser aproximadamente similar al siguiente contenido: + +![clonando el repo](./public/LBftCLI-compiling_bitcoin-git.png) + +### Paso 4: Instale la base de datos Berkley v4.8 + +1. Ingrese al directorio `contrib`: `$ cd bitcoin/contrib/` +2. Ejecute el siguiente comando: ```$ ./install_db4.sh `pwd` ``` + +Una vez que ha sido descargado usted vera el siguiente output. Tome nota del output, usted lo usara para configurar bitcoin mientras compila: + +![db4](./public/LBftCLI-compiling_bitcoin-db4.png) + +### Paso 5: Compile Bitcoin Core + +Es recomendado que usted compile desde una rama etiquetada, la cual es mas estable, a menos que usted quiera probar la vanguardia del desarrollo bitcoin. Ejecute el siguiente comando para obtener una lista de etiquetas, ordenadas de acuerdo a la mas reciente: +``` +$ git tag -n | sort -V +``` +Luego elija una etiqueta tal como `v0.20.0`: +``` +$ git checkout +``` + +Una vez que ha seleccionado una rama etiquetada, ejecute lo siguiente desde dentro del directorio `bitcoin`. El `` debe ser la salida del programa `install_db4.sh`. + +``` +$ ./autogen.sh +$ export BDB_PREFIX='/db4' +$ ./configure BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include" +$ make # build bitcoin core +``` + +### Paso 6: Pruebe la compilación + +Si usted quiere comprobar su compilación (lo cual es una buena idea), ejecute las siguientes pruebas: + +1. `$ make check` correra las pruebas unitarias, los cuales deberan retornar `PASS`. +2. `$ test/functional/test_runner.py --extended` ejecutara las pruebas funcionales extendidas. Omita el indicador `--extended` si usted quiere evitar algunas pruebas. Esto puede tomarle bastante tiempo. + +### Paso 7: Ejecute e instale Bitcoin Core + +Ahora que usted ha compilado Bitcoin Core desde la fuente, usted puede empezar a usarlo e instalarlo para una disponibilidad global. + +#### Ejecute Bitcoin Core sin instalarlo + +Para solo ejecutar Bitcoin Core: + +`$ src/qt/bitcoin-qt` para ejecutar la interfaz grafica de usuario. +`$ src/bitcoind` para ejecutar bitcoin en la línea de comandos. + +### Instale Bitcoin Core + +Para instalar: + +`$ sudo make install` instalara bitcoin core globalmente. Una vez instalado usted puede entonces ejecutar bitcoin desde cualquier lugar en la línea de comandos, al igual que con cualquier otro software: `$ bitcoin-qt` para la interfaz grafica de usuario o `bitcoind` y luego `bitcoin-cli` para la línea de comandos. + +## Finalice su sistema + +Compilando Bitcoin desde la fuente, usted disminuye la necesidad de confianza en su configuracion. Sin embargo, usted esta lejos de la seguridad adicional provista por la configuracion de Bitcoin Standup. Para resolver esto, usted puede querer recorrer el programa [Linode Stackscript](https://github.com/BlockchainCommons/Bitcoin-Standup-Scripts/blob/master/Scripts/LinodeStandUp.sh) completo y ejecutar paso a paso todos los comandos. El unico lugar donde necesita ser cuidadoso es en el Paso 6, el cual instala Bitcoin. Omita solo hasta donde verifica sus binarios, y continue desde ahi. + +## Resumen: Compilando Bitcoin desde la Fuente + +Si usted quiere la seguridad incrementada de instalar Bitcoin desde la fuente, usted deberia tenerla ahora. Con un poco de suerte, usted tambien habra recorrido el Linode Stackscript para configurar un servidor mas seguro. + +## ¿Que sigue? + +Si usted estaba en el proceso de crear un nodo Bitcoin para usar en este curso, usted deberia continuar con [Capitulo 3: Entendiendo Su Configuración Bitcoin](03_0_Entendiendo_Su_Configuracion_Bitcoin.md). + +Si usted esta leyendo a través de los apéndices, continúe con [Apéndice III: Usando Bitcoin Regtest](A3_0_Usando_Bitcoin_Regtest.md). + From 7790a39da76c7211220209dc06766bd089b4c473 Mon Sep 17 00:00:00 2001 From: Cesar Alvarez Vallero Date: Wed, 4 Aug 2021 09:29:40 -0300 Subject: [PATCH 4/9] Fix typo in A2 --- es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md b/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md index e264467..0769716 100644 --- a/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md +++ b/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md @@ -19,9 +19,9 @@ Si usted no esta en la lista de superusuario entonces haga lo siguiente: ``` $ su root -$ apt-get install sudo -$ usermod -aG sudo -$ reboot +# apt-get install sudo +# usermod -aG sudo +# reboot ``` ## Instale Bitcoin From 80c6bd55f51b1ea22d29f3c6aaa9b4074e4b0867 Mon Sep 17 00:00:00 2001 From: Cesar Alvarez Vallero Date: Wed, 4 Aug 2021 11:45:23 -0300 Subject: [PATCH 5/9] Create chapter A3's spanish translation --- es/A3_0_Usando_Bitcoin_Regtest.md | 207 ++++++++++++++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100644 es/A3_0_Usando_Bitcoin_Regtest.md diff --git a/es/A3_0_Usando_Bitcoin_Regtest.md b/es/A3_0_Usando_Bitcoin_Regtest.md new file mode 100644 index 0000000..6aeab91 --- /dev/null +++ b/es/A3_0_Usando_Bitcoin_Regtest.md @@ -0,0 +1,207 @@ +# Apéndice III: Usando Bitcoin Regtest + +> :information_source: **NOTA:** Esta sección ha sido recientemente agregada al curso y es un borrador inicial que puede estar esperando aun su revisión. Precaución lector. + +La mayoría de este curso presume que usted usara o bien Mainnet o bien Testnet. Sin embargo, esas no son las únicas opciones. Mientras desarrolla aplicaciones Bitcoin, usted puede querer mantener sus aplicaciones aisladas de la cadenas de bloques publicas. Para hacerlo, puede crear una cadena de bloques desde cero usando Regtest, la cual tiene una gran ventaja sobre Testnet: usted elige cuando crear nuevos bloques, por lo que tiene un control completo sobre el entorno. + +## Inicie Bitcoind en Regtest + +Luego de [configurar su VPS Bitcoin-Core](02_0_Configurando_un_Bitcoin-Core_VPS.md) o [compilarlo de la fuente](A2_0_Compilando_Bitcoin_desde_la_Fuente.md), usted esta ahora en condiciones de usar regtest. Para iniciar su `bitcoind` en regtest y crear una cadena de bloques privada, use el siguiente comando: +``` +$ bitcoind -regtest -daemon -fallbackfee=1.0 -maxtxfee=1.1 +``` + +Los argumentos `-fallbackfee=1.0 -maxtxfee=1.1` prevendrán el error `Fee estimation failed. Fallbackfee is disabled`. + +En regtest, usualmente no hay suficientes transacciones por lo que bitcoind no puede darle un estimado confiable y, sin eso, el monedero no creara transacciones a menos que se configure explícitamente la tarifa. + +### Reconfigure la cadena de bloques Regtest + +Si usted lo desea, puede mas tarde reiniciar su Regtest con una nueva cadena de bloques. + +Los monederos Regtest y el estado de la cadena de bloques (estado de la cadena) son guardados en el subdirectorio regtest del directorio de configuración de Bitcoin: +``` +user@mybtc:~/.bitcoin# ls +bitcoin.conf regtest testnet3 +``` + +Para comenzar una nueva cadena de bloques usando regtest, todo lo que tiene que hacer es eliminar el directorio `regtest` y reiniciar el Bitcoind. +``` +$ rm -rf regtest +``` +## Genere un monedero Regtest + +Antes de generar bloques, es necesario que cargue un monedero usando `loadwallet` o cree uno nuevo con `createwallet`. Desde la versión 0.21, Bitcoin Core no crea nuevos monederos en el inicio. + +El argumento `descriptors=true` crea un monedero con descriptores de forma nativa, que almacena la información de scriptPubKey usando descriptores de salida. Si este es `falso`, creara un monedero de acuerdo al estándar previo, donde las llaves son usadas para generar implícitamente scriptPubKeys y direcciones. +``` +$ bitcoin-cli -regtest -named createwallet wallet_name="regtest_desc_wallet" descriptors=true +``` + +## Genere Bloques + +Usted puede generar (minar) nuevos bloques en la cadena regtest usando el método RPC `generate` con un argumento para indicar la cantidad de bloques a generar. Solo tiene sentido usar este método en regtest; debido a la alta dificultad es poco probable que genere nuevos bloques en mainnet o testnet: +``` +$ bitcoin-cli -regtest -generate 101 +[ + "57f17afccf28b9296048b6370312678b6d8e48dc3a7b4ef7681d18ed3d91c122", + "631ff7b8135ce633c774828be3b8505726459eb65c339aab981b10363befe5a7", + ... + "1162dbfe025c7da94ee1128dc26d518a94508f532c19edc0de6bc673a909d02c", + "20cb2e815c3d42d6a117a204a0b5e726ab641c826e441b5b3417aca33f2aba48" +] +``` + +> :warning: ADVERTENCIA. Notar que usted debe agregar el indicador `-regtest` luego de cada comando `bitcoin-cli` para acceder correctamente a su entorno Regtest. Si lo prefiere, puede incluir un comando `regtest=1` en su archivo `~/.bitcoin/bitcoin.conf`. + +Debido a que un bloque debe tener 100 confirmaciones antes de que su recompensa pueda ser gastada, usted generara 101 bloques, permitiendo el acceso a la transacción 'coinbase' del bloque #1. Dado que esta es una nueva cadena de bloques usando las reglas por defecto de Bitcoin, el primer bloque recibirá una recompensa de 50 bitcoins. Al contrario que mainnet, en modo regtest, solo los primeros 150 bloques pagan una recompensa de 50 bitcoins. La recompensa se divide luego de 150 bloques, por lo que paga 25, 12.5, etc. + +La salida es el hash de bloque de cada bloque generado. + +> :book: ***¿Que es una transacción 'coinbase'?*** Una transacción 'coinbase' es la transacción sin entradas creada cuando un nuevo bloque es minado y otorgado al minero. Es la manera en que nuevos bitcoins entran al ecosistema. El valor de una transacción 'coinbase' decae con el tiempo. En la mainnet, esta se divide cada 210,000 transacciones y termina completamente con el bloque 6.929.999, el cual esta estipulado que ocurra en el siglo 22. A Mayo del 2020, la recompensa 'coinbase' es de 6.25 BTC. + +### Verifique su balance + +Luego de minar bloques y obtener recompensas, usted puede verificar el balance de su monedero: +``` +$ bitcoin-cli -regtest getbalance +50.00000000 +``` + +### Use la Regtest + +Ahora usted debería ser capaz de usar este balance para cualquier tipo de interacción en su cadena de bloques privada, tales como enviar Bitcoins en transacciones de acuerdo a el [Capitulo 4](04_0_Enviando_Transacciones_Bitcoin.md). + +Es importante notar que para que se complete cualquier transacción, usted deberá generar (mine) nuevos bloques, así las transacciones pueden ser incluidas. + +Por ejemplo, para crear una transacción e incluirla en un bloque, usted debe primero usar el comando `sendtoaddress`: +``` +$ bitcoin-cli -regtest sendtoaddress [address] 15.1 +e834a4ac6ef754164c8e3f0be4f34531b74b768199ffb244ab9f6cb1bbc7465a +``` + +La salida es el hash de la transacción incluida en la cadena de bloques. Usted puede verificar los detalles usando el comando `gettransaction`: +``` +$ bitcoin-cli -regtest gettransaction e834a4ac6ef754164c8e3f0be4f34531b74b768199ffb244ab9f6cb1bbc7465a +{ + "amount": 0.00000000, + "fee": -0.00178800, + "confirmations": 0, + "trusted": false, + "txid": "e834a4ac6ef754164c8e3f0be4f34531b74b768199ffb244ab9f6cb1bbc7465a", + "walletconflicts": [ + ], + "time": 1513204730, + "timereceived": 1513204730, + "bip125-replaceable": "unknown", + "details": [ + { + "account": "", + "address": "mjtN3C97kuWMgeBbxdB7hG1bjz24Grx2vA", + "category": "send", + "amount": -15.10000000, + "label": "", + "vout": 1, + "fee": -0.00178800, + "abandoned": false + }, + { + "account": "", + "address": "mjtN3C97kuWMgeBbxdB7hG1bjz24Grx2vA", + "category": "receive", + "amount": 15.10000000, + "label": "", + "vout": 1 + } + ], + "hex": "020000000f00fe2c7b70b925d0d40011ce96f8991fee5aba9537bd1b6913b37c37b041a57c00000000494830450221009ad02bfeee2a49196a99811ace20e2e7fefd16d33d525884edbc64bf6e2b1db502200b94f4000556391b0998932edde3033ba2517733c7ddffb87d91f6b756629fe201feffffff06a9301a2b39875b68f8058b8e2ad0b658f505e44a67e1e1d039140ae186ed1f0000000049483045022100c65cd13a85af6fcfba74d2852276a37076c89a7642429aa111b7986eea7fd6c7022012bbcb633d392ed469d5befda8df0a6b96e1acfa342f559877edebc2af7cb93401feffffff434b6f67e5e068401553e89f739a3edc667504597f29feb8edafc2b081cc32d90000000049483045022100b86ecc43e602180c787c36465da7fc8d1e8bfba23d6f49c37190c20889f2dfa0022032c3aec3ceefbb7a33c040ef19090cacbfd6bc9c5cd8e94252eb864891c6f34501feffffff4c65b43f8568ce58fc4c55d24ba0742e9878a031fdfae0fadac7247f42cc1f8e0000000049483045022100d055acfce852259dde051dc61792f94277d094c5da96752f925582b8e739868f02205e69add76e6b001073ad6b7df5f32a681fc8513ee0f6e126ee1c2d45149bd91d01feffffff5a72d60b58300974c5d4731e29b437ea61b87b6733bb3ca6ce5548ef8887d05b0000000049483045022100a7f5b2ee656a5a904fb27f982210de6858dfb165777ec969a77ea1c2c82975a4022001a1a563dbc3714047ec855f7aee901e756b851e255f35435e85c2ba7b0abd8401feffffff60d68e9d5650d55bc9e0b2a65ed27a3b9bceac4955760aa1560408854c3b148d000000004948304502210081a6f0c8232c52f3eaca825965077e88b816e503834989be4afb3f44f87eb98202207ae8becb99efe379fb269f477e7bb70d117dcb83e106c53b7addaa9715029da101feffffff63e2239425aad544f6e1157d5ee245d2500d4e9e9daf8049e0a38add6246da890000000049483045022100e0ab1752e8fbb244b63f7dd5649f2222e0dc42fae293b758e0c28082f77560b60220013f72fbe50acf4af197890b4d18fa89094055ed66f9226a6b461cc4ff560f8e01feffffff6aad4151087f4209ace714193dd64f770305dfb89470b79cca538b88253fbbef0000000049483045022100fee4a5f7ec6e8b55bd6aa0e93b5399af724039171d998b926e8095b70953d5f202203db0d4ef9d1bd57aeff0fe3d47d4358ec0559135dac8107507741eef0638279201feffffff7ddbca5854e25e6a2dfeacfe5828267cd1ef5d86e1da573fe2c2b21b45ecd6ce0000000049483045022100bf45241525592df4625642972dbc940ef74771139dd844bc6a9517197d01488c02203c99ca98892cc2693e8fbb9a600962eec84494fb8596acf0d670822624e497c901feffffff8672949de559e76601684c4ac3731599fd965d0c412e7df9f8ec16038d4420a60000000049483045022100b5a9bd3c6718c6bd2a8300bbd1d9de0ff1c5d02aeb6a659c52bb88958e7e3b0302207f710db1ef975c22edf54e063169aae31bbe470166cc0e5c34fd27b730b8e7d001feffffff8e006b0bb8cef2c5c2a11c8c2aa7d3ba01cb4386c7f780c45bc1014142b425f00000000048473044022046dc9db8daeb09b7c0b9f48013c8af2d0a71f688adaa8d91b40891768c852d4a02204fa15da6d58851191344a56c63bf51a540ec03f73117a3446230bb58a8a4bcce01feffffffbad05b8f86182b9b7c9c5aaa9ce3dc8d08a76848e49a2d9b8dcfb0f764bb26ca000000004847304402200682379dc36cb486309eac4913f41ac19638525677edad45ca8d9a2b0728b12f02203fb44f8a46cbc4c02f5699d7d4d9cd810bdf7e7c981b421218ccbcb7b73845f501feffffffd35228fe9ef0a742eacffc4a13f15ed7ba23854e6cb49d5010810ac11b5bdf690000000048473044022030045b882500808bd707f4654becc63de070818c82716310d39576decdd724e3022034d3b41cb5e939f0011bb5251be7941b6077fde5f4eff59afd8e49a2844288f701fefffffff5ae4cbd4ae8d68b5a34be3231cdc88b660447175f39cf7a86397f37641d4aa70000000049483045022100afe16f0de96a8629d6148f93520d690f30126c37e7f7f05300745a1273d7eb7202200933f6b371c4ea522570f3ec2aee9be2b59730b634e828f543bcdb019cf4749901fefffffff633f61ac61683221cc3d2665cf4bcf193af1c8ffe9d3d756ba83cc5eb7643250000000049483045022100ef0b8853c94d60634eff2fc1d4d75872aacb0a2d3242308b7ee256b24739c614022069fe9be8288bdd635871c263c46be710c001729d43f6fbc1350ed1a693c4646301feffffff0250780000000000001976a91464ed7fb2fe0b06f4cad0d731b122222e3e91088a88ac80c5005a000000001976a9142fed0f02d008f89f6a874168e506e2d4f9bcbfb888acd32b0000" +} +``` + +Sin embargo, usted debe ahora finalizarla creando bloques en la cadena de bloques. + +La mayoría de las aplicaciones requieren seis confirmaciones de bloques para considerar irreversible una transacción. Si ese es su caso, usted puede minar seis bloques adicionales dentro de su cadena regtest: +``` +$ bitcoin-cli -regtest -generate 6 +[ + "33549b2aa249f0a814db4a2ba102194881c14a2ac041c23dcc463b9e4e128e9f", + "2cc5c2012e2cacf118f9db4cdd79582735257f0ec564418867d6821edb55715e", + "128aaa99e7149a520080d90fa989c62caeda11b7d06ed1965e3fa7c76fa1d407", + "6037cc562d97eb3984cca50d8c37c7c19bae8d79b8232b92bec6dcc9708104d3", + "2cb276f5ed251bf629dd52fd108163703473f57c24eac94e169514ce04899581", + "57193ba8fd2761abf4a5ebcb4ed1a9ec2e873d67485a7cb41e75e13c65928bf3" +] +``` + +## Pruebe con NodeJS + +Cuando usted esta en regtest, es capaz de simular casos de borde y ataques que podrían ocurrir en el mundo real, tales como gastos dobles. + +Como se debatió en algún otro lado de este curso, usar librerías de software podría darle acceso a algunos comandos RPC mas sofisticados. En este caso, [bitcointest by dgarage](https://github.com/dgarage/bitcointest) para NodeJS, puede ser usada para simular una transacción de un monedero a otro; usted puede comprobar su [guia](https://www.npmjs.com/package/bitcointest) para simulaciones de ataques mas específicos, tales como gastos dobles. + +Vea [§18.3](18_3_Accediendo_a_Bitcoind_con_NodeJS.md) para la información mas actualizado sobre instalar NodeJS, luego agregue `bitcointest`: +``` +$ npm install -g bitcointest +``` + +Después de instalar `bitcointest`, usted puede crear un archivo `test.js` con el siguiente contenido: +```javascript +file: test.js + +const { BitcoinNet, BitcoinGraph } = require('bitcointest'); +const net = new BitcoinNet('/usr/local/bin', '/tmp/bitcointest/', 22001, 22002); +const graph = new BitcoinGraph(net); + +try { + + console.log('Launching nodes...'); + + const nodes = net.launchBatchS(4); + const [ n1, n2 ] = nodes; + net.waitForNodesS(nodes, 20000); + + console.log('Connected!'); + const blocks = n1.generateBlocksS(110); + console.info('Generated 110 blocks'); + + console.log(`n2.balance (before) = ${n2.getBalanceS()}`); + + const sometxid = n1.sendToNodeS(n2, 100); + console.log(`Generated transaction = ${sometxid}`); + n1.generateBlocksS(110); + n2.waitForBalanceChangeS(0); + + const sometx = n2.getTransactionS(sometxid); + console.log(`n2.balance (after) = ${n2.getBalanceS()}`); + + +} catch (e) { + console.error(e); + net.shutdownS(); + throw e; +} +``` + +Como se puede observar, esto generara bloques y una transacción: +``` +$ node test.js +Launching nodes... +Connected! +Generated 110 blocks +n2.balance (before) = 0 +Generated transaction = 91e0040c26fc18312efb80bad6ec3b00202a83465872ecf495c392a0b6afce35 +n2.after (before) = 100 + +``` + +## Resumen: Usando Bitcoin Regtest + +Un entorno regtest para Bitcoin funciona tal como cualquier entorno testnet, excepto por el hecho de que usted tiene la capacidad de generar bloques fácil y rápidamente. + +> :fire: ***¿Cual es el poder de regtest?*** El mayor poder de regtest es que usted puede rápidamente minar bloques, permitiéndole acelerar la cadena de bloques, para testear transacciones, timelocks y otras características para las que de otra manera debería sentarse y esperar. Sin embargo, el otro poder es que usted puede correrlo de forma privada, sin conectarse a una cadena de bloques publica, permitiéndole a usted probar sus propias ideas antes de liberarlas dentro del mundo. + +## ¿Que sigue? + +Si usted visito este Apéndice mientras trabajaba en otra parte del curso, usted debería regresar allí. + +Pero, de otra manera, usted ha alcanzado el final! Otras personas que han trabajado su camino a través de este curso se han vuelto desarrolladores e ingenieros Bitcoin profesionales, incluyendo algunos de quienes han contribuido a [Blockchain Commons](https://www.blockchaincommons.com/). Nosotros los incentivamos a hacer lo mismo! Solo salga allí afuera y comience a trabajar en algo de su propio código Bitcoin con lo que ha aprendido. From 3d71a09ebf089f6ae2fd2d4495dd2dfc7984b544 Mon Sep 17 00:00:00 2001 From: Cesar Alvarez Vallero Date: Wed, 4 Aug 2021 12:05:00 -0300 Subject: [PATCH 6/9] Restrict lines to no more than 80 characters It is cumbersome to comment one line for multiple corrections, so the idea behind this is to ease the task of the reviewer by breaking lines, so he/she can make the comment in the place where the comment target is. --- es/A0_Apendices.md | 4 +- ...ndo_la_Configuracion_Inicial_de_Bitcoin.md | 68 ++++++--- es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md | 94 ++++++++++--- es/A3_0_Usando_Bitcoin_Regtest.md | 131 ++++++++++++++---- 4 files changed, 232 insertions(+), 65 deletions(-) diff --git a/es/A0_Apendices.md b/es/A0_Apendices.md index ea290ae..6497cc7 100644 --- a/es/A0_Apendices.md +++ b/es/A0_Apendices.md @@ -1,6 +1,8 @@ # Apéndices -El cuerpo principal de este curso sugiere una configuración bastante estándar para hacer pruebas con Bitcoin. Lo que sigue en estos apéndices es una mejor explicación de la configuración y otras opciones de alternativas. +El cuerpo principal de este curso sugiere una configuración bastante estándar +para hacer pruebas con Bitcoin. Lo que sigue en estos apéndices es una mejor +explicación de la configuración y otras opciones de alternativas. ## Objetivos para esta sección diff --git a/es/A1_0_Entendiendo_la_Configuracion_Inicial_de_Bitcoin.md b/es/A1_0_Entendiendo_la_Configuracion_Inicial_de_Bitcoin.md index 11095e1..45da838 100644 --- a/es/A1_0_Entendiendo_la_Configuracion_Inicial_de_Bitcoin.md +++ b/es/A1_0_Entendiendo_la_Configuracion_Inicial_de_Bitcoin.md @@ -1,51 +1,87 @@ # Apéndice I: Entendiendo la Configuración Inicial de Bitcoin -[§2.1: Configurando un VPS Bitcoin-Core con Bitcoin-Standup](02_1_Configurando_un_Bitcoin-Core_VPS_con_StackScript.md) explica el proceso de crear un nodo Bitcoin usando [Bitcoin-Standup-Scripts](https://github.com/BlockchainCommons/Bitcoin-Standup-Scripts). El siguiente apéndice explica que hacen las principales secciones del programa. Usted puede querer seguir junto con [Linode Standup](https://github.com/BlockchainCommons/Bitcoin-Standup-Scripts/blob/master/Scripts/LinodeStandUp.sh) en otra ventana. +[§2.1: Configurando un VPS Bitcoin-Core con Bitcoin-Standup](02_1_Configurando_un_Bitcoin-Core_VPS_con_StackScript.md) +explica el proceso de crear un nodo Bitcoin usando +[Bitcoin-Standup-Scripts](https://github.com/BlockchainCommons/Bitcoin-Standup-Scripts). +El siguiente apéndice explica que hacen las principales secciones del programa. +Usted puede querer seguir junto con +[Linode Standup](https://github.com/BlockchainCommons/Bitcoin-Standup-Scripts/blob/master/Scripts/LinodeStandUp.sh) +en otra ventana. ## Paso 1: Nombre del host -Su nombre de host es almacenado en `/etc/hostname` y configurado con el comando `hostname`. También aparece en `/etc/hosts`. +Su nombre de host es almacenado en `/etc/hostname` y configurado con el comando +`hostname`. También aparece en `/etc/hosts`. ## Paso 2: Zona horaria -La zona horaria de su host es almacenada en `/etc/timezone`, luego un archivo apropiado es copiado desde `/usr/share/zoneinfo/` a `/etc/localtime`. +La zona horaria de su host es almacenada en `/etc/timezone`, luego un archivo +apropiado es copiado desde `/usr/share/zoneinfo/` a `/etc/localtime`. ## Paso 3: Actualizando Debian -El gestor de paquetes `apt-get` es usado para actualizar su maquina e instalar `gnupg`, el generador de números aleatorios `haveged`, y el simple cortafuegos `ufw`. +El gestor de paquetes `apt-get` es usado para actualizar su maquina e instalar +`gnupg`, el generador de números aleatorios `haveged`, y el simple cortafuegos +`ufw`. -Su maquina es configurada automáticamente para estar al día con `echo "unattended-upgrades unattended-upgrades/enable_auto_updates boolean true" | debconf-set-selections`. +Su maquina es configurada automáticamente para estar al día con `echo +"unattended-upgrades unattended-upgrades/enable_auto_updates boolean true" | +debconf-set-selections`. ## Paso 4: Configurando un usuario -Un usuario `standup` es creado, el cual sera usado por sus aplicaciones Bitcoin. Este también tiene permisos `sudo`, permitiéndole tomar acciones privilegiadas con esta cuenta. +Un usuario `standup` es creado, el cual sera usado por sus aplicaciones +Bitcoin. Este también tiene permisos `sudo`, permitiéndole tomar acciones +privilegiadas con esta cuenta. -Si usted suministro una llave SSH, esta le permitirá acceder a su cuenta (de otra manera, deberá usar una contraseña creada en la configuración). +Si usted suministro una llave SSH, esta le permitirá acceder a su cuenta (de +otra manera, deberá usar una contraseña creada en la configuración). -Si usted suministro una dirección IP, el acceso `ssh` estará limitado a esa dirección, según `/etc/hosts.allow`. +Si usted suministro una dirección IP, el acceso `ssh` estará limitado a esa +dirección, según `/etc/hosts.allow`. ## Paso 5: Configurando Tor -Tor es instalado para proveer servicios protegidos (ocultos) para acceder a los comandos RPC de Bitcoin a través de su servidor. Vea [§14.1: Verificando Su Configuración Tor](14_1_Verificando_Su_Configuracion_Tor.md) para mas información acerca de su configuración Tor. +Tor es instalado para proveer servicios protegidos (ocultos) para acceder a los +comandos RPC de Bitcoin a través de su servidor. Vea +[§14.1: Verificando Su Configuración Tor](14_1_Verificando_Su_Configuracion_Tor.md) +para mas información acerca de su configuración Tor. -Si usted suministro un cliente autorizado para los servicios ocultos, el acceso estará limitado para esa llave, según `/var/lib/tor/standup/authorized_clients`. Si usted no lo hizo, [§14.2](14_2_Cambiando_Sus_Servicios_Bitcoin_Ocultos.md) explica como hacerlo luego. +Si usted suministro un cliente autorizado para los servicios ocultos, el acceso +estará limitado para esa llave, según +`/var/lib/tor/standup/authorized_clients`. Si usted no lo hizo, +[§14.2](14_2_Cambiando_Sus_Servicios_Bitcoin_Ocultos.md) explica como hacerlo +luego. ## Paso 6: Instalando Bitcoin -Bitcoin es instalado en `~standup/.bitcoin`. Su configuración es almacenada en `~standup/.bitcoin/bitcoin.conf`. +Bitcoin es instalado en `~standup/.bitcoin`. Su configuración es almacenada en +`~standup/.bitcoin/bitcoin.conf`. -Asegúrese que las sumas de comprobación verifiquen según [§2.1](02_1_Configurando_un_Bitcoin-Core_VPS_con_StackScript.md), de otra manera, podría estar expuesto a ataques de la cadena de suministro. +Asegúrese que las sumas de comprobación verifiquen según +[§2.1](02_1_Configurando_un_Bitcoin-Core_VPS_con_StackScript.md), de otra +manera, podría estar expuesto a ataques de la cadena de suministro. ## Paso 7: Instalando codificador QR -Para mantener todo compatible con [GordianSystem](https://github.com/BlockchainCommons/GordianSystem), un código QR es creado en `/qrcode.png`. Esto puede leerse desde un cliente QuickConnect, tal como [GordianWallet](https://github.com/BlockchainCommons/GordianWallet-iOS) +Para mantener todo compatible con +[GordianSystem](https://github.com/BlockchainCommons/GordianSystem), un código +QR es creado en `/qrcode.png`. Esto puede leerse desde un cliente QuickConnect, +tal como +[GordianWallet](https://github.com/BlockchainCommons/GordianWallet-iOS) ## Conclusión — Entendiendo la Configuración Inicial de Bitcoin -Bitcoin Standup usa programas para probar e imitar mucha de las funcionalidades de un [GordianNode](https://github.com/BlockchainCommons/GordianNode-macOS). Este debe proveerlo con un entorno Bitcoin seguro, construido en las bases de Bitcoin Core y Tor para comunicaciones RPC. +Bitcoin Standup usa programas para probar e imitar mucha de las funcionalidades +de un [GordianNode](https://github.com/BlockchainCommons/GordianNode-macOS). +Este debe proveerlo con un entorno Bitcoin seguro, construido en las bases de +Bitcoin Core y Tor para comunicaciones RPC. ## ¿Que sigue? -Si usted se encontraba en el proceso de crear un nodo Bitcoin para utilizar en este curso, usted debería volver a [§2.1](02_1_Configurando_un_Bitcoin-Core_VPS_con_StackScript.md). +Si usted se encontraba en el proceso de crear un nodo Bitcoin para utilizar en +este curso, usted debería volver a +[§2.1](02_1_Configurando_un_Bitcoin-Core_VPS_con_StackScript.md). -Si usted esta leyendo a través de los apéndices, continúe con [Apéndice II: Compilando Bitcoin desde la Fuente](A2_0_Compilando_Bitcoin_desde_la_Fuente.md). +Si usted esta leyendo a través de los apéndices, continúe con +[Apéndice II: Compilando Bitcoin desde la Fuente](A2_0_Compilando_Bitcoin_desde_la_Fuente.md). diff --git a/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md b/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md index 0769716..112bcfb 100644 --- a/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md +++ b/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md @@ -1,18 +1,41 @@ # Apéndice II: Compilando Bitcoin desde la Fuente -Este curso presume que usted usara un programa para crear un entorno Bitcoin, tanto usando Bitcoin Standup para Linode según [§2.1](02_1_Configurando_un_Bitcoin-Core_VPS_con_StackScript.md), o vía alguna otra forma, de acuerdo con [§2.2](02_2_Configurando_Bitcoin_Core_Otros.md). Sin embargo, usted puede preferir compilar Bitcoin a mano. +Este curso presume que usted usara un programa para crear un entorno Bitcoin, +tanto usando Bitcoin Standup para Linode según +[§2.1](02_1_Configurando_un_Bitcoin-Core_VPS_con_StackScript.md), o vía alguna +otra forma, de acuerdo con [§2.2](02_2_Configurando_Bitcoin_Core_Otros.md). Sin +embargo, usted puede preferir compilar Bitcoin a mano. Esto tiene los siguientes beneficios: -1. Usted siempre estará actualizado con el ultimo lanzamiento. Consideración: Estar siempre actualizado no es necesario para Bitcoin Core, ya que el software siempre es retro compatible, esto quiere decir que una versión de Bitcoin Core sera capaz de participar en la red Bitcoin, a pesar de no contar con las ultimas características. -2. Usted no necesitara depender de binarios pre compilados de Bitcoin Core. Esto requiere menos confianza. Aun que los mantenedores de Bitcoin Core hacen un gran trabajo manteniendo la integridad del código, un binario pre compilado esta unos pasos por detrás del código fuente. Cuando usted compila desde el código fuente, el código puede ser inspeccionado antes de la compilación. -3. Usted puede personalizar la compilación, haciendo cosas tales como deshabilitar los monederos o la interfaz gráfica de usuario. +1. Usted siempre estará actualizado con el ultimo lanzamiento. Consideración: + Estar siempre actualizado no es necesario para Bitcoin Core, ya que el + software siempre es retro compatible, esto quiere decir que una versión de + Bitcoin Core sera capaz de participar en la red Bitcoin, a pesar de no + contar con las ultimas características. +2. Usted no necesitara depender de binarios pre compilados de Bitcoin Core. + Esto requiere menos confianza. Aun que los mantenedores de Bitcoin Core + hacen un gran trabajo manteniendo la integridad del código, un binario pre + compilado esta unos pasos por detrás del código fuente. Cuando usted compila + desde el código fuente, el código puede ser inspeccionado antes de la + compilación. +3. Usted puede personalizar la compilación, haciendo cosas tales como + deshabilitar los monederos o la interfaz gráfica de usuario. ## Prepare su Entorno -Este tutorial utiliza Debian 10.4.kv0 OS en una arquitectura amd64 (computadoras de 64-bits), pero usted puede usar este tutorial en cualquier sistema basado en Debian (por ej. Ubuntu, Mint, etc.). Para otros sistemas Linux, puede adaptar los siguientes pasos con el gestor de paquetes para ese sistema. +Este tutorial utiliza Debian 10.4.kv0 OS en una arquitectura amd64 +(computadoras de 64-bits), pero usted puede usar este tutorial en cualquier +sistema basado en Debian (por ej. Ubuntu, Mint, etc.). Para otros sistemas +Linux, puede adaptar los siguientes pasos con el gestor de paquetes para ese +sistema. -Usted puede tener conocimientos básicos o ninguna familiaridad con la línea de comandos, siempre y cuando tenga entusiasmo. La terminal es su mas poderoso aliado, no algo para ser temido. Usted puede simplemente copiar y pegar los siguientes comandos para compilar bitcoin (un comando con un "$" es un comando de un usuario común y uno con un "#" es un comando de un superusuario o administrador). +Usted puede tener conocimientos básicos o ninguna familiaridad con la línea de +comandos, siempre y cuando tenga entusiasmo. La terminal es su mas poderoso +aliado, no algo para ser temido. Usted puede simplemente copiar y pegar los +siguientes comandos para compilar bitcoin (un comando con un "$" es un comando +de un usuario común y uno con un "#" es un comando de un superusuario o +administrador). Si usted no esta en la lista de superusuario entonces haga lo siguiente: @@ -35,19 +58,25 @@ $ sudo apt-get update ### Paso 2: Instale Git y sus dependencias -Instale `git`, el cual le permitirá descargar el código fuente, y `build-essential`, el cual compila el código: +Instale `git`, el cual le permitirá descargar el código fuente, y +`build-essential`, el cual compila el código: ``` $ sudo apt-get install git build-essential -y ``` Después, instale las dependencias restantes: ``` -$ sudo apt-get install libtool autotools-dev automake pkg-config bsdmainutils python3 libssl-dev libevent-dev libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libminiupnpc-dev libzmq3-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler ccache -y +$ sudo apt-get install libtool autotools-dev automake pkg-config bsdmainutils +python3 libssl-dev libevent-dev libboost-system-dev libboost-filesystem-dev +libboost-chrono-dev libboost-test-dev libboost-thread-dev libminiupnpc-dev +libzmq3-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools +libprotobuf-dev protobuf-compiler ccache -y ``` ### Paso 3: Descargue el código fuente -Una vez que las dependencias están instaladas, descargue el repositorio (repo) conteniendo el código fuente de Bitcoin desde github: +Una vez que las dependencias están instaladas, descargue el repositorio (repo) +conteniendo el código fuente de Bitcoin desde github: ``` $ git clone https://github.com/bitcoin/bitcoin.git ``` @@ -64,13 +93,17 @@ Debería ser aproximadamente similar al siguiente contenido: 1. Ingrese al directorio `contrib`: `$ cd bitcoin/contrib/` 2. Ejecute el siguiente comando: ```$ ./install_db4.sh `pwd` ``` -Una vez que ha sido descargado usted vera el siguiente output. Tome nota del output, usted lo usara para configurar bitcoin mientras compila: +Una vez que ha sido descargado usted vera el siguiente output. Tome nota del +output, usted lo usara para configurar bitcoin mientras compila: ![db4](./public/LBftCLI-compiling_bitcoin-db4.png) ### Paso 5: Compile Bitcoin Core -Es recomendado que usted compile desde una rama etiquetada, la cual es mas estable, a menos que usted quiera probar la vanguardia del desarrollo bitcoin. Ejecute el siguiente comando para obtener una lista de etiquetas, ordenadas de acuerdo a la mas reciente: +Es recomendado que usted compile desde una rama etiquetada, la cual es mas +estable, a menos que usted quiera probar la vanguardia del desarrollo bitcoin. +Ejecute el siguiente comando para obtener una lista de etiquetas, ordenadas de +acuerdo a la mas reciente: ``` $ git tag -n | sort -V ``` @@ -79,7 +112,9 @@ Luego elija una etiqueta tal como `v0.20.0`: $ git checkout ``` -Una vez que ha seleccionado una rama etiquetada, ejecute lo siguiente desde dentro del directorio `bitcoin`. El `` debe ser la salida del programa `install_db4.sh`. +Una vez que ha seleccionado una rama etiquetada, ejecute lo siguiente desde +dentro del directorio `bitcoin`. El `` debe ser la salida del +programa `install_db4.sh`. ``` $ ./autogen.sh @@ -90,14 +125,18 @@ $ make # build bitcoin core ### Paso 6: Pruebe la compilación -Si usted quiere comprobar su compilación (lo cual es una buena idea), ejecute las siguientes pruebas: +Si usted quiere comprobar su compilación (lo cual es una buena idea), ejecute +las siguientes pruebas: 1. `$ make check` correra las pruebas unitarias, los cuales deberan retornar `PASS`. -2. `$ test/functional/test_runner.py --extended` ejecutara las pruebas funcionales extendidas. Omita el indicador `--extended` si usted quiere evitar algunas pruebas. Esto puede tomarle bastante tiempo. +2. `$ test/functional/test_runner.py --extended` ejecutara las pruebas + funcionales extendidas. Omita el indicador `--extended` si usted quiere + evitar algunas pruebas. Esto puede tomarle bastante tiempo. ### Paso 7: Ejecute e instale Bitcoin Core -Ahora que usted ha compilado Bitcoin Core desde la fuente, usted puede empezar a usarlo e instalarlo para una disponibilidad global. +Ahora que usted ha compilado Bitcoin Core desde la fuente, usted puede empezar +a usarlo e instalarlo para una disponibilidad global. #### Ejecute Bitcoin Core sin instalarlo @@ -110,19 +149,34 @@ Para solo ejecutar Bitcoin Core: Para instalar: -`$ sudo make install` instalara bitcoin core globalmente. Una vez instalado usted puede entonces ejecutar bitcoin desde cualquier lugar en la línea de comandos, al igual que con cualquier otro software: `$ bitcoin-qt` para la interfaz grafica de usuario o `bitcoind` y luego `bitcoin-cli` para la línea de comandos. +`$ sudo make install` instalara bitcoin core globalmente. Una vez instalado +usted puede entonces ejecutar bitcoin desde cualquier lugar en la línea de +comandos, al igual que con cualquier otro software: `$ bitcoin-qt` para la +interfaz grafica de usuario o `bitcoind` y luego `bitcoin-cli` para la línea de +comandos. ## Finalice su sistema -Compilando Bitcoin desde la fuente, usted disminuye la necesidad de confianza en su configuracion. Sin embargo, usted esta lejos de la seguridad adicional provista por la configuracion de Bitcoin Standup. Para resolver esto, usted puede querer recorrer el programa [Linode Stackscript](https://github.com/BlockchainCommons/Bitcoin-Standup-Scripts/blob/master/Scripts/LinodeStandUp.sh) completo y ejecutar paso a paso todos los comandos. El unico lugar donde necesita ser cuidadoso es en el Paso 6, el cual instala Bitcoin. Omita solo hasta donde verifica sus binarios, y continue desde ahi. +Compilando Bitcoin desde la fuente, usted disminuye la necesidad de confianza +en su configuracion. Sin embargo, usted esta lejos de la seguridad adicional +provista por la configuracion de Bitcoin Standup. Para resolver esto, usted +puede querer recorrer el programa +[Linode Stackscript](https://github.com/BlockchainCommons/Bitcoin-Standup-Scripts/blob/master/Scripts/LinodeStandUp.sh) +completo y ejecutar paso a paso todos los comandos. El unico lugar donde +necesita ser cuidadoso es en el Paso 6, el cual instala Bitcoin. Omita solo +hasta donde verifica sus binarios, y continue desde ahi. ## Resumen: Compilando Bitcoin desde la Fuente -Si usted quiere la seguridad incrementada de instalar Bitcoin desde la fuente, usted deberia tenerla ahora. Con un poco de suerte, usted tambien habra recorrido el Linode Stackscript para configurar un servidor mas seguro. +Si usted quiere la seguridad incrementada de instalar Bitcoin desde la fuente, +usted deberia tenerla ahora. Con un poco de suerte, usted tambien habra +recorrido el Linode Stackscript para configurar un servidor mas seguro. ## ¿Que sigue? -Si usted estaba en el proceso de crear un nodo Bitcoin para usar en este curso, usted deberia continuar con [Capitulo 3: Entendiendo Su Configuración Bitcoin](03_0_Entendiendo_Su_Configuracion_Bitcoin.md). +Si usted estaba en el proceso de crear un nodo Bitcoin para usar en este curso, usted deberia continuar con +[Capitulo 3: Entendiendo Su Configuración Bitcoin](03_0_Entendiendo_Su_Configuracion_Bitcoin.md). -Si usted esta leyendo a través de los apéndices, continúe con [Apéndice III: Usando Bitcoin Regtest](A3_0_Usando_Bitcoin_Regtest.md). +Si usted esta leyendo a través de los apéndices, continúe con +[Apéndice III: Usando Bitcoin Regtest](A3_0_Usando_Bitcoin_Regtest.md). diff --git a/es/A3_0_Usando_Bitcoin_Regtest.md b/es/A3_0_Usando_Bitcoin_Regtest.md index 6aeab91..f2ddaa6 100644 --- a/es/A3_0_Usando_Bitcoin_Regtest.md +++ b/es/A3_0_Usando_Bitcoin_Regtest.md @@ -1,46 +1,74 @@ # Apéndice III: Usando Bitcoin Regtest -> :information_source: **NOTA:** Esta sección ha sido recientemente agregada al curso y es un borrador inicial que puede estar esperando aun su revisión. Precaución lector. +> :information_source: **NOTA:** Esta sección ha sido recientemente agregada al +> curso y es un borrador inicial que puede estar esperando aun su revisión. +> Precaución lector. -La mayoría de este curso presume que usted usara o bien Mainnet o bien Testnet. Sin embargo, esas no son las únicas opciones. Mientras desarrolla aplicaciones Bitcoin, usted puede querer mantener sus aplicaciones aisladas de la cadenas de bloques publicas. Para hacerlo, puede crear una cadena de bloques desde cero usando Regtest, la cual tiene una gran ventaja sobre Testnet: usted elige cuando crear nuevos bloques, por lo que tiene un control completo sobre el entorno. +La mayoría de este curso presume que usted usara o bien Mainnet o bien Testnet. +Sin embargo, esas no son las únicas opciones. Mientras desarrolla aplicaciones +Bitcoin, usted puede querer mantener sus aplicaciones aisladas de la cadenas de +bloques publicas. Para hacerlo, puede crear una cadena de bloques desde cero +usando Regtest, la cual tiene una gran ventaja sobre Testnet: usted elige +cuando crear nuevos bloques, por lo que tiene un control completo sobre el +entorno. ## Inicie Bitcoind en Regtest -Luego de [configurar su VPS Bitcoin-Core](02_0_Configurando_un_Bitcoin-Core_VPS.md) o [compilarlo de la fuente](A2_0_Compilando_Bitcoin_desde_la_Fuente.md), usted esta ahora en condiciones de usar regtest. Para iniciar su `bitcoind` en regtest y crear una cadena de bloques privada, use el siguiente comando: +Luego de +[configurar su VPS Bitcoin-Core](02_0_Configurando_un_Bitcoin-Core_VPS.md) o +[compilarlo de la fuente](A2_0_Compilando_Bitcoin_desde_la_Fuente.md), +usted esta ahora en condiciones de usar regtest. Para iniciar su `bitcoind` en +regtest y crear una cadena de bloques privada, use el siguiente comando: ``` $ bitcoind -regtest -daemon -fallbackfee=1.0 -maxtxfee=1.1 ``` -Los argumentos `-fallbackfee=1.0 -maxtxfee=1.1` prevendrán el error `Fee estimation failed. Fallbackfee is disabled`. +Los argumentos `-fallbackfee=1.0 -maxtxfee=1.1` prevendrán el error +`Fee estimation failed. Fallbackfee is disabled`. -En regtest, usualmente no hay suficientes transacciones por lo que bitcoind no puede darle un estimado confiable y, sin eso, el monedero no creara transacciones a menos que se configure explícitamente la tarifa. +En regtest, usualmente no hay suficientes transacciones por lo que bitcoind no +puede darle un estimado confiable y, sin eso, el monedero no creara +transacciones a menos que se configure explícitamente la tarifa. ### Reconfigure la cadena de bloques Regtest -Si usted lo desea, puede mas tarde reiniciar su Regtest con una nueva cadena de bloques. +Si usted lo desea, puede mas tarde reiniciar su Regtest con una nueva cadena de +bloques. -Los monederos Regtest y el estado de la cadena de bloques (estado de la cadena) son guardados en el subdirectorio regtest del directorio de configuración de Bitcoin: +Los monederos Regtest y el estado de la cadena de bloques (estado de la cadena) +son guardados en el subdirectorio regtest del directorio de configuración de +Bitcoin: ``` user@mybtc:~/.bitcoin# ls bitcoin.conf regtest testnet3 ``` -Para comenzar una nueva cadena de bloques usando regtest, todo lo que tiene que hacer es eliminar el directorio `regtest` y reiniciar el Bitcoind. +Para comenzar una nueva cadena de bloques usando regtest, todo lo que tiene que +hacer es eliminar el directorio `regtest` y reiniciar el Bitcoind. ``` $ rm -rf regtest ``` ## Genere un monedero Regtest -Antes de generar bloques, es necesario que cargue un monedero usando `loadwallet` o cree uno nuevo con `createwallet`. Desde la versión 0.21, Bitcoin Core no crea nuevos monederos en el inicio. +Antes de generar bloques, es necesario que cargue un monedero usando +`loadwallet` o cree uno nuevo con `createwallet`. Desde la versión 0.21, +Bitcoin Core no crea nuevos monederos en el inicio. -El argumento `descriptors=true` crea un monedero con descriptores de forma nativa, que almacena la información de scriptPubKey usando descriptores de salida. Si este es `falso`, creara un monedero de acuerdo al estándar previo, donde las llaves son usadas para generar implícitamente scriptPubKeys y direcciones. +El argumento `descriptors=true` crea un monedero con descriptores de forma +nativa, que almacena la información de scriptPubKey usando descriptores de +salida. Si este es `falso`, creara un monedero de acuerdo al estándar previo, +donde las llaves son usadas para generar implícitamente scriptPubKeys y +direcciones. ``` $ bitcoin-cli -regtest -named createwallet wallet_name="regtest_desc_wallet" descriptors=true ``` ## Genere Bloques -Usted puede generar (minar) nuevos bloques en la cadena regtest usando el método RPC `generate` con un argumento para indicar la cantidad de bloques a generar. Solo tiene sentido usar este método en regtest; debido a la alta dificultad es poco probable que genere nuevos bloques en mainnet o testnet: +Usted puede generar (minar) nuevos bloques en la cadena regtest usando el +método RPC `generate` con un argumento para indicar la cantidad de bloques a +generar. Solo tiene sentido usar este método en regtest; debido a la alta +dificultad es poco probable que genere nuevos bloques en mainnet o testnet: ``` $ bitcoin-cli -regtest -generate 101 [ @@ -52,17 +80,33 @@ $ bitcoin-cli -regtest -generate 101 ] ``` -> :warning: ADVERTENCIA. Notar que usted debe agregar el indicador `-regtest` luego de cada comando `bitcoin-cli` para acceder correctamente a su entorno Regtest. Si lo prefiere, puede incluir un comando `regtest=1` en su archivo `~/.bitcoin/bitcoin.conf`. +> :warning: ADVERTENCIA. Notar que usted debe agregar el indicador `-regtest` +> luego de cada comando `bitcoin-cli` para acceder correctamente a su entorno +> Regtest. Si lo prefiere, puede incluir un comando `regtest=1` en su archivo +> `~/.bitcoin/bitcoin.conf`. -Debido a que un bloque debe tener 100 confirmaciones antes de que su recompensa pueda ser gastada, usted generara 101 bloques, permitiendo el acceso a la transacción 'coinbase' del bloque #1. Dado que esta es una nueva cadena de bloques usando las reglas por defecto de Bitcoin, el primer bloque recibirá una recompensa de 50 bitcoins. Al contrario que mainnet, en modo regtest, solo los primeros 150 bloques pagan una recompensa de 50 bitcoins. La recompensa se divide luego de 150 bloques, por lo que paga 25, 12.5, etc. +Debido a que un bloque debe tener 100 confirmaciones antes de que su recompensa +pueda ser gastada, usted generara 101 bloques, permitiendo el acceso a la +transacción 'coinbase' del bloque #1. Dado que esta es una nueva cadena de +bloques usando las reglas por defecto de Bitcoin, el primer bloque recibirá una +recompensa de 50 bitcoins. Al contrario que mainnet, en modo regtest, solo los +primeros 150 bloques pagan una recompensa de 50 bitcoins. La recompensa se +divide luego de 150 bloques, por lo que paga 25, 12.5, etc. La salida es el hash de bloque de cada bloque generado. -> :book: ***¿Que es una transacción 'coinbase'?*** Una transacción 'coinbase' es la transacción sin entradas creada cuando un nuevo bloque es minado y otorgado al minero. Es la manera en que nuevos bitcoins entran al ecosistema. El valor de una transacción 'coinbase' decae con el tiempo. En la mainnet, esta se divide cada 210,000 transacciones y termina completamente con el bloque 6.929.999, el cual esta estipulado que ocurra en el siglo 22. A Mayo del 2020, la recompensa 'coinbase' es de 6.25 BTC. +> :book: ***¿Que es una transacción 'coinbase'?*** Una transacción 'coinbase' +> es la transacción sin entradas creada cuando un nuevo bloque es minado y +> otorgado al minero. Es la manera en que nuevos bitcoins entran al ecosistema. +> El valor de una transacción 'coinbase' decae con el tiempo. En la mainnet, +> esta se divide cada 210,000 transacciones y termina completamente con el +> bloque 6.929.999, el cual esta estipulado que ocurra en el siglo 22. A Mayo +> del 2020, la recompensa 'coinbase' es de 6.25 BTC. ### Verifique su balance -Luego de minar bloques y obtener recompensas, usted puede verificar el balance de su monedero: +Luego de minar bloques y obtener recompensas, usted puede verificar el balance +de su monedero: ``` $ bitcoin-cli -regtest getbalance 50.00000000 @@ -70,17 +114,24 @@ $ bitcoin-cli -regtest getbalance ### Use la Regtest -Ahora usted debería ser capaz de usar este balance para cualquier tipo de interacción en su cadena de bloques privada, tales como enviar Bitcoins en transacciones de acuerdo a el [Capitulo 4](04_0_Enviando_Transacciones_Bitcoin.md). +Ahora usted debería ser capaz de usar este balance para cualquier tipo de +interacción en su cadena de bloques privada, tales como enviar Bitcoins en +transacciones de acuerdo a el +[Capitulo 4](04_0_Enviando_Transacciones_Bitcoin.md). -Es importante notar que para que se complete cualquier transacción, usted deberá generar (mine) nuevos bloques, así las transacciones pueden ser incluidas. +Es importante notar que para que se complete cualquier transacción, usted +deberá generar (mine) nuevos bloques, así las transacciones pueden ser +incluidas. -Por ejemplo, para crear una transacción e incluirla en un bloque, usted debe primero usar el comando `sendtoaddress`: +Por ejemplo, para crear una transacción e incluirla en un bloque, usted debe +primero usar el comando `sendtoaddress`: ``` $ bitcoin-cli -regtest sendtoaddress [address] 15.1 e834a4ac6ef754164c8e3f0be4f34531b74b768199ffb244ab9f6cb1bbc7465a ``` -La salida es el hash de la transacción incluida en la cadena de bloques. Usted puede verificar los detalles usando el comando `gettransaction`: +La salida es el hash de la transacción incluida en la cadena de bloques. Usted +puede verificar los detalles usando el comando `gettransaction`: ``` $ bitcoin-cli -regtest gettransaction e834a4ac6ef754164c8e3f0be4f34531b74b768199ffb244ab9f6cb1bbc7465a { @@ -120,7 +171,9 @@ $ bitcoin-cli -regtest gettransaction e834a4ac6ef754164c8e3f0be4f34531b74b768199 Sin embargo, usted debe ahora finalizarla creando bloques en la cadena de bloques. -La mayoría de las aplicaciones requieren seis confirmaciones de bloques para considerar irreversible una transacción. Si ese es su caso, usted puede minar seis bloques adicionales dentro de su cadena regtest: +La mayoría de las aplicaciones requieren seis confirmaciones de bloques para +considerar irreversible una transacción. Si ese es su caso, usted puede minar +seis bloques adicionales dentro de su cadena regtest: ``` $ bitcoin-cli -regtest -generate 6 [ @@ -135,16 +188,24 @@ $ bitcoin-cli -regtest -generate 6 ## Pruebe con NodeJS -Cuando usted esta en regtest, es capaz de simular casos de borde y ataques que podrían ocurrir en el mundo real, tales como gastos dobles. +Cuando usted esta en regtest, es capaz de simular casos de borde y ataques que +podrían ocurrir en el mundo real, tales como gastos dobles. -Como se debatió en algún otro lado de este curso, usar librerías de software podría darle acceso a algunos comandos RPC mas sofisticados. En este caso, [bitcointest by dgarage](https://github.com/dgarage/bitcointest) para NodeJS, puede ser usada para simular una transacción de un monedero a otro; usted puede comprobar su [guia](https://www.npmjs.com/package/bitcointest) para simulaciones de ataques mas específicos, tales como gastos dobles. +Como se debatió en algún otro lado de este curso, usar librerías de software +podría darle acceso a algunos comandos RPC mas sofisticados. En este caso, +[bitcointest by dgarage](https://github.com/dgarage/bitcointest) para NodeJS, +puede ser usada para simular una transacción de un monedero a otro; usted puede +comprobar su [guia](https://www.npmjs.com/package/bitcointest) para +simulaciones de ataques mas específicos, tales como gastos dobles. -Vea [§18.3](18_3_Accediendo_a_Bitcoind_con_NodeJS.md) para la información mas actualizado sobre instalar NodeJS, luego agregue `bitcointest`: +Vea [§18.3](18_3_Accediendo_a_Bitcoind_con_NodeJS.md) para la información mas +actualizado sobre instalar NodeJS, luego agregue `bitcointest`: ``` $ npm install -g bitcointest ``` -Después de instalar `bitcointest`, usted puede crear un archivo `test.js` con el siguiente contenido: +Después de instalar `bitcointest`, usted puede crear un archivo `test.js` con +el siguiente contenido: ```javascript file: test.js @@ -196,12 +257,26 @@ n2.after (before) = 100 ## Resumen: Usando Bitcoin Regtest -Un entorno regtest para Bitcoin funciona tal como cualquier entorno testnet, excepto por el hecho de que usted tiene la capacidad de generar bloques fácil y rápidamente. +Un entorno regtest para Bitcoin funciona tal como cualquier entorno testnet, +excepto por el hecho de que usted tiene la capacidad de generar bloques fácil y +rápidamente. -> :fire: ***¿Cual es el poder de regtest?*** El mayor poder de regtest es que usted puede rápidamente minar bloques, permitiéndole acelerar la cadena de bloques, para testear transacciones, timelocks y otras características para las que de otra manera debería sentarse y esperar. Sin embargo, el otro poder es que usted puede correrlo de forma privada, sin conectarse a una cadena de bloques publica, permitiéndole a usted probar sus propias ideas antes de liberarlas dentro del mundo. +> :fire: ***¿Cual es el poder de regtest?*** El mayor poder de regtest es que +> usted puede rápidamente minar bloques, permitiéndole acelerar la cadena de +> bloques, para testear transacciones, timelocks y otras características para +> las que de otra manera debería sentarse y esperar. Sin embargo, el otro poder +> es que usted puede correrlo de forma privada, sin conectarse a una cadena de +> bloques publica, permitiéndole a usted probar sus propias ideas antes de +> liberarlas dentro del mundo. ## ¿Que sigue? -Si usted visito este Apéndice mientras trabajaba en otra parte del curso, usted debería regresar allí. +Si usted visito este Apéndice mientras trabajaba en otra parte del curso, usted +debería regresar allí. -Pero, de otra manera, usted ha alcanzado el final! Otras personas que han trabajado su camino a través de este curso se han vuelto desarrolladores e ingenieros Bitcoin profesionales, incluyendo algunos de quienes han contribuido a [Blockchain Commons](https://www.blockchaincommons.com/). Nosotros los incentivamos a hacer lo mismo! Solo salga allí afuera y comience a trabajar en algo de su propio código Bitcoin con lo que ha aprendido. +Pero, de otra manera, usted ha alcanzado el final! Otras personas que han +trabajado su camino a través de este curso se han vuelto desarrolladores e +ingenieros Bitcoin profesionales, incluyendo algunos de quienes han contribuido +a [Blockchain Commons](https://www.blockchaincommons.com/). Nosotros los +incentivamos a hacer lo mismo! Solo salga allí afuera y comience a trabajar en +algo de su propio código Bitcoin con lo que ha aprendido. From 3d9e1b15189f9cb19cb0f44e71cf45568e921c7a Mon Sep 17 00:00:00 2001 From: Cesar Alvarez Vallero Date: Wed, 4 Aug 2021 13:40:56 -0300 Subject: [PATCH 7/9] Translate 'output' to 'salida' --- es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md b/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md index 112bcfb..7bd2dbd 100644 --- a/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md +++ b/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md @@ -93,8 +93,8 @@ Debería ser aproximadamente similar al siguiente contenido: 1. Ingrese al directorio `contrib`: `$ cd bitcoin/contrib/` 2. Ejecute el siguiente comando: ```$ ./install_db4.sh `pwd` ``` -Una vez que ha sido descargado usted vera el siguiente output. Tome nota del -output, usted lo usara para configurar bitcoin mientras compila: +Una vez que ha sido descargado usted vera la siguiente salida. Tome nota de la +salida, usted lo usara para configurar bitcoin mientras compila: ![db4](./public/LBftCLI-compiling_bitcoin-db4.png) From abf66f312521ed916cf639683a5bffb5a8c9ca7a Mon Sep 17 00:00:00 2001 From: Cesar Alvarez Vallero Date: Wed, 4 Aug 2021 13:45:46 -0300 Subject: [PATCH 8/9] Fix image links --- es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md b/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md index 7bd2dbd..02be4c4 100644 --- a/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md +++ b/es/A2_0_Compilando_Bitcoin_desde_la_Fuente.md @@ -86,7 +86,7 @@ $ ls bitcoin ```` Debería ser aproximadamente similar al siguiente contenido: -![clonando el repo](./public/LBftCLI-compiling_bitcoin-git.png) +![clonando el repo](../public/LBftCLI-compiling_bitcoin-git.png) ### Paso 4: Instale la base de datos Berkley v4.8 @@ -96,7 +96,7 @@ Debería ser aproximadamente similar al siguiente contenido: Una vez que ha sido descargado usted vera la siguiente salida. Tome nota de la salida, usted lo usara para configurar bitcoin mientras compila: -![db4](./public/LBftCLI-compiling_bitcoin-db4.png) +![db4](../public/LBftCLI-compiling_bitcoin-db4.png) ### Paso 5: Compile Bitcoin Core From 91e31784bfba96d2a767c654fdb3f9cd6c88ab94 Mon Sep 17 00:00:00 2001 From: Cesar Alvarez Vallero Date: Fri, 27 Aug 2021 20:21:42 -0300 Subject: [PATCH 9/9] Apply requested changes --- ...ndiendo_la_Configuracion_Inicial_de_Bitcoin.md | 2 +- es/A3_0_Usando_Bitcoin_Regtest.md | 15 +++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/es/A1_0_Entendiendo_la_Configuracion_Inicial_de_Bitcoin.md b/es/A1_0_Entendiendo_la_Configuracion_Inicial_de_Bitcoin.md index 45da838..eb7e1f6 100644 --- a/es/A1_0_Entendiendo_la_Configuracion_Inicial_de_Bitcoin.md +++ b/es/A1_0_Entendiendo_la_Configuracion_Inicial_de_Bitcoin.md @@ -21,7 +21,7 @@ apropiado es copiado desde `/usr/share/zoneinfo/` a `/etc/localtime`. ## Paso 3: Actualizando Debian El gestor de paquetes `apt-get` es usado para actualizar su maquina e instalar -`gnupg`, el generador de números aleatorios `haveged`, y el simple cortafuegos +`gnupg`, el generador de números aleatorios `haveged`, y el cortafuegos simple `ufw`. Su maquina es configurada automáticamente para estar al día con `echo diff --git a/es/A3_0_Usando_Bitcoin_Regtest.md b/es/A3_0_Usando_Bitcoin_Regtest.md index f2ddaa6..11346a3 100644 --- a/es/A3_0_Usando_Bitcoin_Regtest.md +++ b/es/A3_0_Usando_Bitcoin_Regtest.md @@ -2,7 +2,7 @@ > :information_source: **NOTA:** Esta sección ha sido recientemente agregada al > curso y es un borrador inicial que puede estar esperando aun su revisión. -> Precaución lector. +> Lectura con advertencias. La mayoría de este curso presume que usted usara o bien Mainnet o bien Testnet. Sin embargo, esas no son las únicas opciones. Mientras desarrolla aplicaciones @@ -35,9 +35,8 @@ transacciones a menos que se configure explícitamente la tarifa. Si usted lo desea, puede mas tarde reiniciar su Regtest con una nueva cadena de bloques. -Los monederos Regtest y el estado de la cadena de bloques (estado de la cadena) -son guardados en el subdirectorio regtest del directorio de configuración de -Bitcoin: +Los monederos Regtest y el estado de la cadena de bloques son guardados en el +subdirectorio regtest del directorio de configuración de Bitcoin: ``` user@mybtc:~/.bitcoin# ls bitcoin.conf regtest testnet3 @@ -120,7 +119,7 @@ transacciones de acuerdo a el [Capitulo 4](04_0_Enviando_Transacciones_Bitcoin.md). Es importante notar que para que se complete cualquier transacción, usted -deberá generar (mine) nuevos bloques, así las transacciones pueden ser +deberá generar (minar) nuevos bloques, así las transacciones pueden ser incluidas. Por ejemplo, para crear una transacción e incluirla en un bloque, usted debe @@ -188,7 +187,7 @@ $ bitcoin-cli -regtest -generate 6 ## Pruebe con NodeJS -Cuando usted esta en regtest, es capaz de simular casos de borde y ataques que +Cuando usted esta en regtest, es capaz de simular casos extremos y ataques que podrían ocurrir en el mundo real, tales como gastos dobles. Como se debatió en algún otro lado de este curso, usar librerías de software @@ -266,8 +265,8 @@ rápidamente. > bloques, para testear transacciones, timelocks y otras características para > las que de otra manera debería sentarse y esperar. Sin embargo, el otro poder > es que usted puede correrlo de forma privada, sin conectarse a una cadena de -> bloques publica, permitiéndole a usted probar sus propias ideas antes de -> liberarlas dentro del mundo. +> bloques publica, permitiéndole probar sus propias ideas antes de liberarlas +> dentro del mundo. ## ¿Que sigue?