owned this note
owned this note
Published
Linked with GitHub
# Cómo correr un nodo en modo testnet
###### tags: `bitcoin` `cli` `nodo` `node` `test`
_Si ya tienes instalado bitcoin core, con estas instrucciones puedes usar el modo testnet para hacer pruebas sin importar si instalaste en modo cli o con gui_
**Tabla de contenido**
[TOC]
## Autor
**EntrePlanctonyBallenas.**
Twitter para correcciones, comentarios o sugerencias: [@entreplanctony1](https://twitter.com/Entreplanctony1)
El presente tutorial fue elaborado para el [Seminario socrático de Mastering Bitcoin](https://libreriadesatoshi.com/) a través de [@libreriadesatoshi](https://twitter.com/libdesatoshi).
En el siguiente enlace puedes encontrar la documentación de referencia:
[https://developer.bitcoin.org/examples/testing.html](https://developer.bitcoin.org/examples/testing.html)
## ¿Qué es la testnet?
El modo **testnet** de Bitcoin contiene todas las funciones de la red principal, creación de wallets, la red p2p, minería; sin embargo, los bitcoins de prueba (test-coins) están creados para no tener valor y la dificultad de minado se mantiene muy baja para que los bitcoins de esta red nunca tengan valor. Se usa para aprender a utilizar transacciones de Bitcoin sin gastar bitcoins reales, también es un entorno de pruebas seguro en el cual los desarrolladores pueden probar actualizaciones sin afectar la red de Bitcoin.
## IBD
La primera vez que entres en modo testnet, tu nodo va a pasar por el proceso de IBD. Pero la cadena de bloques de la red **testnet** de bitcoin es mucho más ligera, mide menos de **40gb** por lo que tardará mucho menos tiempo en descargarla y validarla, en menos de 1 día debería estar listo tu nodo para poder ser utilizado en modo testnet.
### Interrupción del IBD
Igual que en modo normal de bitcoin (mainnet) el software de _Bitcoin Core_ puede ser detenido en cualquier momento, y al arrancarlo nuevamente este va a comenzar el IBD desde el punto en que se dejó. Esto quiere decir que si primero instalaste y configuraste tu nodo en modo **mainnet** e interrumpes el proceso para arrancar en modo **testnet** la información que ya descargaste no se pierde, solo se añade ahora información de la red de testnet a la que ya tenías.
:::success
:bulb:Puedes trabajar en modo testnet y volver a poner tu nodo en modo **mainnet** cuando lo necesites.
:::
## Activar el modo testnet
:::info
:eyes: Toma en cuenta que al activar el modo testnet se agregaran archivos debajo del path donde has configurado que se guarde la información de carteras y bloques, por lo que en dicho disco debes tener espacio suficiente (**40gb libres aprox**).
:::
Si en tu computadora estás ejecutando el software de _Bitcoin Core_ debes detenerlo:
#### Detener Bitcoin Core en línea de comando
```sass
bitcoin-cli stop
```
#### Detener Bitcoin Core en interfaz gráfica
Simplemente, cierra la ventana de la interfaz gráfica en tu sistema operativo y ++espera a que el aviso de no apagar tu equipo desaparezca++
### Modo testnet desde línea de comandos
Localiza el archivo ejecutable de **bitcoind** (esta ubicación varía según tu sistema operativo y si lo instalaste desde archivo ejecutable o lo compilaste desde código fuente).
:::spoiler *Excepción para macOS*
Si instalaste la interfaz gráfica de Bitcoin Core desde el archivo **.dmg** descargable, este no incluye el ejecutable para bitcoind, por lo que deberás ++descargar e instalar++ usando las [instrucciones de bitcoin.org](https://bitcoin.org/en/full-node#osx-daemon)
:::
:::
Ya que localizaste el archivo **bitcoind** en tu computadora, abre una terminal y ejecuta el comando con el argumento **-testnet**. Esto sirve para indicarle a _Bitcoin Core_ que va a ejecutarse en modo testnet, pero sólo de manera momentánea.
#### Para Linux y macOS:
```sass
bitcoind -testnet -daemon
```
#### Para Windows:
```sass
bitcoind.exe -testnet -daemon
```
:::warning
:warning: Todos los subcomandos que corras en modo testnet a partir de este punto, deben llevar el argumento **-testnet** de otra forma mandarán un error de ejecución, algunos ejemplos:
`bitcoin-cli -testnet getmempoolinfo` o `bitcoin-cli -testnet stop`
:::
### Modo testnet desde interfaz gráfica
Abre una terminal, localiza el archivo ejecutable de `bitcoin-qt` (esta ubicación varía según tu sistema operativo y si lo compilaste o instalaste el ejecutable) y ejecuta para **Linux** y **macOS**:
```sass
bitcoin-qt -testnet
```
Para **Windows**:
```sass
bitcoin-qt.exe -testnet
```
## Cambios en bitcoin.conf
Para hacer que tu nodo levante siempre en modo testnet, debes agregar la siguiente línea en el archivo de configuración bitcoin.conf:
```gherkin
testnet=1
```
Con este cambio evitarás tener que introducir el argumento **-testnet** con cada subcomando al usar **bitcoin-cli**.
Si en algún momento quieres volver a habilitar el modo "**mainnet**" comenta la línea anteponiendo un "**#**" al inicio de la línea o bórrala completamente. Después de hacer el cambio, deberás reiniciar el cliente de _Bitcoin Core_.
## Blockchaininfo
Ahora que tienes la posibilidad de cambiar entre modo testnet y mainnet. Quizá se te olvide en qué modo arrancaste la última vez (sobre todo si modificaste el archivo `bitcoin.conf`). Para que confirmes esto, abre una terminal y ejecuta `getblockchaininfo`. En el campo de `chain` *(línea 3)* de la siguiente salida verás **test** o **main** para diferenciar entre ambos modos.
```gherkin=
$ bitcoin-cli getblockchaininfo
{
"chain": "test",
"blocks": 1088,
"headers": 139999,
"bestblockhash": "0000000063d29909d475a1c4ba26da64b368e56cce5d925097bf3a2084370128",
"difficulty": 1,
"mediantime": 1337966158,
"verificationprogress": 0.001644065914099759,
"chainwork": "0000000000000000000000000000000000000000000000000000044104410441",
"pruned": false,
"softforks": [
```
## :zap: Donaciones
:::success
Si te fue útil este material puedes agradecer a Iván @entreplanctonyballenas, enviándole un aporte vía Lightning Address:
entreplanctonyballenas@getalby.com
:::