Grâce à la technologie des blockchains, de nouveaux services décentralisés voient le jour pour permettre de monétiser ce qui ne pouvait pas l’être. Aujourd’hui penchons-nous sur le réseau Golem développé sur la blockchain qui permet la location des ressources de vos serveurs.
Les ressources qui peuvent être louées sont la puissance de calcul du processeur, la mémoire vive et l’espace de stockage. Si vous souhaitez louer votre bande passante, consultez l’article faisant référence à la blockchain Sentinel (DVPN).
Prérequis de l’application
L’exécution de code externe nécessite des composants de virtualisation. Avant d’aller plus loin, assurez-vous de tester si le processeur est compatible grâce à la commande suivante:
kvm-ok
La réponse à cette commande devrait être :
KVM acceleration can be used
Si l’on vous indique que la commande n’existe pas, installez le paquet nécessaire pour l’utiliser :
sudo apt install cpu-checker
Installation de Golem
Commençons par créer un utilisateur dédié à cette tâche :
sudo adduser golem
Installons les dépendances nécessaires à la compilation :
apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager git
Exécutons un script pour permettre la configuration de kvm :
curl -o setup-kvm.sh https://join.golem.network/setup-kvm.sh && chmod +x ./setup-kvm.sh && ./setup-kvm.sh && rm setup-kvm.sh
Maintenant, changeons d’utilisateur pour devenir golem.
su golem
cd /home/golem/
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
Il faut télécharger le script d’installation (toujours en tant qu’utilisateur golem).
curl -sSf https://join.golem.network/as-provider | bash -
La configuration du noeud se fera en répondant à des questions :
- Node name : nom du noeud que vous pouvez laisser par défaut
- Ethereum mainnet wallet address : adresse Ethereum où vous recevrez les paiements
Une fois ces deux questions répondues, vous devriez être en mesure de lancer le programme pour tester que tout fonctionne correctement. Patientez quelques secondes puis ouvrez un autre terminal en tant qu’utilisateur golem et entrez la commande ci-dessous.
golemsp status
Grâce à cette commande, vous devriez voir un résumé du programme installé et l’indication que le service est actif :
Service is running
Changer des paramètres de la configuration
Si vous souhaitez augmenter ou diminuer le prix de location du processeur, vous devrez utiliser la commande suivante :
golemsp settings set --cpu-per-hour 0.1
Pour avoir une vue globale de la configuration du programme, utilisez la commande suivante :
golemsp settings show
Pour plus d’information sur les commandes et la configuration du noeud, veuillez vous reporter à la documentation de cette page : https://handbook.golem.network/provider-tutorials/provider-cli
Consulter les statistiques d’utilisation
Le site web https://golemstats.com vous donne accès aux données du réseau telles que la puissance de calcul disponible ou le nombre de tâches effectuées dans l’heure. Pour consulter les statistiques d’utilisation de votre noeud, renseignez simplement l’adresse Ethereum que vous avez configurée dans le champ de recherche.
Vous arriverez sur une page résumant les statistiques vous concernant :
Historique des paiements
Le projet Golem utilise zkSync pour limiter les frais de transaction lors des paiements. Pour connaître la quantité disponible à votre adresse Ethereum, passez par le site : https://zkscan.io/
Script au redémarrage du serveur
Pour finir, voici un petit script pour permettre le redémarrage automatique de golem lorsqu’il y a un problème. Pour ouvrir le fichier, entrez la commande suivante :
nano /home/golem/start.sh
Et le contenu du fichier à copier-coller est :
#/bin/bash
export PATH="$HOME/.local/bin:$PATH"
while [ true ]
do
golemsp run
sleep 5
done
Le changement des droits qui va bien…
chown -R golem: /home/golem/start.sh
chmod +x /home/golem/start.sh
Et en bonus, voici la commande à ajouter dans crontab -e de l’utilisateur root pour lancer une screen au démarrage du système.
@reboot screen -dmS golem su golem -c /home/golem/start.sh
Alors oui ce n’est pas très beau de faire ça, mais, c’était pour aller au plus vite… Et libre à vous de proposer votre script systemd dans les commentaires !