# Lancez votre premier node StarkNet !

By [HoVa](https://paragraph.com/@hova) · 2022-04-15

---

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 VPS
------------------------------------

Commenç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.

![](https://storage.googleapis.com/papyrus_images/0a0565910245f2039521a1a7b534c244a13273f817d4aa3e13ea7975dddd7b98.png)

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éveloppement
-----------------------------------------------

Premièrement, vérifier la version de Python :

`python3 -V`

Vous obtiendrez quelque chose comme ça :

![](https://storage.googleapis.com/papyrus_images/d456a56ec2c0920d06432770824ea9adb958808ac33d51d343e69026812134af.png)

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 :

![](https://storage.googleapis.com/papyrus_images/ef74d63448acfd45ea2bf89cf1d5c6b6f887705cebab87aec3e8b370defc1d0f.png)

Effectuez les commandes suivantes :

1.  Corriger les paquets endommagés : `sudo apt -f install`
    
2.  Mettre à jour : `sudo apt update && sudo apt dist-upgrade`
    
3.  Installez : `sudo apt install python3-pip`
    
4.  Vérifiez si tout est bien installé : `pip3 --version`
    

Il 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 Rust
------------------------

Nous 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 | sh`

![](https://storage.googleapis.com/papyrus_images/3fa9612a3497ecf62425ce1928060e6fb4829c5e1de13fac80b57828972aea91.jpg)

Choisissez l’installation par défaut 1 :

![](https://storage.googleapis.com/papyrus_images/45c5b2cff45da91b1d6f05278f9ace25891bc0572a975700d92e654aa0ba2315.png)

Lancez ensuite :

`sudo apt update` `sudo apt install cargo`

Et enfin mettez à jour Rust à la dernière version :

`rustup update stable`

![](https://storage.googleapis.com/papyrus_images/5d8c772ba96223f886a2feb4ccee0b367d2e4176a3ea4eb4d8397e9ade11027d.png)

Étape 4 : Clonez le pathfinder github repository
------------------------------------------------

Fé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 --version`

![](https://storage.googleapis.com/papyrus_images/f7df10b89ce369f0672bf031130b71dbd4b1b45439563d4ef8d81f5f3023da4b.png)

Cré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](https://github.com/eqlabs/pathfinder/tags) 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.

![](https://storage.googleapis.com/papyrus_images/e8a2f57432e5ab3c23a9d72a721ee1e812cc33470e9d91ef1e64474d89ac35dc.jpg)

Étape 5 : Créer un environnement virtuel pour votre node
--------------------------------------------------------

Installer 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 :

![](https://storage.googleapis.com/papyrus_images/d9386ca0883cbf157289277d61ffe97590c98c539acfb235b50759dfe710543e.png)

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 :

![](https://storage.googleapis.com/papyrus_images/02eb90bea6cd77cde8c03c74c1f41abc345daf2a83692d52fc7f08bb607ddc5a.png)

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 :

![](https://storage.googleapis.com/papyrus_images/9c7d45120e01aa6b57482c789316bd11d0c3e60e6093b79ceb91eb54ecc825b6.png)

Étape 6 : Assemblez votre node
------------------------------

Vous 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 :)

![](https://storage.googleapis.com/papyrus_images/b8536074e8516b1291142e353b9229237fddb661bd391fc4d55e9eb4c419b328.png)

Étape 7 : Créez un compte Alchemy
---------------------------------

Si 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](https://infura.io/), [Alchemy](https://alchemyapi.io/), [ArchiveNode](https://archivenode.io/) ou [QuikNode](https://www.quiknode.io/).

Dans ce tuto je vais utiliser Alchemy.

Créez vous un compte puis cliquez sur

![](https://storage.googleapis.com/papyrus_images/fd9e6c383da7887640cebbc0228655aa5ad60d661de3e3e61081b71cb29317bf.png)

Cet 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)

![](https://storage.googleapis.com/papyrus_images/b334ff405e4a19ec1ac26379c41ca7017a4578632f906f9ad8e4430a6725ff03.jpg)

Affichez les clefs et gardez cet onglet ouvert pour la suite :

![](https://storage.googleapis.com/papyrus_images/1771bc0696abe13d38c26686db5e280f469487060edbc92fd96fcb1e775f9126.jpg)

Étape 8 : Exécutez votre node
-----------------------------

Vous 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 :

![](https://storage.googleapis.com/papyrus_images/226776ad2a1eb29a923c7525411a6b4a26e2278bf0acc2afaa4967a66c0e0d54.png)

Vous pouvez également vérifier sur Alchemy :

![](https://storage.googleapis.com/papyrus_images/d97d19096aacb1737406a5c6d83b8c76f28cb40174fd9fdf3b172b16b56fa573.png)

Pour aller plus loin
--------------------

*   Vous 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.out`

![](https://storage.googleapis.com/papyrus_images/bbb74f11bb2120ad79eed6263e9cfdd7f299d8e45ebca7b92236dfbe70eb1c8a.png)

*   Pour 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 S6FMQYVrmimyixbv2A4fmG0Uj7dEjIHn`

![](https://storage.googleapis.com/papyrus_images/039a44fb324e77c051a1af2e2490ac930edd96af9c4fe96115d3d31071c6499b.png)

Prenez le nombre de la deuxième colonne : ici 18454

Entrez la commande :

`kill 18454`

Mettre à jour votre node
------------------------

Le 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](https://discord.gg/uJ9HZTUk2Y) et à vérifier la dérnière version du pathfinder [ici](https://github.com/eqlabs/pathfinder/tags).

*   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](https://mirror.xyz/0x83857601C1cFA057F2576b343c563BDB9A4C9975) (n’hésitez pas à aller le consulter) effectué par [DZupp](https://twitter.com/Zup88?s=20&t=6XsmlVtRLNbzOpeAxcCIEg). Si durant votre parcours initiatique vous rencontrez des difficultés pensez à rejoindre le [Discord](https://t.co/klHVDhQokP) de StarkWare ou vous trouverez toujours un membre de la communauté pour répondre à vos questions.

---

*Originally published on [HoVa](https://paragraph.com/@hova/lancez-votre-premier-node-starknet)*
