DESIRE - VPS Masternode - Guida in ITALIANO

in #desire6 years ago (edited)

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

Sort:  

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

Upvote this notification to help all Steemit users. Learn why here!

Great guide man!

Congratulations @boico! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

Click here to view your Board

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @boico! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

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!

Coin Marketplace

STEEM 0.16
TRX 0.13
JST 0.027
BTC 59466.22
ETH 2616.54
USDT 1.00
SBD 2.44