Vps Masternode Services

Web & Computer

Config Nuovo MN dip3 320x VPS LINUX Ubuntu 18.4

2020-12-12 13:09:06

Nuova guida alla configurazione dei Masternode LKSCOIN DIP3 versione 3200x per LINUX Ubuntu 18.4 - Update a ver. LKSC  3300

PREREQUISITI NECESSARI


Aggiormaneto: 15/05/2021  rel 3300.deb
La seguente procedura si compie dopo aver completato le operazioni indicate nella
Guida: “ Come creare e clonare un VPS Masternode Linux ”.
I seguenti comandi vanno inseriti tramite bash ssh, loggandosi con il comando

Installazione Dotnet


  •  wget –q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
  •  sudo apt-get update
  •  sudo dpkg -i packages-microsoft-prod.deb
  •  sudo apt-get install apt-transport-https
  •  sudo apt-get install software-properties-common
  •  sudo add-apt-repository universe
  •  sudo apt-get update
  •  sudo apt-get install dotnet-sdk-2.2

Installazione ultima versione stabile Nginx


  •  sudo apt-get install software-properties-common
  •  sudo add-apt-repository ppa:nginx/stable
  •  sudo apt update
  •  sudo apt install nginx


Creazione utente: nodemaster


  •  useradd -m nodemaster
  •  passwd nodemaster


A richiesta inserire 2 volte la password: nodemasterpassword

nano /etc/sudoers

Aggiungere la linea: nodemaster ALL=(ALL:ALL) ALL subito dopo la stringa “root
ALL=(ALL:ALL) ALL”

  •  usermod -aG sudo nodemaster (da privilegi sudo)
  •  sudo chsh -s /bin/bash nodemaster
  •  sudo chsh -s /bin/bash root
  •  passwd


Inserire 2 volte alla richiesta la password: nodemasterpassword (per il root)

Cambio porta: 8473



Da utente  root:
nano / etc/ssh/sshd_config

Modificare all’altezza di Port 22, eliminando il commento e sostituendo con 8473
Disattivare il login da root alla voce: PermitRootLogin no, sostituendolo con
PermitRootLogin no

Salvare

  •  service sshd restart


Controllare con un altro bash di riuscire a connetterti con il comando:


Verifica Host


Da utente root:

  •  nano /etc/hostname

Modificare il file secondo l’esempio: sottodominio.tuodominio.it

Copia della cartella LKS


Nella cartella /opt/ scarico API, CLIENT WORKER e LKS .deb e installarli nel seguente
modo:

  •  sudo wget https://www.lkschain.io/downloads/LKSCoinCore_3300.deb --no-check-certificate
  •  sudo wget https://www.lkschain.io/downloads/client1016.deb --no-check-certificate
  •  sudo dpkg -i LKSCoinCore_3300.deb
  •  sudo dpkg -x client1016.deb /opt/LocalAddressExplorer.Core


NO WORKER and API

Creazione del File di configurazione LKS


  •  mkdir /home/nodemaster/.lkscore
  •  sudo chmod -R 777 /home/nodemaster/.lkscore
  •  cd /home/nodemaster/.lkscore
  •  sudo nano lks.conf

server = 1
listen = 1
daemon = 1
testnet = 0
rpcuser = masternodeadmin
rpcpassword = masternodepassword
rpcallowip = 0.0.0.0/0
rpcport=3344

Creazione del service dell’LKS


nella cartella /etc/systemd/system/ creare un file che chiamerete lksd.service

  •  cd /etc/systemd/system/
  •  sudo nano lksd.service

al suo interno scrivere questo:



[Unit]
Description=LKSCoinCore
After=network.target
[Service]
Type=forking
User=nodemaster
Group=nodemaster
Restart=always
RestartSec=3
Environment=BITCOIN_PID=/home/nodemaster/.lkscore/lkscore.pid
Environment=BITCOIN_HOME=/home/nodemaster/.lkscore
ExecStart=/bin/lksd
ExecStop=/bin/kill -15 $MAINPID
[Install]
WantedBy=multi-user.target

  •  cd /etc/systemd/system/
  •  sudo systemctl enable lksd.service
  •  sudo systemctl start lksd.service

verificare l’assenza di errori tramite il comando:

  •  sudo systemctl status lksd.service


????? Configurazione NGINX ?????


Creare una cartella dove in futuro verrà inserito il sito e il file di configurazione nginx

  •  sudo chmod -R 777 /opt/LocalAddressExplorer.Core/WWW/
  •  cd /opt/LocalAddressExplorer.Core/
  •  sudo nano masternode.nginx.conf

e incollare queste configurazioni:
resolver 8.8.8.8;
server {
    listen 80;
    server_name ~^ _;
    root /opt/LocalAddressExplorer.Core/WWW/SSL/LetsEncrypt;

    location /.well-known/acme-challenge {
    alias '/opt/LocalAddressExplorer.Core/WWW/SSL/LetsEncrypt';
    }
    location / {
         return 301 https://$host$request_uri;
    }
}
server {

listen 443 ssl;
     server_name _;
     ssl_certificate
/opt/LocalAddressExplorer.Core/WWW/SSL/$ssl_server_name.crt;
     ssl_certificate_key
/opt/LocalAddressExplorer.Core/WWW/SSL/$ssl_server_name.key;

location / {
root /opt/LocalAddressExplorer.Core/WWW/;
index index.html;
}

location /api {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;

proxy_set_header X-NginX-Proxy true;

proxy_pass http://127.0.0.1:2222 ;

    }
}


mettere l’include nell’ nginx originale

  • sudo nano /etc/nginx/nginx.conf

e inserire all’interno di http:

  • include /opt/LocalAddressExplorer.Core/masternode.nginx.conf;


Nuova LKS index page
cd /tmp
 wget https://www.lkschain.io/downloads/index.html --no-check-certificate
 wget https://www.lkschain.io/downloads/logo.png --no-check-certificate

cd /opt/LocalAddressExplorer.Core/
sudo tar -cvf WWW_bck.tar WWW
sudo chown -R  nodemaster:nodemaster WWW_bck.tar
cd WWW
rm index.html
cp /tmp/index.html /opt/LocalAddressExplorer.Core/WWW
cp /tmp/logo.png /opt/LocalAddressExplorer.Core/WWW
 chmod 777 index.html
 chmod 777 logo.png

Settaggio Firewall


  • sudo apt install ufw
  • sudo ufw default allow outgoing
  • sudo ufw default deny incoming
  • sudo ufw allow 8473
  • sudo ufw allow 443
  • sudo ufw allow 80
  • sudo ufw allow 9400
  • sudo ufw allow 3344
  • sudo ufw status verbose
  • sudo ufw enable

Riavvio server


Solo dopo aver verificato di riuscire ad entrare tramite un altro bash:

  • history -c
  • sudo reboot now

Dopo 5 minuti, connettersi nuovamente al server con il commando
• ssh [email protected] -p 8473

Priv Key Prepare


  • cd /home/nodemaster/.lkscore/
  • mkdir fordeterm
  • nano  /home/nodemaster/.lkscore/fordeterm/MNrelease_2.txt

Inserire la stringa  :     70218, "walletversion"

  • nano /home/nodemaster/.lkscore/NewAddressMNdeterministico.txt

Inserire la stringa:   hash   ( mettere 1 spazio dopo hash)

  • touch /home/nodemaster/.lkscore/fordeterm/FeePayADD.txt
  •  touch /home/nodemaster/.lkscore/fordeterm/OtherADD.txt
  • touch /home/nodemaster/.lkscore/fordeterm/OwnerAndVotingADD.txt
  • touch /home/nodemaster/.lkscore/fordeterm/Collateral.txt
  • nano /home/nodemaster/.lkscore/fordeterm/outputs.txt
  • nano /home/nodemaster/.lkscore/fordeterm/blsgen.txt
  • nano /home/nodemaster/.lkscore/fordeterm/mnipaddress.txt
  • nano /home/nodemaster/.lkscore/fordeterm/result_cmd3.txt

CONFIGURAZIONE ed ATTIVAZIONE MASTERNODE DETERMINISTICO DIP3


NOTA: Da questo momento in poi si consiglia di prendere nota dei risultati ovvero dei vostri indirizzi generati eseguendo un backup su file ed eseguire anche una copia cartacea depositando il tutto in luogo sicuro

GENERARE INDIRIZZI Pubblici del Masternode


  •  lks-cli getnewaddress "Collateral"
  •  lks-cli getnewaddress "OwnerAndVoting"
  •  lks-cli getnewaddress "Other"
  •  lks-cli getnewaddress "FeePay"

  
Inserire gli indirizzi pubblici generati nei seguenti file rispettivamente al nome file :

  •  nano /home/nodemaster/.lkscore/fordeterm/FeePayADD.txt
  •  nano /home/nodemaster/.lkscore/fordeterm/OtherADD.txt
  •  nano /home/nodemaster/.lkscore/fordeterm/OwnerAndVotingADD.txt
  •  nano /home/nodemaster/.lkscore/fordeterm/Collateral.txt


VISUALIZZARE le CHIAVI PRIVATE degli indirizzi create del MASTERNODE


Nella barra digitare i seguenti comandi:
NOTA: Inserire gli appropriati indirizzi creati al passo precedente facendo attenzione alla sintassi dove le “ sono da mettere nel comando (Es. dumpprivkey "XyTred234GV………Frdrtgdfrsr")

  •  lks-cli dumpprivkey "address Colateral"
  •  lks-cli dumpprivkey "address Owner&Voting"
  •  lks-cli dumpprivkey "address Other"
  •  lks-cli dumpprivkey "address FeePay"

                                                                                                                                                                                                                                                                                                    Fig. G

NOTA: si consiglia di prendere nota dei risultati ovvero dei vostri indirizzi generati eseguendo un backup su file ed eseguire anche una copia cartacea depositando il tutto in luogo sicuro

ATTIVAZIONE MASTERNODE


Inviare agli indirizzi pubblici seguenti sia i 100.000 LKSCOIN che il singolo (1) LKSCOIN per eseguire l’attivazione del MASTERNODE nella rete:

  •  inviare 100.000 (esatti) al  Collateral address generato 
  •  inviare 1 LKSC al  FeePay address generato in fig. F

Successivamente attendere e :

  •  verificare l'arrivo dei 100000 + 1 LKSCOIN 
  •  accertarsi che siano passati almeno 15 blocchi di conferma 





CONFIGURAZIONI DIP3 STEP PREPARE


Lanciare il seguente comando e prendere nota del risultato, OUTPUTS step :
lks-cli masternode outputs
Esempio di risultato di cui prendere nota:
{ "e0f87……………………………………………………d8051957f8": "1" }
Utilizzando un editore di testo, copiare ed incollare il risultato del comando, successivamente  se il copia incolla ha portato dei capoversi, rimuoverli prestando attenzione agli spazi. In questo modo si avrà il risultato su un unica intera riga. Quindi copiare questa riga ed inserirla nel file seguente:

  • nano /home/nodemaster/.lkscore/fordeterm/outputs.txt



Lanciare il seguente comando prendere nota del risultato, BLS step :
lks-cli bls generate
Esempio di risultato di cui prendere nota:
{ "secret": "110c621c7b……………………………………………..d920b77015f0d2d", "public": "042cca8d95f…………………………………………………………………..5e74564ced968f0696c" }

Utilizzando un editore di testo, copiare ed incollare il risultato del comando, successivamente  se il copia incolla ha portato dei capoversi, rimuoverli prestando attenzione agli spazi. In questo modo si avrà il risultato su un unica intera riga. Quindi copiare questa riga ed inserirla nel file seguente:

  • nano /home/nodemaster/.lkscore/fordeterm/blsgen.txt


RIASSUNTO DEI DATI GENERATI

Arrivati a questo punto abbiamo acquisito i seguenti dati di cui abbiamo preso nota :
NOTA:  utilizzare un file di testo per generare i comandi ed eseguirli una volta sicuri della sintassi

- INDIRIZZO IP: 10.111.0.0 ( vostro IP pubblico)
- OUTPUT STRING: e0f87……………………………………………………d8051957f8 (da esempio sopra)
- OUTPUT ID:   1   (da esempio sopra)
- BLS CODE public:  042cca8d95f…………………………………………..5e74564ced968f0696c (da esempio sopra)
- INDIRIZZI LKSCOIN:  Owner&Voting, Other, FeePay  (i 3 Indirizzi pubblici)

Utilizzando un editore di testo, copiare ed incollare l'indirizzo IP del server (10.192.xxx.xxx) nel seguente file

  • nano /home/nodemaster/.lkscore/fordeterm/mnipaddress.txt


CONFIGURAZIONI DIP3 STEP 1


Grazie ai dati acquisiti e riassunti fino a questo punto, saremo in grado di costruire un comando abbastanza lungo contenente i dati così impostati nell’esatta sequenza. 
Quindi mediante un file di testo, preparare il seguente comando da poter lanciare per intero facendo attenzione alla sintassi:


lks-cli protx register_prepare
                ‘masternode output string
                ‘masternode output id (numero)
                ‘ip del computer/server’:940
                ‘indirizzo Owner&Voting
                ‘bls generate public key
                ‘indirizzo Owner&Voting
                0
                ‘indirizzo Other
                ‘indirizzo FeePay


NOTA:  utilizzare un file di testo per generare i comandi ed eseguirli una volta sicuri della sintassi. Attenzione ai copia ed incolla. I caratteri come il doppio apice “”, potrebbe non esser correttamente riportato "" . Si consiglia di editarlo nuovamente sul file di testo.

(Es. di comando scritto su unica riga rispettando spazi, gli apici e posizione dei dati)


lks-cli protx register_prepare  "e0f………d8051957f8" “ 1”  "108.x.x.32:9400"  "Xn7………ijeNW"   "04………696c" " Xn7…..ijeNW"  0  "Xag……8cfgJ" "XipQ……..mUsqW

lks-cli protx register_prepare  “e0f………d8051957f8”   “1”   “108.x.x.32:9400 “  “Xn7………ijeNW”   “04………696c   Xn7…..ijeNW”  0  “Xag……8cfgJ XipQ……..mUsqW” 



Una volta pronti, lanciare il comando completo sulla console di debug e prendere nota del risultato.

Il risultato sarà composta da 3 dati:  tx, collateralAddress e signMessage



Esempio di risultato di cui prendere nota (Fig. L) :

{ "tx": "030001000…………………………………….0001976a914592f1f7a43d1fe436299d506f0c281c……………………………………..5d8ba89c3fee2ce35a5ccb3331dc2762b2629d14fe4312d3bdb72f8e0010000000000………………………………0566dbf25befb05fc042cca8d95f0b974f41f…………………………………….6222b1dd310d70566dbf25befb05fc00001976a9140002a8e…………………..4b4134413571ea6534e88ac1cc49df7edd720c8859379ae……………ca00", "collateralAddress": "Xhz3j………………..Gf5C",
"signMessage": "Xagu……..LtYQKTp8cfgJ|0|Xn71…………………..WdrmKi2ijeNW|ce8bce52732………………………..28bdb9b73b4" }

CONFIGURAZIONE DIP3 STEP 2


Una volta preso nota del risultato precedente ed in particolare dei codici corrispondenti a:
- collateralAddress ( Risultato collateraladdress dello step 1 )
- signMessage ( Risultato sig message dello step 1)
Mediante un file di testo, preparare il seguente secondo comando da poter lanciare per intero facendo attenzione alla sintassi:
lks-cli signmessage
                '"protx register_prepare collaterlaAddress"'
                '"protx register_prepare signMessage"'


NOTA:  utilizzare un file di testo per generare i comandi ed eseguirli una volta sicuri della sintassi. Attenzione ai copia ed incolla. I caratteri come il doppio apice “”, potrebbe non esser correttamente riportato "" . Si consiglia di editarlo nuovamente sul file di testo.
(Es. di comando scritto su unica riga rispettando spazi, pipe | e posizione dei dati)

lks-cli signmessage "Xt………………Gf5C" "XcwfTk…………..8cfgJ |0|XihVP5……………..kDn3rj|XihV……….jeNW|bbf092c………………73b4"

lks-cli signmessage “Xt………………Gf5C” "XcwfTk…………..8cfgJ |0|XihVP5……………..kDn3rj|XihV……….jeNW|bbf092c………………73b4"

Una volta pronti, lanciare il comando completo sulla console di debug e prendere nota del risultato.

Il risultato sarà :  una firma che chiameremo  “sign”  

Esempio di risultato di cui prendere nota (Fig. M in giallo) :

H24X2xqrOAkul……….t+d+XD+I26……..Ig/qY8t………….MY=

CONFIGURAZIONE DIP3 STEP 3

Una volta preso nota del risultato precedente ed in particolare dei codici corrispondenti a:
- protx register_prepare tx  ( Risultato tx dello step 1)
- signmessage sign ( Risultato sign dello step 2)
Mediante un file di testo, preparare il seguente secondo comando da poter lanciare per intero facendo attenzione alla sintassi:

lks-cli protx register_submit
                '"protx register_prepare tx"'
                'signmessage sign'


NOTA: Attenzione mettere le il doppio apice(")    " protx_register_prepare tx"


NOTA:  utilizzare un file di testo per generare i comandi ed eseguirli una volta sicuri della sintassi. Attenzione ai copia ed incolla. I caratteri come il doppio apice “”, potrebbe non esser correttamente riportato >"" . Si consiglia di editarlo nuovamente sul file di testo.
(Es. di comando scritto su unica riga rispettando spazi, pipe | e posizione dei dati)
 lks-cli protx register_submit "03000…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….ca00 H24X2xqrOAkul……….t+d+XD+I26……..Ig/qY8t………….MY=


lks-cli protx register_submit "03000……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….ca00" H24X2xqrOAkul……….t+d+XD+I26……..Ig/qY8t………….MY=

Il risultato sarà :  L’ HASH della transazione di cui prendere nota ai fini di bck

Inserire l’HASH generato nel seguente file:

  • nano /home/nodemaster/.lkscore/NewAddressMNdeterministico.txt

( Es.  hash  ffRDG65839hgfetehjskGTFRgfd45FDES )

Utilizzando un editore di testo, copiare ed incollare l'hash ottenuto nel seguente file

  • nano /home/nodemaster/.lkscore/fordeterm/result_cmd3.txt


Arrivati a questo punto gli step DIP3 sono terminati e sarà sufficiente attendere la convalida di un blocco ed il masternode è in rete.

Esempio di risultato di cui prendere nota (Fig. N) :
34a0……………………………………………………………………………………….54d3

CIFRATURA WALLET


• lks-cli encryptwallet “la mia pass phrase”
Risposta: 
Wallet encrypted; Lksc Core server stopping, restart to run with encrypted wallet. The keypool has been flushed and a new HD seed was generated (if you are using HD). You need to make a new backup.

CONFIGURAZIONE DEL FILE LKS.CONF


Eseguire la configurazione del  file conf del wallet con i parametri indicati in figura:




NOTA: Si consiglia di fare una copia di backup del file originale prima di modificarlo in modo da poter avere sempre un punto di riferimento. Basterà il file “lks.conf” rinominandolo in “lks.conf_orig”.

  • nano /home/nodemaster/.lkscore/lks.conf


Masternode bls priv key details

aggiungere alla fine del file la riga : 
 masternodeblsprivkey = parametro secret di bls generate 
Questo dato è stato generato nel paragrafo apposito “CONFIG DIP3 STEP PREPARE”, di cui il risultato del comando contiene la nostra secret :
Esempio di risultato di cui si è preso nota:
{ "secret": "110c621c7b……………………………………………..d920b77015f0d2d", "public": "042cca8d95f……………………………………………………………………………..5e74564ced968f0696c" }

Esempio di riga da inserire con il proprio codice ma senza spazi
masternodeblsprivkey=110c621c7b……………………………………………..d920b77015f0d2d


Conclusione 


• lks-cli stop
• (attendere qualche secondo)
• lks-cli -getinfo
Risultato
{
  "deprecation-warning": "WARNING: getinfo is deprecated and will be fully removed in a future version. Projects should transition to using getblockchaininfo, getnetworkinfo, and getwalletinfo.",
  "version": 3030001,
  "protocolversion":  70218,
  "blocks": 341352,
  "timeoffset": 0,
  "connections": 8,
  "proxy": "",
  "difficulty": 164799.1615003374,
  "testnet": false,
  "paytxfee": 0.00000000,
  "relayfee": 0.00001000,
  "errors": ""
}


TEST


Copiando  l'hash dell'invio generato al paragrafo “CONFIGURAZIONE DIP3 STEP3”, 
inserendolo nella barra di ricerca della “tabs masternode”  sul wallet LKSCore
vedremo lo stato del nostro masternode che dovrà essere “ABILITATO” come mostrato in figura

Esempio di risultato di cui prendere nota:
34a0……………………………………………………………………………………….54d3

Contatti: