Utilizzare gli esempi dei libri con Docker
Ciao a tutti,
abbiamo pensato di creare un repository per facilitare gli esempi che troviamo nei due nostri libri, Bicoin dalla teoria alla pratica e Bitcoin in Action. Per questo andremo ad utilizzare Docker!
Che cosa è Docker?
Docker è una piattaforma open source per la creazione, distribuzione e gestione di applicazioni in container. I container Docker sono degli ambienti virtuali isolati che includono tutto il necessario per eseguire un’applicazione, tra cui il codice, le librerie e le dipendenze.
Abbiamo quindi creato un’immagine docker che contiene tutto quello necessario, dall’installazione del nodo (ad oggi versione 24.0) la verifica dell’integrità del pacchetto e il nostro caro debugger btcdeb!
A questo indirizzo è possibile verificare come è stata creata l’immagine che andremo ad utilizzare e le istruzioni necessarie per interagire con gli esempi del libro.
In Action!
Per prima cosa sarà necessario installare Docker nel proprio computer.
Successivamente cloniamo i repository necessari.
git clone https://github.com/bitcoin-dalla-teoria-alla-pratica/Docker-bitcoin.git --depth 1
cd Docker-bitcoin
Cloniamo quindi gli esempi dei libri.
git clone https://github.com/bitcoin-dalla-teoria-alla-pratica/errata-corrige-e-sorgente-esempi.git --depth 1 &&
git clone https://github.com/bitcoin-dalla-teoria-alla-pratica/Bitcoin-in-action-book.git --depth 1
A questo punto non ci resta che avviare docker con
docker-compose up
Il comando
docker-compose up
viene utilizzato per avviare i container specificati in un file di configurazionedocker-compose.yml
.
Appena avviato il container leggeremo tutti i log, assicurarsi che il nodo stia utilizzando la rete regtest! Come? se vedere che sta scaricando dei blocchi dalla rete significa che qualcosa è andato storto!
Apriamo quindi un altro terminale, e digitiamo
docker ps
Il quale restituisce tutti i container che sono in esecuzione. Questo è di vitale importanza, perchè dobbiamo “entrare” all’interno del container ed eseguire l’esempi del libro.
Questo è il risultato che ottengo utilizzando `docker ps`
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f693d16b1961 docker-bitcoin-bitcoin-in-action "/entrypoint.sh" 2 hours ago Up 2 hours 0.0.0.0:18443-18444->18443-18444/tcp docker-bitcoin-bitcoin-in-action-1
Entro quindi dentro il container
docker exec -it docker-bitcoin-bitcoin-in-action-1 zsh
Immaginiamo di voler eseguire l’esempio del Capitolo 3.
cd Bitcoin-in-action-book
cd Capitolo\ 3
cd P2SH\ -\ P2PK
./main.sh
Se vogliamo eseguire l’esempio utilizzando il debug, niente di più facile, sarà necessario passare il parametro DEBUG=1
./main.sh DEBUG
e btcdeb sarà attivato!
— — –
🐳 Playground Bitcoin in Action
—
🐙 GitHub: https://bit.ly/2Lj3yeY
— –
📕 Bitcoin In Action — SegWit, Bitcoin Script e Smart Contracts (Amazon)
📕 Bitcoin In Action — SegWit, Bitcoin Script e Smart Contracts (pagamento in bitcoin)
— –
📒 Libro Bitcoin dalla teoria alla pratica (Amazon)
📒 Libro Bitcoin dalla teoria alla pratica (pagamento in bitcoin)
📒 Book Bitcoin from theory to practice (Amazon)
📒 Book Bitcoin from theory to practice (accept bitcoin)
—
🎥 Video Corso Bitcoin dalla teoria alla pratica
—
📙 Tascabile Bitcoin 199 domande (Amazon)
📙 Tascabile Bitcoin 199 domande (pagamento in bitcoin)
📙 Pocket Book Bitcoin 199 questions (Amazon)
📙 Pocket Book Bitcoin 199 questions (accept bitcoin)
—
► ITA: Twitter ,Medium, Instagram, Youtube, GitHub
► ENG: Twitter , Medium, Instagram, Youtube, GitHub
Television isn’t a good idea (Radio Stations)
Email isn’t a good idea (Post offices)
Amazon isn’t a good idea (Retail stores)
Bitcoin isn’t a good idea (Central banks)
In crypto we trust