Introduzione:
Questa guida spiega come impostare un singolo masternode di Desire, su un server Ubuntu 14 a 64bit, che verrà controllato dal wallet sul vostro computer. Una volta impostato, non dovrete tenere acceso sempre il vostro computer, in quanto tutto il lavoro sarà svolto dal server.
Requisiti:
Un Server VPS
Il Wallet Desire installato sul proprio computer
1001DSR disponibili nel wallet: 1000 per il Masternode, 1 per le commissioni
Compriamo il server
Partiamo dalla base (se hai già un server VPS attivo salta pure alla prossima sezione), per iniziare a far funzionare il Masternode abbiamo bisogno di un server sempre attivo e con IP dedicato.
La soluzione più semplice è affittare un VPS (Virtual Private Server) su Vultr o su un servizio simile.
La guida proseguirà prendendo come esempio proprio Vultr.
Una volta registrati, creiamo un nuovo server facendo click sul + in alto a destra:
Scegliamo la posizione a noi più vicina per il server, in questo caso Londra, in quanto le altre sono momentaneamente già piene:
Andiamo quindi a selezionare Ubuntu 14.04 x64 tra i tipi di server e come "Server Size" possiamo accontentarci di quello da 5$ al mese: 1GB di RAM è poca, ma andremo ad espanderla in seguito con lo SWAP.
In fondo alla schermata inseriamo un nome per il server, ad esempio Masternode01, click quindi su Deploy Now.
Ora, dal menu laterale, cliccando "Server", troviamo il nostro server che si sta avviando, cliccandoci sopra entriamo in una schermata riepilogativa:
Da qui possiamo ottenere l'IP del nostro server e la password di amministrazione.
Per accedere alla riga di comando del nostro server abbiamo tre soluzioni:
- usare la console di Vultr (la prima icona in alto),
- utilizzare PuTTY se utilizziamo Windows
- utilizzare l'applicazione Terminale se usiamo Linux o MacOS
Nel primo caso ci troveremo già collegati al server e ci sarà sufficiente inserire la password di root indicata nella pagina che abbiamo visto nell'immagine precedente.
Nel secondo caso una volta aperto il programma sarà sufficiente inserire nel campo "Host Name" l'indirizzo IP del nostro server e premere su Open. Ci apparirà una schermata nera ed una finestra che ci notifica che è la prima volta che ci colleghiamo a questo server, clicchiamo "Sì". Il programma ci chiede ora il login, inseriamo root -invio- e poi la password, seguita da un altro invio.
Nel terzo caso, ci è sufficiente aprire il Terminale e scrivere:
ssh [email protected]
Andando ovviamente a sostituire e X con l'ip numerico del nostro server, ci verrà richiesta la password, una volta inserita questa siamo pronti ad agire sul server.
Prepariamo il Server
Innanzitutto dobbiamo creare un nuovo utente per il sistema, lavorare con l'amministratore è sconsigliato per motivi di sicurezza, nel terminale digitiamo:
adduser mn1
Al posto di mn1 potete ovviamente mettere il nome che più vi piace.
Vi verranno poste alcune domande, tra cui la password che volete utilizzare (da ripetere più di una volta) ed altre informazioni che possiamo tranquillamente lasciare in bianco.
Proseguiamo aggiungendo il nostro utente nella lista dei sudoers: gli utenti normali che possono però agire come se fossero amministratori, inseriamo il comando:
usermod -aG sudo mn1
Sostituire ovviamente mn1 col nome che avete scelto per il vostro utente.
Usciamo dall'amministrazione col comando
exit
E rientriamo nel sistema come utenti:
ssh [email protected]
Come sempre sostituiamo mn1 col il nome utente che abbiamo scelto e le xx con l'ip del server. Ci verrà chiesta la password che abbiamo appena creato, una volta inserita siamo nuovamente nel sistema.
Avendo noi preso un server con poca memoria RAM, abbiamo bisogno di espanderla con lo swap, un sistema che permette di sfruttare una parte del disco rigido come se fosse memoria RAM.
Se avete un server con almeno 2GB di RAM questo passaggio non è obbligatorio.
Nel terminale incolliamo:
cd /;sudo dd if=/dev/zero of=swapfile bs=1M count=3000;sudo mkswap swapfile;sudo swapon swapfile;sudo nano etc/fstab;/swapfile none swap sw 0 0
Prepariamo il wallet nel computer locale
Nel nostro computer apriamo il wallet di Desire e dal menu a File, selezioniamo "Indirizzi di Ricezione" o "Receiving Adresses" se usiamo la lingua inglese nel programma. Click su "Nuovo" e nel campo "Etichetta" inseriamo un nome al nostro Masternode, in questa guida lo chiameremo MN1. Copiamo quindi l'indirizzo appena creato ed inviamo esattamente 1000DSR, in pratica mandiamo un pagamento a noi stessi. Una piccola somma potrebbe essere dedotta come spese di commissione, parliamo di centesimi di DSR.
Aspettiamo che la transazione abbia 15 conferme, possiamo verificarlo dalla schermata Transazioni, quindi dal menu Strumenti apriamo la "Console di Debug", lì scriviamo il comando:
masternode outputs
Dovrebbe apparire una riga contenente l'id della transazione (transaction id o tx_id) dei 1000DSR seguita da uno zero o da un uno (digit identifier o digit).
Segniamo questi due dati su un documento di testo, ci serviranno più tardi.
Sempre nella Console di Debug scriviamo questa volta
masternode genkey
Abbiamo ottenuto in questo modo il codice univoco del nostro Masternode, appuntiamola quindi sul documento di testo che abbiamo creato prima segnandocela come "genkey", nel documento dovremmo avere i seguenti dati:
txid: 0000000000000aaaaaaa000000aaaaaaa0000000000000000
digit: 1
genkey: qwERtyuiopASdfgHJKLzxcVBNM
Ora dobbiamo immettere questi dati nel file masternode.conf , che possiamo aprire dal menu "Strumenti", quindi "Open Masternode Configuratione File".
Potete trovare il file nella cartella %Appdata%/Desirecore
di Windows, o ~/.desirecore
di Linux.
Una volta aperto il file inseriamo i dati richiesti seguendo questo schema:
MN1 IP:9919 genkey tx_id digit
MN1 è il nome che vogliamo dare al Masternode, al posto di IP inseriamo l'indirizzo del server di Vultr seguìto da :9919, quindi il genkey, il transaction id ed infine il digit.
Il risultato finale dovrebbe essere qualcosa di simile a questo:
MN1 123.45.67.890:9919 qwERtyuiopASdfgHJKLzxcVBNM 0000000000000aaaaaaa000000aaaaaaa0000000000000000 1
Salviamo e chiudiamo il file, quindi chiudiamo e riapriamo il Wallet di Desire. Tenete però sotto mano questi dati.
Impostiamo il Server
Innanzitutto dobbiamo installare i pacchetti necessari per il funzionamento del Masternode, incolliamo nel terminale il seguente comando:
sudo apt-get update;apt-get upgrade -y;apt-get dist-upgrade -y;apt-get install nano htop git -y;apt-get install build-essential libtool autotools-dev automake pkg-config -y;apt-get install libssl-dev libevent-dev bsdmainutils software-properties-common -y;apt-get install libboost-all-dev -y;apt-get install libzmq3-dev libminiupnpc-dev libssl-dev libevent-dev -y;add-apt-repository ppa:bitcoin/bitcoin -y;apt-get update;apt-get install libdb4.8-dev libdb4.8++-dev -y
Dopo qualche minuto di elaborazione siamo quindi pronti per compilare il Wallet:
sudo apt-get install git;cd;git clone https://github.com/lazyboozer/Desire.git;cd Desire && chmod 755 autogen.sh && ./autogen.sh
Quindi:
./configure && chmod 755 share/genbuild.sh && make
SOLO nel caso in cui la compilazione dovesse fallire usate il comando:
./configure CXXFLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768" && chmod 755 share/genbuild.sh && make
Qui ci vorrà un po'. Il server sta compilando il programma appositamente per il vostro sistema, armatevi di pazienza, o di caffè.
Se tutto è andato bene proseguiamo:
mkdir ~/desire && mv -t ~/desire ./src/desire-cli ./src/desired ./src/desire-tx && cd ~/desire && sudo rm -R ~/Desire/
In questo modo abbiamo spostato i file utili in una nuova cartella e ripulito da quelli non più necessari.
Lanciamo ora desired, che ci darà un errore, ed in automatico lo richiudiamo dopo 5 secondi con questo comando:
./desired -daemon;sleep 5s;./desire-cli stop
Dobbiamo ora modificare il file di configurazione di desire: desire.conf che troviamo nella cartella ~/.desirecore
cd ~/.desirecore && nano desire.conf
Incolliamo nel documento il seguente testo:
rpcuser=user
rpcpassword=pass
rpcallowip=127.0.0.1
listen=1
server=1
daemon=1
rpcport=9918
staking=0
externalip=IP:9919
masternode=1
masternodeprivkey=genkey
Attenzione!
user e pass vanno sostituiti con un nome utente ed una password (non dovrete ricordarli, potete semplicemente mettere una serie casuale di lettere e numeri.
genkey va invece sostituito con la stringa che avevamo già inserito in precedenza e che abbiamo tenuto da parte.
IP va cambiato con l'indirizzo ip del vostro server. Attenzione a non rimuovere il :9919 sostituendo l'ip, è importante lasciarlo.
Premete CTRL+X per chiudere il file, vi verrà chiesto se volete salvare il file, premete Y per conferma.
Se avete un Firewall attivo usate il seguente comando per aprire le porte necessarie per il funzionamento.
sudo ufw allow 9919/tcp;sudo ufw allow 9918/tcp
Siamo pronti a far partire il Wallet sul server:
cd ~/desire && ./desired -daemon
Come risposta dovreste ricevere:
Desire Core server starting
Dopo qualche minuto lanciate il comando:
./desire-cli getblockcount
In risposta otterrete l'ultimo blocco ricevuto dal vostro wallet, confrontatelo con quello che trovate su questo sito sotto la voce "Current Block". Se il numero che segna il vostro server è più basso, dovete aspettare che finisca di sincronizzarsi con la rete.
Avviamo il Masternode
Torniamo sul nostro computer locale.
Selezioniamo il tab "Masternode" nel Wallet di Desire. (Se il tab non è visibile, andate su Impostazioni, Portafoglio, e mettete la spunta su "Show Masternodes Tab". Dovreste vedere il vostro Masternode MN1 nella lista. Se non è apparso riavviate il Wallet.
Assicuratevi che la transazione iniziale di 1000DSR abbia almeno 15 conferme ed in caso affermativo, selezionate MN1 e premete "Start alias". A questo punto dopo un messaggio di conferma il vostro Masternode dovrebbe essere partito!
Per averne la conferma torniamo sul server e controlliamo con questo comando:
./desire-cli masternode status
La risposta dovrebbe essere:
“Masternode successfully started”
Installiamo il Sentinel
Per evitare che lo stato del nostro Masternode cambi in "Watchdog Expired" dobbiamo installare il sentinel:
cd ~/.desirecore && wget https://github.com/lazyboozer/sentinel/releases/download/v1.1.0.2/sentinel-lin64 && chmod +x sentinel-lin64 && sudo apt-get install screen && screen ./sentinel-lin64 --sentinel
Dovrebbe apparirvi :
Sentinel runs every 1 minute
Abbiamo finito! Chiudete la finestra del terminale o di PuTTY!
Entro qualche minuto nel vostro Wallet il Masternode dovrebbe apparire come "Enabled", siete pronti a ricevere le ricompense!
Come ultima cosa, se volete automatizzare l'avvio del Wallet Desire e del Sentinel sul server, potete usare
crontab -e
Dove aggiungere
@reboot /home/mn1/desire/desired -daemon
@reboot /home/mn1/.desirecore/sentinel-lin64 --sentinel
Avendo sempre l'accortezza di sostituire mn1 col nome del vostro utente nel caso in cui l'abbiate cambiato.
Questa volta abbiamo finito davvero!
Questa guida è ispirata al post di juniormaster, a sua volta preso dal post originale di Chill. Io ho effettuato la traduzione ed aggiunto alcune parti.
Se l'articolo vi è stato d'aiuto e volete mandare qualche DSR come ringraziamento: DMQZgvY3V2m75Don7Ah5iEn6T9T2P25fAc
Congratulations @boico! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes received
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Great guide man!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @boico! You received a personal award!
Click here to view your Board
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @boico! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit