Track 0 / 5
Levantar tres nodos Bitcoin Core 31.1 en regtest con Docker, en cinco pasos.
docker compose versionTiene que imprimir una versión 2.x. Si no la tenés, instalá Docker. En Windows, usá la terminal de WSL2. También conviene tener jq para filtrar JSON, aunque es opcional.
git clone https://github.com/GuiSchet/bitcoin-inside-a-node-lab
cd bitcoin-inside-a-node-labdocker compose up -d --waitLa primera vez tarda ~1 minuto. El Dockerfile descarga Bitcoin Core 31.1 de bitcoincore.org y verifica su SHA256 antes de instalarlo.
Quedan tres nodos conectados en línea. La flecha indica quién inicia la conexión:
alice ──► bob ──► carolsource lab.sh
lab_setupsource lab.sh define los comandos alice, bob y carol. alice getpeerinfo es lo mismo que docker compose exec -T alice bitcoin-cli getpeerinfo.lab_setup crea una wallet en cada nodo y mina 101 bloques para alice. Las recompensas de coinbase recién se pueden gastar 100 bloques después, así que alice queda con 50 BTC gastables. Lo podés correr más de una vez sin problema.Vas a ver:
Listo: alice tiene 50.00000000 BTC; los tres nodos están en el bloque 101.alice getblockchaininfoListo: seguí con el track 1.
| Comando | Qué hace |
|---|---|
lab_wait_tx <nodo> <txid> | Espera hasta que una tx aparezca en el mempool de un nodo |
lab_wait_sync | Espera hasta que los tres nodos tengan el mismo tip |
lab_split / lab_join | Corta y reconecta la red P2P de los tres nodos |
docker compose down -v
docker compose up -d --waitSe borra toda la blockchain regtest y las wallets. Después, source lab.sh y lab_setup otra vez.