|
| 1 | +# Apéndice II: Compilando Bitcoin desde la Fuente |
| 2 | + |
| 3 | +Este curso presume que usted usara un programa para crear un entorno Bitcoin, |
| 4 | +tanto usando Bitcoin Standup para Linode según |
| 5 | +[§2.1](02_1_Configurando_un_Bitcoin-Core_VPS_con_StackScript.md), o vía alguna |
| 6 | +otra forma, de acuerdo con [§2.2](02_2_Configurando_Bitcoin_Core_Otros.md). Sin |
| 7 | +embargo, usted puede preferir compilar Bitcoin a mano. |
| 8 | + |
| 9 | +Esto tiene los siguientes beneficios: |
| 10 | + |
| 11 | +1. Usted siempre estará actualizado con el ultimo lanzamiento. Consideración: |
| 12 | + Estar siempre actualizado no es necesario para Bitcoin Core, ya que el |
| 13 | + software siempre es retro compatible, esto quiere decir que una versión de |
| 14 | + Bitcoin Core sera capaz de participar en la red Bitcoin, a pesar de no |
| 15 | + contar con las ultimas características. |
| 16 | +2. Usted no necesitara depender de binarios pre compilados de Bitcoin Core. |
| 17 | + Esto requiere menos confianza. Aun que los mantenedores de Bitcoin Core |
| 18 | + hacen un gran trabajo manteniendo la integridad del código, un binario pre |
| 19 | + compilado esta unos pasos por detrás del código fuente. Cuando usted compila |
| 20 | + desde el código fuente, el código puede ser inspeccionado antes de la |
| 21 | + compilación. |
| 22 | +3. Usted puede personalizar la compilación, haciendo cosas tales como |
| 23 | + deshabilitar los monederos o la interfaz gráfica de usuario. |
| 24 | + |
| 25 | +## Prepare su Entorno |
| 26 | + |
| 27 | +Este tutorial utiliza Debian 10.4.kv0 OS en una arquitectura amd64 |
| 28 | +(computadoras de 64-bits), pero usted puede usar este tutorial en cualquier |
| 29 | +sistema basado en Debian (por ej. Ubuntu, Mint, etc.). Para otros sistemas |
| 30 | +Linux, puede adaptar los siguientes pasos con el gestor de paquetes para ese |
| 31 | +sistema. |
| 32 | + |
| 33 | +Usted puede tener conocimientos básicos o ninguna familiaridad con la línea de |
| 34 | +comandos, siempre y cuando tenga entusiasmo. La terminal es su mas poderoso |
| 35 | +aliado, no algo para ser temido. Usted puede simplemente copiar y pegar los |
| 36 | +siguientes comandos para compilar bitcoin (un comando con un "$" es un comando |
| 37 | +de un usuario común y uno con un "#" es un comando de un superusuario o |
| 38 | +administrador). |
| 39 | + |
| 40 | +Si usted no esta en la lista de superusuario entonces haga lo siguiente: |
| 41 | + |
| 42 | +``` |
| 43 | +$ su root |
| 44 | +<enter root passwd> |
| 45 | +# apt-get install sudo |
| 46 | +# usermod -aG sudo <username> |
| 47 | +# reboot |
| 48 | +``` |
| 49 | + |
| 50 | +## Instale Bitcoin |
| 51 | + |
| 52 | +### Paso 1: Actualice su sistema |
| 53 | + |
| 54 | +Primero, actualice el sistema usando: |
| 55 | +``` |
| 56 | +$ sudo apt-get update |
| 57 | +``` |
| 58 | + |
| 59 | +### Paso 2: Instale Git y sus dependencias |
| 60 | + |
| 61 | +Instale `git`, el cual le permitirá descargar el código fuente, y |
| 62 | +`build-essential`, el cual compila el código: |
| 63 | +``` |
| 64 | +$ sudo apt-get install git build-essential -y |
| 65 | +``` |
| 66 | + |
| 67 | +Después, instale las dependencias restantes: |
| 68 | +``` |
| 69 | +$ sudo apt-get install libtool autotools-dev automake pkg-config bsdmainutils |
| 70 | +python3 libssl-dev libevent-dev libboost-system-dev libboost-filesystem-dev |
| 71 | +libboost-chrono-dev libboost-test-dev libboost-thread-dev libminiupnpc-dev |
| 72 | +libzmq3-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools |
| 73 | +libprotobuf-dev protobuf-compiler ccache -y |
| 74 | +``` |
| 75 | + |
| 76 | +### Paso 3: Descargue el código fuente |
| 77 | + |
| 78 | +Una vez que las dependencias están instaladas, descargue el repositorio (repo) |
| 79 | +conteniendo el código fuente de Bitcoin desde github: |
| 80 | +``` |
| 81 | +$ git clone https://github.com/bitcoin/bitcoin.git |
| 82 | +``` |
| 83 | +Verifique el contenido del repo: |
| 84 | +``` |
| 85 | +$ ls bitcoin |
| 86 | +```` |
| 87 | +Debería ser aproximadamente similar al siguiente contenido: |
| 88 | +
|
| 89 | + |
| 90 | +
|
| 91 | +### Paso 4: Instale la base de datos Berkley v4.8 |
| 92 | +
|
| 93 | +1. Ingrese al directorio `contrib`: `$ cd bitcoin/contrib/` |
| 94 | +2. Ejecute el siguiente comando: ```$ ./install_db4.sh `pwd` ``` |
| 95 | +
|
| 96 | +Una vez que ha sido descargado usted vera la siguiente salida. Tome nota de la |
| 97 | +salida, usted lo usara para configurar bitcoin mientras compila: |
| 98 | +
|
| 99 | + |
| 100 | +
|
| 101 | +### Paso 5: Compile Bitcoin Core |
| 102 | +
|
| 103 | +Es recomendado que usted compile desde una rama etiquetada, la cual es mas |
| 104 | +estable, a menos que usted quiera probar la vanguardia del desarrollo bitcoin. |
| 105 | +Ejecute el siguiente comando para obtener una lista de etiquetas, ordenadas de |
| 106 | +acuerdo a la mas reciente: |
| 107 | +``` |
| 108 | +$ git tag -n | sort -V |
| 109 | +``` |
| 110 | +Luego elija una etiqueta tal como `v0.20.0`: |
| 111 | +``` |
| 112 | +$ git checkout <TAG> |
| 113 | +``` |
| 114 | +
|
| 115 | +Una vez que ha seleccionado una rama etiquetada, ejecute lo siguiente desde |
| 116 | +dentro del directorio `bitcoin`. El `<CAMINO-A>` debe ser la salida del |
| 117 | +programa `install_db4.sh`. |
| 118 | +
|
| 119 | +``` |
| 120 | +$ ./autogen.sh |
| 121 | +$ export BDB_PREFIX='<PATH-TO>/db4' |
| 122 | +$ ./configure BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include" |
| 123 | +$ make # build bitcoin core |
| 124 | +``` |
| 125 | +
|
| 126 | +### Paso 6: Pruebe la compilación |
| 127 | +
|
| 128 | +Si usted quiere comprobar su compilación (lo cual es una buena idea), ejecute |
| 129 | +las siguientes pruebas: |
| 130 | +
|
| 131 | +1. `$ make check` correra las pruebas unitarias, los cuales deberan retornar `PASS`. |
| 132 | +2. `$ test/functional/test_runner.py --extended` ejecutara las pruebas |
| 133 | + funcionales extendidas. Omita el indicador `--extended` si usted quiere |
| 134 | + evitar algunas pruebas. Esto puede tomarle bastante tiempo. |
| 135 | +
|
| 136 | +### Paso 7: Ejecute e instale Bitcoin Core |
| 137 | +
|
| 138 | +Ahora que usted ha compilado Bitcoin Core desde la fuente, usted puede empezar |
| 139 | +a usarlo e instalarlo para una disponibilidad global. |
| 140 | +
|
| 141 | +#### Ejecute Bitcoin Core sin instalarlo |
| 142 | +
|
| 143 | +Para solo ejecutar Bitcoin Core: |
| 144 | +
|
| 145 | +`$ src/qt/bitcoin-qt` para ejecutar la interfaz grafica de usuario. |
| 146 | +`$ src/bitcoind` para ejecutar bitcoin en la línea de comandos. |
| 147 | +
|
| 148 | +### Instale Bitcoin Core |
| 149 | +
|
| 150 | +Para instalar: |
| 151 | +
|
| 152 | +`$ sudo make install` instalara bitcoin core globalmente. Una vez instalado |
| 153 | +usted puede entonces ejecutar bitcoin desde cualquier lugar en la línea de |
| 154 | +comandos, al igual que con cualquier otro software: `$ bitcoin-qt` para la |
| 155 | +interfaz grafica de usuario o `bitcoind` y luego `bitcoin-cli` para la línea de |
| 156 | +comandos. |
| 157 | +
|
| 158 | +## Finalice su sistema |
| 159 | +
|
| 160 | +Compilando Bitcoin desde la fuente, usted disminuye la necesidad de confianza |
| 161 | +en su configuracion. Sin embargo, usted esta lejos de la seguridad adicional |
| 162 | +provista por la configuracion de Bitcoin Standup. Para resolver esto, usted |
| 163 | +puede querer recorrer el programa |
| 164 | +[Linode Stackscript](https://github.com/BlockchainCommons/Bitcoin-Standup-Scripts/blob/master/Scripts/LinodeStandUp.sh) |
| 165 | +completo y ejecutar paso a paso todos los comandos. El unico lugar donde |
| 166 | +necesita ser cuidadoso es en el Paso 6, el cual instala Bitcoin. Omita solo |
| 167 | +hasta donde verifica sus binarios, y continue desde ahi. |
| 168 | +
|
| 169 | +## Resumen: Compilando Bitcoin desde la Fuente |
| 170 | +
|
| 171 | +Si usted quiere la seguridad incrementada de instalar Bitcoin desde la fuente, |
| 172 | +usted deberia tenerla ahora. Con un poco de suerte, usted tambien habra |
| 173 | +recorrido el Linode Stackscript para configurar un servidor mas seguro. |
| 174 | +
|
| 175 | +## ¿Que sigue? |
| 176 | +
|
| 177 | +Si usted estaba en el proceso de crear un nodo Bitcoin para usar en este curso, usted deberia continuar con |
| 178 | +[Capitulo 3: Entendiendo Su Configuración Bitcoin](03_0_Entendiendo_Su_Configuracion_Bitcoin.md). |
| 179 | +
|
| 180 | +Si usted esta leyendo a través de los apéndices, continúe con |
| 181 | +[Apéndice III: Usando Bitcoin Regtest](A3_0_Usando_Bitcoin_Regtest.md). |
| 182 | +
|
0 commit comments