Regtest, la blockchain locale
Molte persone vorrebbero imparare a utilizzare il protocollo Bitcoin, oppure vorrebbero aumentare la proprio conoscenza e non sanno da dove iniziare.
Noi siamo sempre stati convinti che per capire realmente una qualsiasi tecnologia dobbiamo metterla in pratica.
Abbiamo già scritto una guida per permettere di sincronizzare l’intera blockchain in un dispositivo esterno come Raspberry, ma per prove più “quick and dirty” vi consigliamo di utilizzare la regtest.
Che cosa è la regtest?
Potremo definire la regtest la blockchain locale.
È il punto di partenza per sviluppare applicazioni basate su blockchain e/o per iniziare a studiarla.
Se sei uno sviluppatore questo non ti dovrebbe sorprendere, solitamente abbiamo 4 ambienti durante lo sviluppo di una qualsiasi applicazione, locale, dev, staging, prod.
Quindi possiamo replicare l’ambiente di produzione Bitcoin sul proprio computer, compreso il lavoro sporco del miner.
Stai calmo, i bitcoin che mini non valgono niente!
Ecco come fare.
Scarica l’ultima versione di Bitcoin demon. (ad oggi 0.19.0.1)
$ curl -O https://bitcoin.org/bin/bitcoin-core-0.19.0.1/bitcoin-0.19.0.1-osx64.tar.gz
Per prima cosa verifichiamo che il checksum ottenuto con l’algoritmo SHA256 sul pacchetto tar appena scaricato sia fedele a quello che troviamo all’interno di SHA256SUM.ASC, così da essere sicuri di aver scaricato il pacchetto desiderato.
$ sha256sum --check SHA256SUMS.asc --ignore-missing
risultato:
bitcoin-0.19.0.1-osx64.tar.gz: OK
sha256sum: WARNING: 20 lines are improperly formatted
NB: tutti i file e i comandi sono eseguiti all’interno della stessa cartella.
Scarichiamo anche le relative firme per verificare l’integrità del pacchetto.
$ wget https://bitcoincore.org/bin/bitcoin-core-0.19.0.1/SHA256SUMS.asc
$ wget https://bitcoin.org/laanwj-releases.asc
$ gpg --import laanwj-releases.asc
$ gpg --verify SHA256SUMS.ascgpg: Signature made Sun Nov 24 10:14:42 2019 CETgpg:using RSA key 90C8019E36C2E964gpg: Good signature from "Wladimir J. van der Laan (Bitcoin Core binary release signing key) <laanwj@gmail.com>" [unknown]
Adesso che siamo sicuri di aver scaricato il pacchetto giusto, possiamo estrarlo con il comando
Estraiamo quindi il pacchetto che abbiamo scaricato:
$ tar -xvf bitcoin-0.19.0.1-osx64.tar.gz
e spostare l’eseguibili nel percorso $PATH di default.
$ sudo mkdir -p /usr/local/bin
$ sudo cp bitcoin-0.19.0.1/bin/bitcoin* /usr/local/bin/.
In questo modo potremo richiamare il demone e il client Bitcoin da qualsiasi percorso, così da evitare di inserire il percorso assoluto o relativo dell’eseguibile.
Per verificare che tutto sia corretto, potete lanciare il comando.
$ bitcoind --version
Bitcoin Core version v0.19.0.1
Se volete verificare il percorso del vostro demone potete utilizzare il comando which.
$ which bitcoind
/usr/local/bin/bitcoind
Ok, siamo pronti per lanciare il nostro demone e utilizzare la regtest.
per farlo è sufficiente passare come parametro -regtest.
$ bitcoind -regtest
Otteniamo cosi un pò di output, ovvero il log del nostro nodo.
In un altra finestra del terminale possiamo iniziare ad utilizzarlo tramite il client che abbiamo già spostato precedentemente nel percorso $PATH.
$ bitcoin-cli -regtest getblockcount
0
Come vedete non abbiamo nessun blocco, infatti la blockchain è “vergine”.
Dove viene salvata la blockchain?
Per il sistema operativo OSX la puoi trovare nel percorso:
~/Library/Application Support/Bitcoin/
Per linux e windows, vi rimando alla pagina wiki di riferimento.
https://en.bitcoin.it/wiki/Data_directory.
Adesso con il comando:
$ bitcoin-cli help
Hai la lista di comandi da utilizzare per iniziare a divertirti!
Con questo piccolo tutorial puoi anche seguire il nostro libro Bitcoin dalla teoria alla pratica disponibile sia su Amazon sia sul nostro sito ufficiale corsobitcoin.com.
► Libro Bitcoin dalla teoria alla pratica (Amazon)
► Libro Bitcoin dalla teoria alla pratica (sito ufficiale con pagamento in bitcoin)
—
► Tascabile Bitcoin 199 domande (Amazon)
► Tascabile Bitcoin 199 domande (sito ufficiale con pagamento in bitcoin)
► Pocket Book Bitcoin 199 questions (Amazon)
► Pocket Book Bitcoin 199 questions (official website — accept bitcoin)
—
► Video corso disponibile su Udemy
I nostri social:
► Twitter , Facebook, Linkedin, 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