Tout le monde parle de web3, et il y a de l'argent fou qui coule dans cet espace. Un développeur blockchain moyen gagne 140 000 $/an. Entrer dans cette industrie est la meilleure chose que vous puissiez faire en tant que développeur !
Étant donné que l'industrie du Web3 est relativement nouvelle, il n'y a pas beaucoup de ressources et beaucoup d'entre elles ne sont pas mises à jour. J'ai compilé une liste des meilleures ressources et guides pour créer la feuille de route ultime pour apprendre Web3 et Solidity.
Connaissances nécessaires pour devenir développeur Web 3.0
1. Apprendre les fondamentaux de la blockchain
Le premier que vous devez comprendre pour devenir développeur web3 est la blockchain. Cela vous aidera à concevoir et à optimiser facilement les contrats intelligents (nous en reparlerons plus tard). Voyons ce qu'est la blockchain et comment elle fonctionne.
Une blockchain est une base de données immuable, publique et décentralisée qui appartient aux utilisateurs. Les données sont stockées sous forme de blocs, d'où le nom « Blockchain ». Pour lier les blocs entre eux, chaque bloc contient ses données, son hash et le hash du bloc précédent.
Le hachage est une chaîne unique calculée à partir des données. Le hachage change en fonction des informations. Vous avez peut-être rencontré cela lors de la mise en œuvre de jetons JWT dans NodeJS.
Si quelqu'un falsifie l'un des blocs, le hachage change et les blocs suivants deviennent invalides puisque la chaîne est rompue. La personne devra alors recalculer tous les blocs de la chaîne, ce qui prendra beaucoup de temps (10 minutes/bloc).
Des copies des blockchains sont stockées sur des ordinateurs du monde entier, appelés nœuds. Vous aurez donc également besoin d'accéder à la majorité des ordinateurs et répétez ce processus. Il est pratiquement impossible pour un ordinateur de faire tout cela assez rapidement pour que le réseau ne le remarque pas et n'essaie pas d'expulser le fraudeur de la blockchain.
2. Applications décentralisées
Les DApps ou applications décentralisées sont des applications construites au-dessus de la blockchain. Les principales technologies utilisées dans les DApps sont :
- Frontend : frameworks JavaScript comme React, Vue, Angular
- Backend : Rust et Solana ou Solidity et Ethereum
Maintenant, vous pensez peut-être, quels sont les exemples d'utilisation des DApp ? Voici quelques industries que les DApps peuvent révolutionner :
- Escrow - Chaque fois que vous achetez / vendez une maison, vous devez faire confiance à l'acheteur pour payer à temps ou conserver l'argent auprès d'une société tierce. Que se passe-t-il si l'acheteur ne paie pas ou si le tiers s'enfuit avec l'argent ? Les DApps peuvent assurer le transfert d'argent en toute sécurité
- Enregistrements - Une fois que quelque chose est ajouté à la blockchain, il ne peut pas être modifié ou supprimé. Ceci est très pratique lors de la tenue des registres de la maison, des dossiers médicaux, etc.
- Paiements - Les crypto-monnaies peuvent être utilisées pour des paiements simples et sécurisés afin de transférer de la valeur. Bien que les frais d'essence soient assez élevés en ce moment, je suis sûr qu'ils diminueront à l'avenir.
3. Bases du développement Web frontal
Comme je l'ai mentionné précédemment, les DApps peuvent avoir la technologie blockchain alimentant le backend, mais le frontend est JavaScript. Voici ce que vous devez apprendre :
- HTML — Balises HTML courantes
- CSS — Propriétés de base, Flex, Grille
- Cadres CSS [facultatif] - Bootstrap, interface utilisateur sémantique, Tailwind, etc.
- JavaScript — Variables, Fonctions, Classes, ES6 etc.
- Frameworks JavaScript [Recommandé] — React/Vue/Angular
Je recommande également d'apprendre le backend web2, comme solution de rechange au cas où web3 ne fonctionnerait pas. Voici ce que vous devriez apprendre pour le backend :
- NodeJS Fundamentals — Boucle d'événement, E/S
- Cadre d'API — Express
- Bases de données — MongoDB, SQL, PostgreSQL
4. Fondamentaux d'Ethereum
Ethereum est une blockchain qui traite des contrats intelligents. Ethereum est de loin la blockchain la plus populaire pour créer des contrats intelligents en 2022. La solidité est le langage utilisé pour développer des contrats intelligents avec elle. La documentation officielle est un excellent endroit pour commencer à en savoir plus sur Ethereum.
5. Contrats intelligents
Les contrats intelligents sont un code immuable sur la blockchain qui exécute un contrat. Les contrats intelligents sont similaires aux classes en JavaScript. Ceux-ci sont utilisés pour alimenter les DApps.
Il ne suffit pas de comprendre le concept des contrats intelligents, vous devez également être capable de les développer. C'est là qu'intervient Solidity. Solidity est un langage de programmation de haut niveau orienté objet (ish) qui est spécialement conçu pour créer facilement des contrats intelligents.
Cependant, Solidity étant très nouveau, il existe très peu de ressources pour l'apprendre. La meilleure façon d'apprendre est de créer des projets et de résoudre les problèmes auxquels vous êtes confrontés en vous référant à la documentation.
6. Connectez votre contrat intelligent à votre interface web
Maintenant que vous savez comment développer des contrats intelligents, vous devez réellement les utiliser. Il existe deux bibliothèques principales pour ce faire - web3.js ou ethers.js. Voyons pourquoi ethers.js est meilleur que web3 :
- Taille beaucoup plus petite
- Moins de bugs
- Meilleure documentation
- Plus populaire
- Plus facile pour les débutants
- Fonctionnalités supplémentaires
Salaire d'un développeur Web 3.0
Le salaire moyen d'un développeur Web3 est de 100 000 $ à 150 000 $ par an.
Le salaire dépend de la technologie, du langage de programmation, des années d'expérience, du lieu et de l'ancienneté.
- Un développeur Rust gagne entre 120 000 $ et 280 000 $ par an
- Le développeur principal gagne entre 150 000 $ et 500 000 $ par an
- Un développeur nord-américain gagne entre 120 000 et 290 000 $ par an