J’ai produit une suite de vidéos sur la mise en œuvre d’un nœud ERGO chez soi.

Vous trouverez ici la liste des commandes à lancer sous Linux pour mettre en place ce type de Node. Si vous avez des questions, je vous prie de bien vouloir les poster en commentaire sous les vidéos.

Pour m’aider ou supporter la chaine, vous pouvez acheter un truc sur Amazon via mes liens affiliés ou cliquer sur le bouton “rejoindre” de la chaine. Merci beaucoup pour votre aide et votre soutient.

L’installation a lieu sur une Debian 11. Libre à vous d’adapter l’installation sur un autre OS que Debian.

Pour lancer les commandes, vous pouvez vous connecter en SSH ou bien via xRDP ou directement sur l’écran de la machine. VNC est un peu lent, mais cela fonctionne aussi.

======== Passage en root (admin) =====

[php]sudo su[/php]

======== Mise à jour du système =====

[php]

apt update

apt upgrade

apt autoremove

apt install screen -y

apt install wget -y

[/php]

 

======== Installation de Java =====

[php]apt install libc6-i386 libc6-x32[/php]

wget https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.deb

[php]dpkg -i jdk-18_linux-x64_bin.deb[/php]

======== Selection de Java =====

Lors des choix choisir le chiffre correspondant à Oracle Java.

[php]

update-alternatives –install /usr/bin/java java /usr/lib/jvm/jdk-18/bin/java 2

update-alternatives –config java

update-alternatives –install /usr/bin/jar jar /usr/lib/jvm/jdk-18/bin/jar 2

update-alternatives –install /usr/bin/javac javac /usr/lib/jvm/jdk-18/bin/javac 2

update-alternatives –set jar /usr/lib/jvm/jdk-18/bin/jar

update-alternatives –set javac /usr/lib/jvm/jdk-18/bin/javac

[/php]

 

Verifier les version :

[php]java -version[/php]

Editer le fichier :

[php]sudo nano /etc/profile.d/jdk.sh[/php]

 

Ajouter :

[php]

export J2SDKDIR=/usr/lib/jvm/jdk-18

export J2REDIR=/usr/lib/jvm/jdk-18

export PATH=$PATH:/usr/lib/jvm/jdk-18/bin:/usr/lib/jvm/jdk-18/db/bin

export JAVA_HOME=/usr/lib/jvm/jdk-18

export DERBY_HOME=/usr/lib/jvm/jdk-18/db

[/php]

 

Charger le profil

[php]source /etc/profile.d/jdk.sh[/php]

 

======== retour en mode utlisateur =====

[php]

exit

[/php]

============== INSTALLATION DU NODE ==============

[php]

mkdir ergo
cd ergo
wget https://github.com/ergoplatform/ergo/releases/download/v4.0.32/ergo-4.0.32.jar[/php]

Copier le chemin

[php]pwd [/php]

Editer le fichier ergo.conf

[php]nano ergo.conf[/php]

Ajouter :

  • en changeant les chemins avec celui copié plus haut
  • en modifiant les variables en MAJUSCULE avec les VOTRES
  • Attention au chemin sous windows c’est quelque chose comme “C:\CHEMIN\” et sous linux “/home/chemin/”. Pensez à changer les “/” sous windows
ergo {
directory = “CHEMIN/ergo/”
node {
mining = true
useExternalMiner = true
}
wallet.secretStorage.secretDir = “CHEMIN/ergo/wallet/keystore”
voting {
8 = 1000
}
chain {
reemission {
checkReemissionRules = true
}
}
wallet {
checkEIP27 = true
}
}
scorex {
network {
nodeName = “NOM-DE-TON-NODE”
bindAddress = “0.0.0.0:9020”
declaredAddress = “ADRESSEIP_EXTERNE:9020”
}
ntp {
server = “ntp.aliyun.com”
}
restApi {
# Hex-encoded Blake2b256 hash of an API key.
# Should be 64-chars long Base16 string.
# below is the hash of the string ‘hello’
# replace with your actual hash
apiKeyHash = “A_METTRE_DANS_ L_ETAPE_SUIVANTE”
}
}

 

============== LANCER LE NODE ==============

[php]java -jar -Xmx6G ergo-*.jar –mainnet -c ergo.conf[/php]

A noter :

  • Xmx6G  va attriber 6Go de mémoire pour permettre au node de faire la synchro de la blockchain
  • une fois en production ce paramètre peut etre remplacé par Xmx1G ou Xmx2G

 

============== CONFIGUER LE NODE ==============

http://127.0.0.1:9053/swagger#/utils/hashBlake2b

Dans le champ de texte, saisssez un mot de passe (rappelez vous en !)

Appelez l’api est noter le HASH par exemple pour le mot de passe hello c’est 324dcf027dd4a30a932c441f365a25e86b173defa4b8e58948253471b81b72cf

Ajouter à ergo.conf

scorex {

restApi {

# Hex-encoded Blake2b256 hash of an API key.

# Should be 64-chars long Base16 string.

# below is the hash of the string 'hello'

# replace with your actual hash

apiKeyHash = "HASH"

}

}

============== CONFIGUER LE WALLET ==============

http://127.0.0.1:9053/panel

Créer un wallet dans la section dédiée et bien noter le nouveau mot de passe et les mots pour importer le wallet.

=== INSTALLATION STRATUM SERVER ===

pour miner depuis vos rigs il vous faut installer le protocole de communication stratum.

C’est un protocole de gestion de temps, il permet d’horodater les accès au node quand on mine.

https://github.com/mhssamadani/ErgoStratumServer

Avant de poursuivre votre node doit être complétement synchronisé, header, blocks et wallet. En cas de plantage, relancer simplement le node pour qu’il continue la première synchronisation Ce processus prendra plusieurs heures, voir plusieurs jours.

[php]
git clone https://github.com/mhssamadani/ErgoStratumServer.git npm update
npm i bignum
npm audit fix
cd ErgoStratumServer
[/php]

Edition du fichier start.js

Modifier l’adresse avec celle de votre node :

“address”: “VOTRE_ADRESSE_DE_NODE”, //Address to where block rewards are given

Changez ensuite la difficulté avec une valeur qui vous convient :

“ports”: {
“3032”: { //A port for your miners to connect to
“diff”: 2000000, //the pool difficulty for this port
/*
* use this parameter to multiply difficulty to b for each request.
* some miner like NBMiner does not support difficulty method of stratum.
* if you want your pool work with these miners set this parameters.
*
* */
“multiplyDifficulty”: true,
/* Variable difficulty is a feature that will automatically adjust difficulty for
individual miners based on their hashrate in order to lower networking overhead */
“varDiff”: {
“minDiff”: 1600000, //Minimum difficulty
“maxDiff”: 2000000, //Network difficulty will be used if it is lower than this
“targetTime”: 15, //Try to get 1 share per this many seconds
“retargetTime”: 10, //Check to see if we should retarget every this many seconds
“variancePercent”: 30 //Allow time to very this % from target without retargeting
}
},

[php]nano start.js[/php]

Modifier l’adresse : avec l’adresse du wallet de votre node Modifiez l’adresse IP avec l’adresse IP de votre node Vous pouvez jouer avec les paramètres de difficultés si cela vous intéresse. Lancez ensuite stratum

[php]node start.js[/php]

=== MINER DEPUIS HIVE ou WINDOWS ===

pour miner depuis vos rigs il vous faut :

  • utiliser l’adresse ERG du node,
  • utliser d’adresse IP du node sur le port 3032

=== SOURCES ===

https://docs.ergoplatform.com/node/install/

https://github.com/mhssamadani/ErgoStratumServer