Apprendre à coder en solidity pour Ethereum

in #solidity7 years ago

crypto.png

Créé par la société Loom Network basé à Bangkok, le jeu CryptoZombies va vous apprendre à coder votre premier smart contract dans le langage solidity d’Ethereum.

Il s’agit de créer pas à pas un jeu basé sur la blockchain avec des zombies.

L’interface est intuitive et présente une leçon sur le panneau de gauche et en regard un éditeur de code sur le tableau de droite. Il est toujours possible de voir la solution si on se trouve bloqué à une leçon particulière.

Au menu de la première leçon : un générateur de zombies (via la création d’une Zombie Factory pour les adeptes des Design Patterns).

On y présente à quoi ressemble un smart contract, les types de variables, les structures de données (struct et tableau), les fonctions, leur visibilité (private/public) et leurs modificateurs (vue/pure), les comparaisons de chaînes (via la fonction de hachage keccak256), la conversion de type (typecasting), ainsi que la gestion des événements pour interagir avec le code sur la blockchain depuis un code javascript web3.js.

Dans la seconde leçon, le jeu passe en multi-joueurs et permet de créer des zombies en mangeant des… (je vais garder cette information pour moi, vous le découvrirez bien assez tôt :D)

On y apprend les tableaux associatifs (mapping), la variable globale msg.sender qui contient l’adresse du smart contract (du compte) qui lance l’exécution du code, la fonction require qui bloque l’exécution du code si sa condition n’est pas valide, l’héritage des contrats et les imports de fichiers, la portée des variables (storage ou memory), à nouveau un peu de visibilité des fonctions (internal/external), l’interaction avec d’autres smart contracts via des interfaces, et enfin les tests conditionnels.

La troisième leçon explore les concepts spécifiques à la blockchain Ethereum : l’immuabilité des contrats, quelques problématiques de sécurité, la question du coût d’exécution et d’enregistrement de données dans la blockchain (en gas pour l’utilisateur) et les approches économiques d’écriture de code qu’elle implique, les fonctions natives de gestion du temps et les boucles for.

Pour la quatrième leçon, il faudra attendre une à deux semaines.

Si des connaissances de programmation sont nécessaires, une personne curieuse ayant touché un peu à javascript ou à un autre langage de programmation devrait a priori s’en sortir sans trop de mal, du moins au début.

L’adresse des leçons interactives de ce jeu est https://cryptozombies.io/course/