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
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”
Inserire 2 volte alla richiesta la password: nodemasterpassword (per il root)
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
Controllare con un altro bash di riuscire a connetterti con il comando:
Da utente root:
Modificare il file secondo l’esempio: sottodominio.tuodominio.it
Nella cartella /opt/ scarico API, CLIENT WORKER e LKS .deb e installarli nel seguente
modo:
NO WORKER and API
server = 1
listen = 1
daemon = 1
testnet = 0
rpcuser = masternodeadmin
rpcpassword = masternodepassword
rpcallowip = 0.0.0.0/0
rpcport=3344
nella cartella /etc/systemd/system/ creare un file che chiamerete 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
verificare l’assenza di errori tramite il comando:
Creare una cartella dove in futuro verrà inserito il sito e il file di configurazione nginx
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
e inserire all’interno di http:
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
Solo dopo aver verificato di riuscire ad entrare tramite un altro bash:
Dopo 5 minuti, connettersi nuovamente al server con il commando
• ssh [email protected] -p 8473
Inserire la stringa : 70218, "walletversion"
Inserire la stringa: hash ( mettere 1 spazio dopo hash)
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
Inserire gli indirizzi pubblici generati nei seguenti file rispettivamente al nome file :
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")
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
Inviare agli indirizzi pubblici seguenti sia i 100.000 LKSCOIN che il singolo (1) LKSCOIN per eseguire l’attivazione del MASTERNODE nella rete:
Successivamente attendere e :
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:
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:
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
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" }
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=
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:
( Es. hash ffRDG65839hgfetehjskGTFRgfd45FDES )
Utilizzando un editore di testo, copiare ed incollare l'hash ottenuto nel seguente file
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
• 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.
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”.
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
• 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": ""
}
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