Playground overview

Non uno, non due, ben 6 Docker container per divertirsi con Bitcoin!

Overview dei container

Hansel e Gretel

https://github.com/bitcoin-dalla-teoria-alla-pratica/playground/blob/master/docker-compose.yml#L4-L23

Questi sono i due container che utilizzano Bitcoin core raw. Contengono solo lo stretto necessario:

Se avete acquistato uno dei due libri e volete sperimentare con mano gli esempi correlati che vengono via via indicati Hansel e Gretel sono il posto giusto! Per "entrare" in Hansel

docker exec -ti hansel bash

Per "entrare" in Gretel

docker exec -ti gretel bash

Qualsiasi file copiato nella cartella wald e' immediatamente disponibile nel percorso /opt/wald all'interno di Hansel/Gretel.

NB: una volta aggiunto un file sh potrebbe essere necessario un chmod +x nomefile.sh prima di eseguirlo.

Hansel REST API

Il container di Hansel espone anche l'interfaccia REST di Bitcoin, la trovate all'indirizzo http://localhost:18443/rest.

Nei link qui sulla sinistra trovate dei preferiti per la API blockchain info e mempool content.

OZ

https://github.com/bitcoin-dalla-teoria-alla-pratica/playground/blob/master/docker-compose.yml#L24-L31

Container con ambiente bitcoinjs-lib, vedi pagina dedicata in questo sito.

docker exec -ti oz bash

blockchain-explorer

https://github.com/bitcoin-dalla-teoria-alla-pratica/playground/blob/master/docker-compose.yml#L32-L45

Questo container e' gentilmente offerto da Blockstream: https://github.com/Blockstream/esplora.

L'interfaccia web alla quale si accede tramite i link qui sulla sinistra Bitcoin regtest explorer e Bitcoin regtest mempool e' messa a disposizione da questo container. Sempre nell'elenco dei link qui di fianco trovate Bitcoin regtest explorer API grazie al quale potrete scoprire tutte le API messe a disposizione da Blockstream esplora e disponibili su localhost:8094.

L'explorer mette a disposizione API REST https://github.com/Blockstream/esplora/blob/master/API.md

bitcoinjs-regtest-server

https://github.com/bitcoin-dalla-teoria-alla-pratica/playground/blob/master/docker-compose.yml#L46-L54

Questo container e' presente al solo scopo di supportare l'ambiente bitcoinjs-lib.

blockchain-reader

https://github.com/bitcoin-dalla-teoria-alla-pratica/bitcoin-in-action-playground/blob/master/docker-compose.yml#L68-L78

Questo container mette a disposizione

Collegamenti di rete fra i container

Tramite i link network di docker-compose abbiamo simulato una piccola rete P2P di full node (regtest) Bitcoin :)

Script utili esterni ai container

hansel-gretel-exec.sh

E' possibile eseguire in contemporanea lo stesso comando su Hansel e Gretel.

Ad esempio potete verificare la connettivita' tra Hansel e Gretel e gli altri nodi

./hansel-gretel-exec.sh getpeerinfo.sh

regtest-delete.sh

Questo script va a cancellare tutti i file di tutti i nodi relativi alla blockchain ed il suo stato.

Utile per tornare allo stato iniziale.

./regtest-delete.sh

hansel-bitcoin-cli.sh

Vi permette di eseguire comandi bitcoin-cli senza essere all'interno del container Hansel.

./hansel-bitcoin-cli.sh generatetoaddress 100 $(./hansel-bitcoin-cli.sh getnewaddress)

Last updated