# Lancez votre premier node StarkNet ! **Published by:** [HoVa](https://paragraph.com/@hova/) **Published on:** 2022-04-15 **URL:** https://paragraph.com/@hova/lancez-votre-premier-node-starknet ## Content Dans ce post je vais vous présenter une des méthodes pour faire tourner un node StarkNet, à savoir sur un VPS via un Macbook. Il existe d’autres méthodes mais celle de passer par un VPS est pour moi la plus simple car vous n'aurez pas besoin d’installer ubuntu sur votre machine et le serveur par lequel vous passez est allumé 24/7 ce qui va vous permettre de laisser tourner votre node sans devoir laisser votre machine allumée chez vous.Étape 1 : Connectez vous à votre VPSCommençons donc par ouvrir le Terminal de commande sous mac pour se connecter au VPS. Sous Windows il faudra passer par PuTTy (vous trouverez facilement des informations sur son utilisation en cherchant sur google). Connectez-vous sur le site de votre hébergeur. Vous allez avoir besoin de l’adresse ip de l'hôte, de votre nom d’utilisateur et de votre mot de passe.La commande à entrer va être la suivante : ssh ‘nom d’utilisateur’@adresse ip Dans notre exemple : ssh root@82.xxx.xxx.xx Copier/coller ensuite le mot de passe et validez Vous voilà connecté à votre VPS.Étape 2 : Installez les outils de développementPremièrement, vérifier la version de Python : python3 -V Vous obtiendrez quelque chose comme ça :Pour gérer les software packages de Python, il vous faut installer pip, un outil qui installera et gérera les paquets de programmation : sudo apt install -y python3-pip Si à cette étape vous avez cette erreur :Effectuez les commandes suivantes :Corriger les paquets endommagés : sudo apt -f installMettre à jour : sudo apt update && sudo apt dist-upgradeInstallez : sudo apt install python3-pipVérifiez si tout est bien installé : pip3 --versionIl nous reste les packages et outils de développement suivant à installer pour s'assurer que nous avons une configuration robuste pour notre environnement de programmation : sudo apt install -y build-essential libssl-dev libffi-dev python3-dev Ensuite : sudo apt-get install libgmp-dev Puis : pip3 install fastecdsa Et pour finir : sudo apt-get install -y pkg-configÉtape 3 : Installez RustNous avons besoin d’installer le langage de programmation Rust et ses outils puisque le nœud est construit en Rust. Lancez : curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shChoisissez l’installation par défaut 1 :Lancez ensuite : sudo apt update sudo apt install cargo Et enfin mettez à jour Rust à la dernière version : rustup update stableÉtape 4 : Clonez le pathfinder github repositoryFélicitations, vous êtes maintenant arrivé à la partie où nous allons commencer à préparer l'environnement pour notre nœud. Installez dans un premier temps git avec ces commandes : sudo apt update sudo apt install git Puis : git --versionCréez une copie locale du pathfinder github repository en lançant : git clone --branch v0.2.1-alpha https://github.com/eqlabs/pathfinder.git ATTENTION ici à bien vérifier la version du pathfinder repository que vous allez cloner. Rendez vous sur cette page et modifiez si nécessaire v0.2.1-alpha par la dernière version disponible. Vous allez obtenir ce résultat, ne vous inquiétez pas à propos du detached HEAD state. Cela signifie simplement que vous ne pouvez pas avoir d'impact sur le développement actif du code pathfinder.Étape 5 : Créer un environnement virtuel pour votre nodeInstaller un outil qui nous permettra de créer un environnement virtuel dans lequel notre nœud fonctionnera : sudo apt install python3.8-venv Puis déplacez vous dans : cd pathfinder/py Pour obtenir ceci :Creer un nouvel environment appelé venv : python3 -m venv .venv Puis activez le : source .venv/bin/activate Vous saurez que vous êtes dans votre environnement virtuel lorsque vous verrez (.venv) sur le côté gauche de votre ligne de commande :Installez ces outils supplémentaires : PIP_REQUIRE_VIRTUALENV=true pip install --upgrade pip Puis : PIP_REQUIRE_VIRTUALENV=true pip install -r requirements-dev.txt Et enfin testez si vos étapes précédentes ont réussi en exécutant : pytest Vous obtiendrez quelque chose comme ca :Étape 6 : Assemblez votre nodeVous pouvez compiler votre node en exécutant la commande suivante. Veuillez rester dans votre environnement virtuel (venv) pour cette étape. Vous allez également exécuter votre nœud à partir de venv. cargo build --release --bin pathfinder Cette étape peut prendre du temps, c’est normal :)Étape 7 : Créez un compte AlchemySi vous voulez faire fonctionner un node sur le Layer 2 (StarkNet), vous devrez également savoir ce qui se passe sur le L1 puisque votre node calculera le state root de StarkNet et la confirmera par rapport au L1. Pour ce faire, vous devez créer un compte sur Infura, Alchemy, ArchiveNode ou QuikNode. Dans ce tuto je vais utiliser Alchemy. Créez vous un compte puis cliquez surCet onglet va s’afficher. Ici je choisi le testnet Goerli (après renseignements auprès de l’équipe de StarkNet, les besoins sont plus importants sur Goerli que sur le mainnet à l’heure actuelle)Affichez les clefs et gardez cet onglet ouvert pour la suite :Étape 8 : Exécutez votre nodeVous allez avoir besoin de la commande : cargo run --release --bin pathfinder -- --ethereum.url https://eth-goerli.alchemyapi.io/v2/xxxxx Remplacez xxxxx par l’adresse HTTP ci-dessus. Dans notre exemple : cargo run --release --bin pathfinder -- --ethereum.url https://eth-goerli.alchemyapi.io/v2/S6FMQYVrmimyixbv2A4fmG0Uj7dEjIHn Rappel : vous devez bien exécuter cette commande dans le dossier pathfinder/py Et voilà c’est terminé. Vous allez pouvoir voir les blocks défiler :Vous pouvez également vérifier sur Alchemy :Pour aller plus loinVous faites tourner votre node sur un VPS mais vous vous êtes rendu compte que lorsque vous fermez le terminal le node s'arrête de fonctionner. Nous allons résoudre ce problème !Vous vous souvenez de cargo run --release --bin pathfinder -- --ethereum.url https://eth-goerli.alchemyapi.io/v2/S6FMQYVrmimyixbv2A4fmG0Uj7dEjIHn Et bien modifions la légèrement. Nous allons ajouter la commande nohup et &. Ce qui va donner dans notre exemple : nohup cargo run --release --bin pathfinder -- --ethereum.url https://eth-goerli.alchemyapi.io/v2/S6FMQYVrmimyixbv2A4fmG0Uj7dEjIHn &Après avoir validé cette commande vous n’allez plus voir les blocks défiler. Entrez :cd pathfinder/py/ tail -f ./nohup.outPour mettre fin à la commande nohup il vous faut entrer :ps -aux Vous allez voir apparaître une grande liste. Il vous suffit de chercher la ligne qui correspond à votre /root/pathfinder/target/release/pathfinder --ethereum.url S6FMQYVrmimyixbv2A4fmG0Uj7dEjIHnPrenez le nombre de la deuxième colonne : ici 18454 Entrez la commande : kill 18454Mettre à jour votre nodeLe réseau évolue et vous aurez besoin de faire des mises à jour assez réguliérement. Ne vous inquiétez pas, la procédure est très simple. Pour être informé de ces mises à jour, pensez à rejoindre le Discord officiel et à vérifier la dérnière version du pathfinder ici.Dans un premier temps arretez la commande nohup avec la commande kill juste au dessus.Ensuite entrez les commandes suivantes :cd pathfinder git fetch git checkout v0.2.2-alpha (si on souhaite mettre à jour à la version 0.2.2-alpha) cargo build --release --bin pathfinder cd py source .venv/bin/activate PIP_REQUIRE_VIRTUALENV=true pip install -r requirements-dev.txt Voila c’est terminé, vous n’avez plus qu’à relancez votre node avec la commande nohup !Conclusion :L’installation et le launch de votre node sont terminés. J’espère que cette présentation vous aura été utile. La réalisation de cette fiche technique en français a été permise grâce au travail (n’hésitez pas à aller le consulter) effectué par DZupp. Si durant votre parcours initiatique vous rencontrez des difficultés pensez à rejoindre le Discord de StarkWare ou vous trouverez toujours un membre de la communauté pour répondre à vos questions. ## Publication Information - [HoVa](https://paragraph.com/@hova/): Publication homepage - [All Posts](https://paragraph.com/@hova/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@hova): Subscribe to updates