Configurazione Evonode#
La configurazione di un masternode Evolution richiede una conoscenza di base di Linux e della tecnologia blockchain, nonché la capacità di seguire attentamente le istruzioni. Richiede inoltre una manutenzione regolare e un’attenta sicurezza, in particolare se non conservi il tuo Dash su un wallet hardware. Ci sono alcune decisioni da prendere lungo il percorso e passaggi aggiuntivi facoltativi da intraprendere per una maggiore sicurezza.
I servizi di hosting masternode sono disponibili se preferisci delegare il funzionamento quotidiano del tuo evonode a un operatore professionale. Quando utilizzi questi servizi di hosting, mantieni il pieno controllo della garanzia DASH e paghi all’operatore una percentuale concordata della tua ricompensa. È anche possibile delegare le proprie chiavi di voto a un rappresentante, consultare la documentazione sulla governance per ulteriori informazioni.
Prima di iniziare#
Questa guida presuppone che tu stia configurando per la prima volta un singolo masternode Evolution della mainnet. Se stai aggiornando un masternode, vedi invece qui. Avrai bisogno:
4000 Dash
Un wallet per conservare il tuo Dash, preferibilmente un wallet hardware, sebbene sia supportato anche il wallet Dash Core
Un server Linux, preferibilmente un server privato virtuale (VPS)
Per informazioni sui masternode ospitati, consultare la documentazione elencata di seguito:
This documentation describes the Dash Core commands as if they were entered in
the GUI by opening the console from Window > Console, but the same result
can be achieved on a masternode by entering the same commands and adding the
prefix ~/.dashcore/dash-cli to each command.
Configurazione del server#
La corretta configurazione del server è essenziale per il successo del funzionamento del masternode sia per motivi di sicurezza che di prestazioni. Fai riferimento alla pagina Configurazione del server per i dettagli su come preparare il tuo server per ospitare un masternode.
Una volta completata la configurazione del server, completa i passaggi rimanenti nelle sezioni seguenti per completare la configurazione del tuo evonode o segui questo tutorial passo passo.
Invia il collaterale#
Per far funzionare un masternode Evolution è necessario un indirizzo Dash con un singolo output di transazione non speso (UTXO) di esattamente 4000 DASH. Una volta inviato, è necessario estrarre diverse chiavi relative alla transazione per poi inserirle in un file di configurazione e registrare la transazione come prova per scrivere la configurazione sulla blockchain in modo che il masternode Evolution possa essere incluso nella lista deterministica.
Un masternode può essere registrato da un wallet hardware o dal wallet ufficiale Dash Core, sebbene un wallet hardware sia altamente raccomandato per migliorare la sicurezza e proteggersi dagli attacchi hacker. Questa guida descriverà i passaggi sia per i wallet hardware che per Dash Core.
Opzione 1: conservare il collaterale in un wallet hardware#
Configura il tuo Trezor utilizzando il wallet Trezor su https://wallet.trezor.io/ e invia una transazione di prova per verificare che funzioni correttamente. Per assistenza in merito, consulta :ref:`questa guida ` - puoi anche scegliere (con attenzione!) `aggiungere una passphrase<https://blog.trezor.io/passphrase-the-ultimate-protection-for-your-accounts-3a311990925b>`_ al tuo Trezor per proteggere ulteriormente la tua garanzia. Crea un nuovo account nel tuo wallet Trezor facendo clic su Aggiungi account. Quindi fai clic sulla scheda Ricevi e invia esattamente 4000 DASH all’indirizzo visualizzato. Se stai configurando più masternode, invia a indirizzi consecutivi all’interno dello stesso nuovo account. Dovresti vedere la transazione non appena arriva la prima conferma, solitamente entro pochi minuti.
Wallet Receive tab showing successfully received collateral#
Una volta visualizzata la transazione, fai clic sul codice QR a destra per visualizzare la transazione sulla blockchain. Mantieni questa finestra aperta mentre completiamo i passaggi successivi, poiché presto dovremo confermare che esistono 15 conferme, come mostrato nello screenshot seguente.
Blockchain explorer showing 15 confirmations for collateral transfer#
Mentre aspettiamo 15 conferme, scarica l’ultima versione di Dash Masternode Tool (DMT) dalla pagina delle versioni di GitHub. Decomprimere ed eseguire il file. Viene visualizzata la seguente finestra.
Schermata di avvio di Dash Masternode Tool#
Click the third button from the left Check Dash Network Connection in the top left corner of the main window to verify that the connection is working. Then connect your Trezor device and click the next button Test Hardware Wallet Connection to verify the hardware wallet connection is working.
Conferma di connessione riuscita col Dash Masternode Tool#
Utilizzeremo ora DMT per inserire alcune informazioni di base sul masternode ed estrarre l’ID della transazione. Innanzitutto, fai clic su aggiungi uno nuovo o fai clic su Azioni MN e seleziona Aggiungi nuova voce Masternode…. Eseguire la seguente sequenza di passaggi come mostrato nello screenshot:
Inserisci un nome per il tuo masternode. Il nome host specificato sopra per il tuo VPS è una buona scelta.
Seleziona il tipo di masternode che stai configurando.
Inserisci l’indirizzo IP del tuo masternode. Questo ti è stato fornito dal provider VPS quando hai configurato il server. Quindi inserisci il numero della porta TCP. Dovrebbe essere 9999 per mainnet.
Fai clic su Trova garanzie per visualizzare le transazioni di finanziamento delle garanzie non utilizzate disponibili sul wallet hardware connesso. Seleziona l’indirizzo a cui hai inviato la garanzia e fai clic su Applica. I campi Indirizzo collaterale, percorso, Hash TX collaterale e indice devono essere compilati automaticamente.
Dash Masternode Tool con configurazione Masternode#
Lasciare DMT aperto e continuare con il passo successivo: Installazione del software.
Opzione 2: detenere il collaterale nel wallet Dash Core#
Attenzione
Storing your collateral in a Dash Core wallet is not recommended. Using a hardware wallet is highly recommended to enhance security and protect yourself against hacking. Only proceed with using Dash Core if you understand the risks.
Dash Core collateral instructions
Apri il wallet Dash Core e attendi che si sincronizzi con la rete. Dovrebbe assomigliare a questo quando è pronto:
Wallet Dash Core completamente sincronizzato#
Fai clic su Finestra > Console per aprire la console. Digita il seguente comando nella console per generare un nuovo indirizzo Dash per il materiale collaterale:
getnewaddress
yiFfzbwiN9oneftd7cEfr3kQLRwQ4kp7ue
Prendi nota dell’indirizzo collaterale, poiché ne avremo bisogno in seguito. Il prossimo passo è proteggere il tuo wallet (se non l’hai già fatto). Innanzitutto, crittografa il portafoglio selezionando Impostazioni > Crittografa wallet. Dovresti utilizzare una password nuova e complessa che non hai mai utilizzato altrove. Prendi nota della tua password e conservala in un posto sicuro, altrimenti rimarrai permanentemente bloccato fuori dal tuo wallet e perderai l’accesso ai tuoi fondi. Successivamente, esegui il backup del file del tuo wallet selezionando File > Backup wallet. Salva il file in un luogo sicuro fisicamente separato dal tuo computer, poiché questo sarà l’unico modo per accedere ai nostri fondi se succede qualcosa al tuo computer. Per ulteriori dettagli su questi passaggi, vedere qui.
Ora invia esattamente 4000 DASH in un’unica transazione al nuovo indirizzo che hai generato nel passaggio precedente. Questo può essere inviato da un altro wallet o da fondi già detenuti nel tuo wallet attuale. Una volta completata la transazione, visualizza la transazione in un blockchain explorer cercando l’indirizzo. Avrai bisogno di 15 conferme prima di poter registrare il masternode, ma a questo punto puoi già procedere con il passaggio successivo: generare la tua chiave operatore masternode.
Blockchain explorer showing 15 confirmations for collateral transfer#
Installazione Masternode#
Dash Platform includerà più servizi che devono essere configurati correttamente affinché un masternode Evolution funzioni correttamente. Si consiglia un installazione basata su dashmate per garantire che la configurazione sia funzionale.
installazione Dashmate#
Dashmate è uno strumento universale progettato per aiutarti a configurare ed eseguire i nodi Dash in un ambiente containerizzato. Si basa sulla tecnologia Docker e presenta un comando di configurazione interattivo. Dashmate gestisce l’installazione di Dash Core, nonché tutte le dipendenze e i servizi di supporto. Consulta questa documentazione dashmate per ulteriori informazioni.
Apri nuovamente PuTTY o una console e connettiti al server utilizzando il nome utente e la password che hai appena creato per il tuo nuovo utente non root. Inizia installando le dipendenze di Dashmate:
curl -fsSL https://get.docker.com -o get-docker.sh && sh ./get-docker.sh
sudo usermod -aG docker $USER
newgrp docker
Download the dashmate installation package for your CPU architecture from the GitHub releases page and install it using apt:
wget https://github.com/dashpay/platform/releases/download/v3.0.1/dashmate_3.0.1.0a60b4dd1-1_amd64.deb
sudo apt update
sudo apt install ./dashmate_3.0.1.0a60b4dd1-1_amd64.deb
Nota
At the end of the installation process, apt may display an error due to installing a downloaded package. You can ignore this error message:
N: Download is performed unsandboxed as root as file '/home/ubuntu/dashmate_3.0.1.0a60b4dd1-1_amd64.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
Opzioni di installazione alternative sono disponibili nella dashmate page.
Continua con il Passaggio di registrazione per impostare il collaterale, le chiavi e costruire la transazione ProTx richiesta per abilitare il tuo masternode.
Registra il tuo masternode#
Le chiavi richieste per i diversi ruoli masternode sono descritte brevemente in Concetti di Masternode in questa documentazione.
Opzione 1: registrazione da un wallet hardware#
Torna a DMT e assicurati che tutti i campi del passaggio precedente siano ancora compilati correttamente. Fai clic su Genera nuovo per le chiavi private richieste per il masternode:
Chiave privata del proprietario
Chiave privata dell’operatore
Chiave privata di voto
Chiave privata del nodo della Platform (solo evonodes)
Per gli evonode, fare clic sul pulsante accanto ai campi Porta P2P Platform e Porta HTTP Platform per impostare i valori predefiniti.
Fai clic su Applica modifiche una volta impostati questi campi.
Dash Masternode Tool pronto per registrare un nuovo masternode#
Then click MN actions and select Register masternode. Optionally specify a different Payout address and/or Operator reward, then click Continue.
Importante
Assigning a payout address from a non-hardware wallet like Dash Core is recommended for the initial release of Dash Platform. Currently, the Dash Masternode Tool does not support the credit withdraw process that will be used to transfer Dash Platform rewards.
Select Remote Dash RPC Node (automatic method). (For details about using your own local RPC node, see the Dash Masternode Tool documentation.) Confirm the following two messages:
Dash Masternode Tool finestre di dialogo di conferma per registrare un masternode#
Configurazione completa del server#
A questo punto la registrazione del masternode è completa, ma è necessario aggiungere la chiave privata BLS al server affinché possa diventare operativo. La chiave BLS consente al masternode di monitorare la blockchain per le transazioni Pro*Tx rilevanti e farà sì che inizi a fungere da masternode quando il ProRegTx firmato viene trasmesso dal proprietario, come abbiamo appena fatto sopra.
Take note of your BLS private key and then proceed with the relevant instructions below.
Dashmate#
Per i masternode basati su Dashmate, inserisci la chiave privata BLS durante il processo di configurazione iniziale di Dashmate. Esegui la procedura guidata di configurazione di Dashmate sul tuo server:
dashmate setup
Seleziona la rete e il tipo di masternode. Seleziona Sì quando ti viene chiesto se il tuo masternode è già registrato poiché ciò è stato fatto in precedenza nella sezione.
Inserisci la chiave privata BLS e la chiave del nodo Platform da DMT quando richiesto da dashmate.
Dashmate rileverà automaticamente l’indirizzo IP esterno e selezionerà le porte predefinite per la rete che stai configurando. È possibile modificare questi valori se necessario per un motivo specifico, ma in genere è necessario utilizzare i valori predefiniti.
Una volta completata correttamente la procedura guidata di Dashmate, avvia il tuo nodo come segue:
dashmate start
Puoi gestire lo stato, la configurazione e lo stato di esecuzione del tuo masternode interamente da Dashmate. Consulta la documentazione sul funzionamento del nodo dashmate :hoverxref:<dashmate-node-operation>`per i dettagli.
Opzione 2: registrazione da Dashmate#
Attenzione
Per i masternode della rete principale, si consiglia vivamente di memorizzare il materiale collaterale su un wallet hardware e utilizzare lo strumento Dash Masternode per registrarsi come descritto in Opzione 1: registrazione da un wallet hardware.
Dashmate può assistere con la registrazione del masternode richiedendo i parametri necessari per costruire un comando protx valido che può essere inviato da Dash Core. Questa opzione è molto utile per impostare masternode testnet in cui il collaterale è archiviato in Dash Core anziché in un wallet hardware.
Raccogli le informazioni richieste#
Prima di eseguire la procedura guidata di configurazione di Dashmate è necessario ottenere informazioni sulla transazione collaterale e gli indirizzi del proprietario, della votazione e dei pagamenti per il nuovo evonode. Ad esempio, utilizza Dash Core per generare gli indirizzi come descritto nella sezione Ottieni indirizzi masternode.
Esegui la procedura guidata di configurazione#
Per iniziare la configurazione del masternode, esegui dashmate setup per avviare la procedura guidata interattiva:
dashmate setup
Ti verrà richiesto di selezionare una rete, un tipo di nodo, un indirizzo IP e una chiave privata BLS. Quando imposti un masternode non registrato, ti verranno richieste anche le informazioni sulla transazione collaterale e gli indirizzi del proprietario, del voto e dei pagamenti.
Immettere le informazioni richieste o accettare i valori predefiniti rilevati/generati. Per un esempio che mostra tutti i passaggi della procedura guidata di configurazione, fare riferimento alla sezione dashmate.
Invia il ProRegTx#
La procedura guidata di Dashmate genererà un comando che puoi utilizzare per inviare la transazione speciale di registrazione del provider che registra il masternode sulla rete. Copia il comando protx fornito ed eseguilo utilizzando dash-cli o la console Dash Core.
Comando di registrazione#
Avvia il nodo#
Una volta completata correttamente la procedura guidata di Dashmate, avvia il tuo nodo come segue:
dashmate start
Puoi gestire lo stato, la configurazione e lo stato di esecuzione del tuo masternode interamente da Dashmate. Consulta la documentazione sul funzionamento del nodo dashmate :hoverxref:<dashmate-node-operation>`per i dettagli.
Opzione 3: registrazione dal wallet Dash Core#
Attenzione
Per i masternode della rete principale, si consiglia vivamente di memorizzare il materiale collaterale su un wallet hardware e utilizzare lo strumento Dash Masternode per registrarsi come descritto in Opzione 1: registrazione da un wallet hardware.
If you prefer managing the collateral and keys using Dash Core, the following sections show how to generate and retrieve information that may be required by dashmate or the Dash Masternode Tool.
Identificare la transazione di finanziamento#
Se hai utilizzato un indirizzo nel wallet Dash Core per la transazione collaterale, ora devi trovare il txid della transazione. Fai clic su Finestra > Console e inserisci il seguente comando:
masternode outputs
Questo dovrebbe restituire una stringa di caratteri simile alla seguente:
{
"16347a28f4e5edf39f4dceac60e2327931a25fdee1fb4b94b63eeacf0d5879e3-1",
}
La prima stringa lunga è il tuo collateralHash, mentre l’ultimo numero è il collateralIndex.
Genera una coppia di chiavi BLS#
Per utilizzare un masternode è necessaria una coppia di chiavi BLS pubblica/privata. La chiave privata è specificata sul masternode stesso, e permette di inserirlo nella lista deterministica dei masternode una volta creata una transazione di registrazione del provider con la corrispondente chiave pubblica.
Se stai utilizzando un servizio di hosting, potrebbero fornirti la loro chiave pubblica e puoi saltare questo passaggio. Se stai ospitando il tuo masternode o hai accettato di fornire al tuo host la chiave privata BLS, genera una coppia di chiavi pubblica/privata BLS in Dash Core facendo clic su Strumenti > Console e inserendo il seguente comando:
bls generate
{
"secret": "6d93ececa9993d9f1de4f3ae837115442a48a8e4c757ebb6261090af2f57547b",
"public": "b4dfbe01becd50c9d754c3b87f9d6728f3bff30b8b820f894e1fd249fd11aa27b0b4145ad550cbc35e9796e60329ad0a",
"scheme": "basic"
}
Avvertimento
Queste chiavi NON vengono archiviate nel wallet e devono essere sottoposte a backup e mantenute al sicuro.
Genera un ID nodo Platform#
Il seguente comando genererà una nuova chiave P2P utilizzando Tenderdash e la visualizzerà sullo schermo:
docker run --entrypoint /usr/bin/tenderdash --rm -ti dashpay/tenderdash gen-node-key
{"id":"1e8e241c05ca350c8fe0b8ba4680e7652673dae2","priv_key": ...
Salva il valore contenuto nel campo id per utilizzarlo come platformNodeID.
In alternativa, è possibile utilizzare i seguenti comandi per generare la chiave P2P, salvarla in privkey.pem e generare platformNodeID in formato esadecimale:
openssl genpkey -algorithm ed25519 -out privkey.pem
openssl pkey -in privkey.pem -noout -text_pub |tail -n +3 | tr -d '[:space:]' | xxd -r -p| sha256sum | head -c 40
1e8e241c05ca350c8fe0b8ba4680e7652673dae2
Avvertimento
Queste chiavi NON vengono archiviate nel wallet e devono essere sottoposte a backup e mantenute al sicuro.
Ottieni gli indirizzi masternode#
Indirizzo del proprietario#
Innanzitutto, dobbiamo ottenere un nuovo indirizzo non utilizzato dal wallet che funga da indirizzo della chiave del proprietario (ownerKeyAddr). Questo non è lo stesso dell’indirizzo collaterale che contiene 4000 Dash. Genera un nuovo indirizzo come segue:
getnewaddress
yfgxFhqrdDG15ZWKJAN6dQvn6dZdgBPAip
Indirizzo di voto#
Questo indirizzo può essere utilizzato anche come indirizzo chiave di voto (votingKeyAddr). In alternativa, puoi specificare un indirizzo fornito dal delegato votante prescelto o semplicemente generare un nuovo indirizzo chiave di voto come segue:
getnewaddress
yfRaZN8c3Erpqj9iKnmQ9QDBeUuRhWV3Mg
Indirizzo di pagamento#
Quindi genera o scegli un indirizzo esistente per ricevere i pagamenti del masternode del proprietario (payoutAddress). E” possibile utilizzare anche un indirizzo esterno al wallet:
getnewaddress
yjZVt49WsQd6XSrPVAUGXtJccxviH9ZQpN
Upgrade Core-only evonode#
There are three options to proceed with upgrading an existing Core-only evonode to support Platform. Please choose one which is suitable for you:
Upgrade an existing dashmate node. If you already have a dashmate-based evonode that meets the minimum system requirements, you just need to update dashmate and obtain SSL certificates. You can upgrade from dashmate v1.0.
Set up a dashmate node on a new host. If you are running an evonode with dashd on a host that does not meet the minimum system requirements, we recommend setting up a new server and migrating your evonode to it. Consider the following details when evaluating this option:
You will need to set up a new server and keep the existing and new servers running while Core is syncing on the new server.
You must either be able to move your current public IP to the new server or update the IP address using a ProUpServTx update.
Your existing node will continue to operate while you set up the new server, so any problems with the new node will not affect the existing one.
This is a good opportunity to upgrade the OS and software to current versions.
Set up a dashmate node on your existing host. If you prefer to install dashmate on the same server as your existing node, make sure you have enough disk space to store two copies of the Core blockchain at the same time during the migration (for about 10 mins).
Prerequisites#
ARM64 or x86-64 Linux host (Ubuntu is recommended) that meets the minimum requirements
Public IPv4 address
Network configuration (firewall, security groups) allowing public access to the following TCP ports:
9999/tcp
443/tcp
26656/tcp
80/tcp (required for Let’s Encrypt or ZeroSSL certificate validation)
Backup of any existing Dash Core and dashmate configuration data, including private keys
An email address for Let’s Encrypt certificate registration, or a ZeroSSL API access key, or an SSL certificate for the public IPv4 address (not DNS name)
SSL certificates#
An SSL certificate is required for your evonode to communicate securely with the Dash Platform network. There are three ways to get SSL certificates:
Let’s Encrypt (recommended). Let’s Encrypt is a free, automated certificate authority that provides SSL certificates at no cost and with no account registration required. Dashmate has built-in support for obtaining and automatically renewing these Let’s Encrypt short-lived (160 hour) certificates. All you need is an email address for certificate expiry notifications.
During
dashmate setup, select Let’s Encrypt as the SSL provider and enter your email address when prompted. Dashmate will handle the rest, including automatic renewal before certificates expire.Nota
Let’s Encrypt requires port 80/tcp to be open for the ACME HTTP-01 challenge used to validate your server’s IP address during certificate issuance and renewal.
ZeroSSL. ZeroSSL provides an API that allows dashmate to obtain and update your certificates automatically. The free plan provides 3 free certificates (or 3 renewals of 1 certificate). Other plans require paying with a credit card. You can get an API key for dashmate by completing the following steps:
Register on https://zerossl.com/. We recommend not using your personal email address.
Log in and click
Developeron the left sidebar.Copy your ZeroSSL API key to provide to dashmate later. Do not create a «New certificate».
ZeroSSL Developer tab showing the API key#
Manual certificate upload. Obtain SSL certificates for your IP address using any available provider and upload the certificate files to your server. SSL Dragon and SuperbitHost are two options that accept cryptocurrency.
Please make sure that the certificate chain file contains your server certificate at the top and intermediate/root certificates if present. If a bundle file is present, you need to concatenate it with the certificate file:
cat certificate.crt bundle.crt > bundle.crt
Verify the validity of the private key and certificate chain by running these commands:
openssl rsa -noout -modulus -in private.key | openssl md5 openssl x509 -noout -modulus -in bundle.crt | openssl md5
The output of these two commands should be the same.