Featured Video Play Icon

BitBerry: un nodo della Blockchain a casa (5)

Riprendiamo il nostro nodo RaspBerry, o BitBerry o Italo, chiamatelo come preferite… 🙂

Nello step precedente eravamo arrivati ad avere sistema operativo installato e rete funzionante. Avevamo visto anche come passare dal desktop grafico a quello in modalità solo testuale  con ram dedicata alla grafica ridotta a 16Mb. Ricontrollate di aver fatto tutti questi passaggi per benino, e di avere un RaspBerry che vi accoglie con una semplice interfaccia grafica.

Regole per gli step di oggi :

  • è un po’ più complesso ma
  • si tratta solo di copiare
  • relax and don’t panic (42!) , enjoy the ride
  • i passaggi sono lunghi… ZzzzzzZZzzz… preparatevi 2 o 3 puntate della vostra serie preferita (Mr.Robot, Stranger Things…) e del caffè per addolcire l’attesa
  • non abbiate paura di sbagliare, ho ridotto questa possibilità ma se capita fa nulla, si può sempre ricominciare da capo

Pronti?

Trovere tutti gli step qui sotto in cui dovrete semplicemente copiare i comandi e scriverli sulla vostra shell. Come conseguenza ci saranno enormi spataffiate di scritte. Che poi si fermano… poi riprendono…
Se quando si ferma del tutto e potete “scrivere” un altro comando non ci sono messaggi d’errore tutto ok. Se vedete comandi su più linee eseguiteli uno alla volta, aspettate che uno abbia finito prima di immettere il successivo.
Anche in questo caso, se ci sono problemi scrivete tutto nei commenti che vediamo come risolvere e miglioare la vita a tutti

 

GitHub

Ho aperto un nuovo progetto su github che conterrà tutto il testo da digitare in questa sessione di lavoro. Se vi aiuta potete clonare il progetto sul raspberry e utilizzarlo per lavorare più comodamente.

1 Diventare “root”

L’utente root è l’amministratore totale. Quando accedete a RaspBian siete l’utente “pi” che non può fare tutto. Quindi dobbiamo diventare root con

sudo su -

vi chiederà la password dell’utente pi che, se non l’avete cambiata (dovreste) con molta poca fantasia è “raspberry”

2 Aggiorniamo il tutto

apt-get update
apt-get upgrade -y

3 Installare i pacchetti aggiuntivi

NB: questo comandone sta tutto in una sola riga

apt-get install -y build-essential autoconf libssl-dev libboost-dev libboost-chrono-dev libboost-filesystem-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libboost-system-dev libtool libminiupnpc-dev libevent-dev git qt4-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev

4 Installazione disco USB

Qui imponiamo che il disco venga visto come una specifica cartella, che useremo poi per i dati della blockchain

mkdir /opt/bitcoinData

Fatta la cartella (/opt/bitcoinData) bisogna dire che qui dentro ci sarà il disco. Usiamo l’edito nano per comodità, che in fondo dice come salvare il file etc

nano /etc/fstab

si aprirà un file, alla fine di questo file dovremo aggiungere una riga

/dev/sda1 /opt/bitcoinData ext4 defaults 0 0

Salvato il file (CTRL+O e poi ENTER) colleghiamo il drive USB e rendiamo effettive le modifiche

umount /dev/sda1
mount -a

5 Ampliamento dell’ area di Swap

Sembra arabo? Tranquilli, stiamo solo ampliando una “zona di memoria di scorta”. Anche qui prima editiamo un file con nano e poi lo rendiamo attivo

nano /etc/dphys-swapfile

Troviamo la riga sottostante e modifichiamo 100 con 1000, poi salviamo (CTRL+O e poi ENTER)

CONF_SWAPSIZE=100 (deve diventare 1000)

Attiviamo tutto con

dphys-swapfile setup
dphys-swapfile swapon

6 Berkeley-DB

Bitcoin Core, in particolare il wallet, usa questo DB per… un sacco di cose

cd /opt
wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz
tar -xzvf db-4.8.30.NC.tar.gz
rm db-4.8.30.NC.tar.gz
cd db-4.8.30.NC/build_unix/
../dist/configure --enable-cxx
make
make install
make clean

Ultimo Step:  Bitcoin Core!

Finalmente, l’ultimo passaggio!
Qui scaricheremo, scompatteremo, compileremo il software vero e proprio di Bitcoin

cd /opt
git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin/
./autogen.sh
./configure --with-gui=no CC=gcc CXX=g++ CPP=cpp LDFLAGS="-L/usr/local/BerkeleyDB.4.8/lib -L/usr/lib/openssl/" CPPFLAGS="-I/usr/local/BerkeleyDB.4.8/include -O2 -I/usr/include/openssl/" --disable-wallet CXXFLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768"
make
make install
make clean

 

E ora?

I prossimi articoli/step saranno quelli in cui ci si comincia a divertire, resta da scaricare l’intera blockchain (mooooolto lungo) e poi iniziare a giocare. Prima di partire però è necessario assicurarsi che sia tutto a posto e che questi step vadano a buon fine…