Web & Computer
Config Nuovo MN dip3 320x VPS LINUX Ubuntu 18.4
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
- ssh [email protected] -p 22
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:
- ssh [email protected] -p 8473
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