27 septembre 2017

Tutorial – Masternode

Création d’un Masternode – MonacoCoin

La création de la transaction Masternode

1er Étape : Téléchargement du client monaco coin

https://github.com/monacocoin-net/monacoCoin-Core/releases

Une fois le client téléchargé, laissez le réseau se synchroniser (cela peut prendre plusieurs heures)

2 – Étape :

 

  • Ouvrir la « console de débogage » dans le menu en haut : Outils -> Console de débogage

Tapez la commande suivante :

getnewaddress 0

La console vous communique une adresse de ce type ex : « MDapqpzH7M4WD4FxEQsk963MEbJZq8Nx7Q »

Pour information : l’adresse créée ici a l’alias « 0 »

Tapez à nouveau la commande suivante :

masternode genkey

La console vous communique une clé. ex : (3c7854No7bQ585495UMBnwoZvPv4DefJC4yeEAmpwKgLRzsBr1W)

Sauvegardez ces deux informations dans un fichier texte quelconque .

3 – Étape :

Envoyez sur l’adresse créée dans la console (ici : MDapqpzH7M4WD4FxEQsk963MEbJZq8Nx7Q) 1000 MCC . Attention il faut effectuer une seule transaction de 1000 unités !

Si vous avez par exemple plusieurs portefeuilles, regroupez la somme de 1000 MCC sur une adresse temporaire et ensuite faire la transaction de 1000 MCC sur l’adresse MDapqpzH7M4WD4FxEQsk963MEbJZq8Nx7Q

 

La transaction va être confirmée (cela prend un peu de temps), prenez une pause !

Ps : La transaction doit avoir au moins 15 confirmations pour que le Masternode s’active (le temps de finir le tutoriel, vous aurez largement les 15 confirmations !)

4- Étape :

Il serait dommage de perdre votre investissement et votre portefeuille, afin de palier à cela je vous conseille de le crypter et de le sauvegarder.

Pour cela, allez dans le menu en haut : Réglage -> Chiffrage du portefeuille

Attention : Le cryptage est une procédure irréversible et la perte de mot de passe signifie la perte du portefeuille !!

En fonction de la puissance de votre ordinateur cela peut prendre plusieurs minutes, ne paniquez pas !

A la fin du chiffrage le portefeuille doit redémarrer

Une fois le redémarrage effectué il vous suffit d’aller dans le menu en haut : Fichier -> Sauvegarder le portefeuille

Sauvegardez le fichier sur plusieurs clés USB afin de ne pas le perdre.

L’installation du masternode – Serveur en ligne:

Cette étape peut être ignorée si vous avez déjà un serveur disponible connecté à une connexion internet permanente et stable.

Ici nous allons installer le serveur sur une machine VPS (Serveur privé virtuel). Pour cela nous allons créer un serveur sur https://www.scaleway.com/ mais vous pouvez très bien le faire sur OVH, 1and1 …

 

Vous pouvez trouver des serveurs VPS à partir de 2.99€ par mois ! Ce qui vous permet de créer pleins de Masternodes !!

Créez un compte sur https://www.scaleway.com/ et connectez-vous sur l’interface admin du site afin de créer votre premier serveur .

Avant de créer un serveur il vous faut créer un jeu de clé de connexion RSA, rien de bien compliqué, ces clés sont valables pour tous les serveurs créés sur le site scaleway !

Le jeu de clé RSA fait office de login et mot de passe, il permet aussi d’augmenter grandement la sécurité de votre serveur ! La plupart des fournisseurs de service VPS utilisent actuellement ce type d’authentification .

1 : La création des clés RSA

Afin de vous connecter sur votre serveur, vous devez disposer d’un logiciel de type terminal, ex : PUTTY

Ici nous allons utiliser Bitvise, un autre logiciel gratuit (sans pub) et complet qui vous permet de vous connecter à votre serveur et aussi de générer un jeu de clé RSA très facilement !!

Télécharger directement sur le site : https://www.bitvise.com/ssh-client-download

Ou lien direct : https://bvdl.s3-eu-west-1.amazonaws.com/BvSshClient-Inst.exe

Effectuez l’installation et lancez le logiciel :

Oui ça fait peur il y a pleins de fonctions, je le conçois ! Mais rien de bien compliqué vous allez voir !

Afin de créer le clé RSA, cliquez sur « Client key manager »

Cliquer sur « Generate New »

Sélectionner :

Profile : 1

Algorithm : RSA

Size : 4096

Renseignez le mot de passe deux fois –  Astuce pour générer facilement des mots de passe  : https://www.generateurdemotdepasse.com/

Valider par « Generate »

 

Gardez précieusement le mot de passe !

Bravo vous avez créé le jeu de clé RSA !

2 : Sauvegarde de la clé RSA

Dans votre client key manager votre nouvelle clé que vous avez créé apparait, cliquez dessus et sélectionnez « Export »

Sélectionnez :

« Export public Key » -> « OpenSSH Format »

Sauvegardez le fichier

Effectuez la même opération pour la clé privée :

« Export private Key » -> « Bitvise Format »

Gardez ces éléments précieusement !

3 : Installer la clé publique sur Scaleway

Ouvrir avec Notepad votre fichier contenant la clé publique

Exemple ici fichier ouvert avec notepad++ (https://notepad-plus-plus.org/fr/)

Copiez l’intégralité de la phrase et revenez à votre page internet et votre compte Scaleway :

Cliquez sur votre adresse « émail dans le bord à droite -> Account »

Sélectionnez l’onglet « Credentials »

ou cliquez sur ce lien : https://cloud.scaleway.com/#/credentials

Copiez la phrase dans le champ et cliquez sur « use this SSH Key »

4 : Création du serveur

Sélection sur votre interface Scaleway – « Create server »

Sélectionnez n’importe lequel des serveurs (le moins cher fait très bien l’affaire)

Plus bas dans la plage sélectionnez la distribution : Ubuntu Trusty (Ubuntu version 14)

Cela peut fonctionner avec d’autres versions mais Ubuntu reste très facile de prise en main et d’utilisation

Validez la création du serveur et attendez que le serveur démarre (cela peut prendre jusqu’à 10 minutes)

Bravo vous venez de vous offrir un serveur dédié !

Mise en place du client Serveur :

1 : Connexion au serveur

Ouvrir à nouveau le logiciel « Bitvise SSH Client »

Renseigner l’adresse ip du serveur (vous pouvez la trouver dans la page du serveur sur scaleway)

Sur la partie Authentification :

Username : root

Initial Method : publickey

Client Key : profile 1 ou global 1 (c’est la clé précédemment créée dans le client key manager)

Passphrase : le mot de passe qui correspond a la clé RSA créée avant

Acceptez et sauvegardez

Vous venez de vous connecter à votre serveur !

2: L’installation du serveur MonacoCoin

Il va falloir installer les dépendances et faire la mise à jour du serveur :

Tapez les commandes suivantes :

Les commandes suivantes doivent être exécutées avec un profil Root uniquement, sinon placez devant la commande « sudo » ex : « sudo apt-get update »

Ps : si vous travaillez sur VPS google par exemple taper avant : sudo su

apt-get update && apt-get upgrade
apt-get install unzip

apt-get install git

apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libboost-all-dev unzip libminiupnpc-dev python-virtualenv

apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
add-apt-repository ppa:bitcoin/bitcoin


si vous avez le message suivant : "add-apt-repository: command not found" cela arrive sur des versions > ubuntu 16.0
installer :
apt-get install software-properties-common && add-apt-repository ppa:bitcoin/bitcoin

apt-get update
apt-get install libdb4.8-dev libdb4.8++-dev

Il faut créer un utilisateur afin d’éviter de faire fonctionner le client MonacoCoin avec l’utilisateur Root !

adduser bob

Remplacez « bob » par votre nom d’utilisateur et suivez la procédure à l’écran

Tapez :

su bob
cd

Vous venez de vous connecter sur l’utilisateur bob et dans son répertoire de travail qui se trouve à (/home/bob/)

3 – Télécharger le client monacoCoin Core CLI :

wget https://github.com/monacocoin-net/monacoCoin-Core/releases/download/0.12.1.5.1/monacoCoinCore-0.12.1.5.1-linux64-cli.taz.gz

tar xzvf monacoCoinCore-0.12.1.5.1-linux64-cli.taz.gz
chmod +x monacoCoind monacoCoin-tx monacoCoin-cli
./monacoCoind

Si le terminal ne répond plus, relancez simplement une session, reconnectez vous à votre utilisateur :

su bob

cd

./monacoCoin-cli stop

Il faut ensuite modifier le fichier .conf

cd

nano .monacoCoinCore/monacoCoin.conf

Copier-collez le code suivant en changeant les paramètres suivants :

rpcuser= un nom d’utilisateur

rpcpassword = un mot de passe

masternodeprikey = la clé précédemment créée au début du tutoriel avec la commande « masternode genkey »

externalip = l’IP Publique de votre VPS (votre serveur sur scaleway)

rpcuser=USER HERE
rpcpassword=PASSWORD HERE
rpcallowip=127.0.0.1
server=1
listen=1
daemon=1
maxconnections=24

masternode=1
masternodeprivkey=PRIV KEY HERE
externalip=51.15.44.57


sortir CRTL +X -> Y -> ENTER pour sortir et sauvegarder la modification

cd
./monacoCoind
./monacoCoin-cli getinfo

Si tout fonctionne, vous devez avoir cela :

Bravo votre serveur est connecté, fonctionne et commence sa synchronisation. La synchronisation peut prendre plusieurs heures.

Afin de bien vérifier que votre serveur est opérationnel et synchronisé, tapez :

./monacoCoin-cli mnsync status

Vous devez avoir :

{
  "AssetID": 999,
  "AssetName": "MASTERNODE_SYNC_FINISHED",
  "Attempt": 0,
  "IsBlockchainSynced": true,
  "IsMasternodeListSynced": true,
  "IsWinnersListSynced": true,
  "IsSynced": true,
  "IsFailed": false
}

Si l’assetID , n’est pas 999 c’est que votre serveur na pas finit sa synchronisation et votre masternode ne fonctionnera pas ! Patienter encore peut

4 – Installation de Sentinel

Le logiciel Sentinel est obligatoire pour votre masternode sinon il sera inactif au bout de quelques heures.

cd
git clone https://github.com/monacocoin-net/sentinel.git && cd sentinel
virtualenv ./venv
./venv/bin/pip install -r requirements.txt

Si vous avez des problèmes, pensez à installer :

sudo apt-get update
sudo apt-get -y install python-virtualenv

Personnalisez le fichier de configuration (Pensez bien à modifier YOUR HOME DIRECTORY par votre nom d’utilisateur) :

nano sentinel.conf
# specify path to monacoCoin.conf or leave blank
# default is the same as monacoCoinCore
monacoCoin_conf=/home/YOUR HOME DIRECTORY/.monacoCoinCore/monacoCoin.conf

# valid options are mainnet, testnet (default=mainnet)
network=mainnet
#network=testnet

# database connection details
db_name=database/sentinel.db
db_driver=sqlite

Testez la configuration :

./venv/bin/py.test ./test
Vous devez avoir un résultat comme cela :
collected 20 items

test/integration/test_jsonrpc.py .
test/unit/test_models.py ..
test/unit/test_monacoCoin_config.py .
test/unit/test_monacoCoind_data_shims.py ..
test/unit/test_monacoCoiny_things.py .....
test/unit/test_submit_command.py .
test/unit/models/test_proposals.py ...
test/unit/models/test_superblocks.py .....

==================================== 20 passed in 1.74 seconds =====================================

Installez la commande dans la Crontab à la fin du fichier  (pensez bien à modifier YOURUSERNAME par votre nom d’utilisateur) :

crontab -e

Appuyez Entrée
* * * * * cd /home/YOURUSERNAME/sentinel && ./venv/bin/python bin/sentinel.py >/dev/null 2>&1

Et voila c’est fini !

 

Activation du Masternode

1- Masternode Outputs

Ouvrez à nouveau le client monacoCoin-qt.exe sous windows, ouvrez la console de débogage et tapez :

masternode outputs

Copiez le code qui s’affiche

(ex : 002eae7f9568c5751b091facdb58fe612834349c8573dde96f3330a28138be97) -> cela correspond a l’id de votre transaction de 1000MCC voir

http://block.monacocoin.net:8080/tx/002eae7f9568c5751b091facdb58fe612834349c8573dde96f3330a28138be97

Recherchez le fichier « masternode.conf » ou dans le logiciel « Outils -> ouvrir le fichier de configuration des masternodes »

Sous Windows vous pouvez le trouver dans :

C:\Users\VOTRE NOM D’UTILISATEUR\AppData\Roaming\MonacoCoinCore\masternode.conf

Pensez à afficher les fichiers cachés car AppData est invisible !

Ouvrir le fichier avec un éditeur de texte :

Un exemple est déjà disponible :

Format: alias IP:port masternodeprivkey collateral_output_txid collateral_output index

alias : nom de votre masternode ici mn1

IP : IP publique du VPS

port : 24157

masternodeprivkey : clé générée plus haut dans la console avec la fonction « masternode genkey »

collateral_output_txid collateral_output : générée dans la console avec la fonction « masternode outputs »

index : 0 ou 1 (ici 0)

# Masternode config file
# Format: alias IP:port masternodeprivkey collateral_output_txid collateral_output_index
# Example: mn1 127.0.0.2:19999 93HaYBVUCYjEMeeH1Y4sBGLALQZE1Yc1K64xiqgX37tGBDQL8Xg 2bcd3c84c84f87eaa86e4e56834c92927a07f9e18718810b92e0d0324456a67c 0
monserver-zeus 51.15.44.57:24157 3c7854No7bQ585495UMBnwoZvPv4DefJC4yeEAmpwKgLRzsBr1W 002eae7f9568c5751b091facdb58fe612834349c8573dde96f3330a28138be97 0

Sauvegardez le fichier et relancez le client MonacoCoin

Déverrouillez le client : « Réglage -> Déverrouiller le portefeuille »

Ouvrez à nouveau la console de débogage :

masternode start-alias monserver-zeus
masternodelist

Si le result = successfull

Vous pouvez aussi vérifier que votre masternode fonctionne avec la commande sur votre VPS :

./monacoCoin-cli masternode status

Bravo vous venez de crée votre premier masternode ! Vous allez recevoir des compensation de minage de façon régulier !

Bonus :

Il est conseillé d’installer un firewall sur votre serveur, pour cela reconnectez-vous en ROOT

Exécutez les commandes suivantes dans l’ordre indiqué !

apt-get install ufw
ufw allow ssh/tcp
ufw limit ssh/tcp 
ufw allow 24157/tcp
ufw allow sftp/tcp
ufw logging on
ufw enable

Excellent, votre serveur dispose maintenant d’un firewall ! Vous pouvez allez plus loin et suivre le tutoriel suivant : https://openclassrooms.com/courses/securiser-son-serveur-linux