MASKS Token
Le premier token social sur Optimism !
Le premier token social sur Optimism !
Site Web : https://www.masks.wtf
DApp : https://app.masks.wtf
Smart Contracts : $MASKS – Vesting – Airdrops
Pensé par TheCryptomath (fondateur du projet The Cryptomasks), le token MASKS permet notamment de tokeniser son engagement. L’usage premier, actuellement en place, étant d’offrir aux utilisateurs de Farcaster (réseau social Web 3) la possibilité de donner des pourboires, à la manière de ce que propose Degen (le premier token du type) tout en ajoutant de nouveaux cas d’usages au fur et à mesure. Récemment le token a été utilisé comme moyen de paiement pour un mint et l’opération va être reconduite via différents partenaires.
En charge de la création des smart contracts, de la dApp (tout-en-un), de l’API à destination des développeurs tiers, des mécaniques de snapshots mais aussi de la gestion technique du projet (un autre collègue développeur agissant sur la partie off-chain liée à Farcaster), ce projet est l’occasion pour moi de me lancer de nouveaux défis :)
Actuellement au nombre de 3, les différents smart contracts permettent à la fois au token d’exister (ERC-20) mais aussi à la team et aux investisseurs initiaux de profiter d’un vesting (et/ou cliff) tout en offrant la possibilité aux utilisateurs de Farcaster (pour le moment) d’obtenir régulièrement un airdrop associé à leur engagement sur le réseau.
En effet, à chaque fin de saison, les MASKS off-chain deviennent des $MASKS (on-chain) via un mécanisme de snapshot et de claim imaginé de façon à être pérenne.
Prochainement, un second SC d’airdrops à destination des fournisseurs de liquidité sera utilisé, fonctionnant de manière similaire au premier.
Plus que les smart contracts, c’est aussi toute la présence on-chain (identification auprès d’Etherscan, création des pools de liquidités initiales, analyses diverses…) qui a été réalisée.
Application complète, avec des composants aussi bien serveur que client, la dApp du projet agit en tant que couteau suisse.
De nombreux éléments liés au projet ont aussi été développés. Qu’il s’agisse des outils de snapshot, du suivi de data on-chain ou de la récupération d’infos directement sur les nodes Farcaster, ils sont nombreux et en constante augmentation.
Avec plusieurs dizaines de millions de requêtes par mois (au moment de la rédaction), l’accent a aussi été mis sur l’optimisation générale.
Cette page permet à l’utilisateur connecté d’obtenir ses informations en live, de vérifier son éligibilité à chaque fin de saison mais aussi de consulter le classement des utilisateurs. Se voulant plus complète que les « solutions concurrentes », celle-ci dispose aussi de liens vers les profils Farcaster des utilisateurs, répliqués directement dans l’application elle-même.
A chaque fin de saison, l’utilisateur éligible a la possibilité de claim on-chain le montant de MASKS automatiquement converti, le tout via un process de snapshot sécurisé.
Ici l’utilisateur peut consulter la totalité des fournisseurs de liquidité dans la pool Uniswap pour laquelle nous avons mis en place des incentives. Via un système de snapshot « homemade » finement réglé, tout au long de la journée les wallets obtiennent des MASKS qui pourront être transformés en $MASKS en fin de saison.
Mise à disposition d’une API publique complète permettant aux développeurs tiers (et ils sont nombreux sur Farcaster) d’utiliser les données internes dans leur propres applications / frames (mini applications Farcaster). Particulièrement appréciée, cette dernière est en constante évolution !
Quoi de mieux que du visuel pour représenter l’activité autour du token au sein de Farcaster ?
Pourboires par jour/semaine, utilisateurs uniques par jour/semaine sont les premières informations que nous avons décidé d’afficher, d’autres viendront par la suite.
Ce projet étant relativement nouveau (deux mois d’existence environ), son évolution est continue.
Renforcement de l’existant, ajout de nouvelles fonctionnalités, de nouveaux cas d’usages (le tip sur Discord venant d’être intégré), c’est l’occasion rêvée d’explorer un champ des possibles !
Cette fiche sera mise à jour autant de fois que nécessaire :)
Le RPG on-chain de Cryptocademia.
Site Web : https://play.cryptocademia.com
Smart Contracts : Heroes Unrevealed – Avatars – Items – Grimoires – Consumables – Staking
Initié en janvier 2024, Legends of Karnoa est le RPG on-chain rattaché au projet Cryptocademia.
Au programme :
Développé en solo de A à Z (smart contracts, dApp, gateway), ce projet est incontestablement le plus complet de mon portfolio.
Celui-ci représente des mois de travail, je vais donc tenter de synthétiser ici ce qui a été réalisé.
Un jeu entièrement web3 avec quelques intéractions web2 et une blockchain invisible pour les users. Projet encore en cours de changement/migration/développement mais Rp répond à toutes nos attentes jusqu'à présents ! Un projet bien complexe qui nous permet de monter en compétences avec lui.
CryptNaAb (fondateur)
Legends of Karnoa se veut accessible à tous. La blockchain est un outil, et nous souhaitions une expérience utilisateur fluide sur la blockchain, sans que les utilisateurs n'aient à interagir directement avec elle. Une fois de plus, RpGmAx a su répondre à toutes nos demandes pour ce projet, en intégrant des solutions invisibles et efficaces. Grâce à son expertise, nous avons pu offrir une interface intuitive et agréable, permettant à chacun de profiter pleinement du jeu sans se soucier des aspects techniques sous-jacents.
Yoz (fondateur)
Chaque smart contract permet à un type d’asset d’être identifiable on-chain, qu’il s’agisse d’un avatar (personnage), d’un équipement voire d’un objet provenant eux-mêmes de grimoires, la totalité des éléments du jeu sont NFTisés et transférables/revendables.
Un smart contract de staking permet au joueur de définir le personnage qu’il souhaite utiliser et de « sauvegarder » son équipement. C’est ce smart contract qui retourne les informations vitales au jeu, notamment pour les combats.
Déployés sur opBNB (blockchain rapide et peu coûteuse de la BNB Chain), ces derniers communiquent ensemble par le biais d’opérateurs, rendant ainsi possible le côté gas-less (sans frais) des transactions pour le joueur.
Note : un projet de migration vers Polygon est prévu avec de nouveaux défis techniques liés à l’account abstraction.
Après une brève authentification, directement rattachée au site Cryptocademia (sous WordPress), la dApp se voit attribuer un token sécurisé afin de pouvoir communiquer avec la gateway (dont j’avais déjà parlé sur la fiche du projet) et proposer au joueur une expérience fluide mêlant transactions on-chain et off-chain.
Le joueur peut profiter d’une interface totalement traduite (français/anglais) lui permettant d’accéder aux différentes fonctionnalités du jeu.
Qu’il s’agisse des Heroes Unrevealed (avatars NFTs non dévoilés) ou de grimoires permettant d’obtenir équipements & objets divers, la boutique est un lieu incontournable pour le joueur qui dépense ainsi les deux monnaies du jeu (ASTRALIA/EZTIA).
Des remises temporaires ou adaptées au statut de l’utilisateur (holder de collections Genesis) peuvent être activées.
Reflet de ce qu’il se passe on-chain, l’inventaire offre au joueur une interface réactive et ergonomique, quel que soit l’appareil utilisé (PC, tablettes, smartphone). Les statistiques sont calculées en temps réel tout comme le rendu du personnage qui évolue au gré des changements d’équipement. Un bouton permet d’enregistrer les changements, exécutant alors un staking des éléments concernés.
La partie droite permet notamment d’ouvrir des grimoires ou de dévoiler (dynamiquement et aléatoirement) des Heroes Unrevealed. Le tout est totalement animé.
Elle aussi animée mais aussi modulaire, la forge permet au joueur de recycler équipements, objets et prochainement avatars afin d’en obtenir de nouveaux de meilleure qualité. L’UI évolue afin de continuellement s’adapter aux choix de l’utilisateur.
Liée à la gateway (comme 100% des fonctionnalités du jeu), la forge fait ensuite appel à des fonctions des smart contracts concernés pour burn/mint de nouveaux NFTs.
Fonctionnalité centrale du jeu, l’arène offre la possibilité aux joueurs de se mesurer à de terribles adversaires.
Ces derniers sont pré générés à chaque nouvelle saison puis, à chaque combat, viennent s’adapter dynamiquement au joueur (niveau, stuff…) de façon à rendre chaque combat 100% unique !
Un déroulé du combat automatisé et calculé côté gateway est alors affiché au joueur avec des actions qui défilent à l’écran jusqu’à l’issue du combat. Le joueur a la possibilité d’accélérer ce dernier voire de le passer totalement, tout comme le voir à nouveau.
Les avatars (joueur et adversaires) sont générés dynamiquement en tenant compte de la totalité de l’équipement porté.
De plus le rendu visuel (sang) évolue en fonction des points de vie restants. Enfin, le joueur peut activer le son et ainsi profiter d’une expérience complète, sur PC ou smartphone.
Enfin, les points gagnés lui permettent notamment d’améliorer leur rang au sein du classement.
Note : Une arène PvP est prévue dans une version future du jeu.
La totalité du jeu est exécutée côté serveur, sur la fameuse « passerelle » réalisée depuis les débuts du projet.
Outre la sécurité renforcée et la possibilité de proposer du gas-less via des opérateurs de jeu, cela ouvre la voix à de nombreuses possibilités futures, un jeu « 3D » pourrait ainsi utiliser les mêmes données et offrir au joueur une version revisitée du jeu, avec les mêmes « règles » de base. Un projet tiers pourrait aussi venir consulter certaines informations à propos du joueur.
La gateway a été conçue pour dissocier totalement le code source du jeu (avec les formules complexes liées ou encore le rendu visuel des avatars) du reste. LoK est ainsi un jeu reposant à la fois sur des données on-chain & des données off-chain mixées ensembles via la gateway pour enfin être retournée au client (dApp ou autre) de manière optimisée & sécurisée.
Un très bon exemple étant la création d’une frame Farcaster (mini app, exemple ci-contre) venant dynamiquement récupérer le visuel final du personnage de l’utilisateur !
Legends of Karnoa n’en est qu’à ses débuts…. Outre la présentation succincte ci-dessus, le projet ne cesse d’évoluer.
La roadmap est conséquente, les fonctionnalités à venir nombreuses (annoncées ou non) et la migration vers Polygon couplée à l’intégration de l’account abstraction font de LoK le projet le plus complexe jamais réalisé de mon côté !
Il faut sauver le soldat Ryan !
Lorsque la team bycmLAB m’a parlé de relancer le mint (temporairement stoppé) d’une collection de Clément Mougel dont l’ancienne team technique avait déserté, j’ai tout de suite regardé l’état des lieux aussi bien au niveau du Smart Contract / dApp qu’au niveau de la génération et du stockage des NFTs… Bienvenue dans la jungle 😅
Si le Smart Contract pouvait être « administrable » (après récupération de l’ownership), la dApp était à redévelopper (aucune source) et pire encore la génération des NFTs (métadonnées et visuels) était à refaire totalement, tout comme le stockage de ces derniers.
Les NFTs déjà « revealed » ne disposaient tout simplement pas des métadonnées attendues et le tout était stocké sur un serveur fermé depuis.
Véritable « opération sauvetage« , du moins c’est comme ça que je l’ai vécue, mais opération nécessaire pour tout remettre d’aplomb pour cette collection qui le méritait !
Si les 1000 visuels étaient tous présents, je n’avais aucun fichier JSON associé. Ces fichiers sont générés habituellement en même temps que les visuels (lors de la randomisation) mais ici le seul fichier que j’avais à ma disposition était un CSV historique illisible.
Après littéralement plusieurs jours de traitement minutieux, à grand renfort de scripts Python pour parser les données et d’échanges avec la team pour proposer quelques changements & comptabiliser/corriger certaines informations, j’ai pu obtenir un fichier CSV nettoyé et exploitable ! Ce dernier comprenait notamment le lien ID NFD <> ID IMG qui n’existait jusqu’alors que pour les NFTs mint en phase I.
Couplé à un modèle réalisé sur mesure et un ultime script dédié, j’ai pu générer les 1000 JSON tout en prenant en compte le statut revealed/unrevealed des NFTs déjà mint et de ceux à venir (et ce pour la phase II et les éventuelles suivantes).
Bref, un énorme travail particulièrement chronophage pour obtenir ces fameuses métadonnées tant attendues, notamment par les « holders » de la phase I qui n’avaient aucune idée des attributs de leurs NFTs :/
Enfin, un stockage IPFS à la fois des JSON et des visuels (qui pour rappel n’existaient plus, la faute à un stockage HS) et cette partie était enfin sécurisée.
L’ancienne dApp n’était pas exploitable, je n’avais pas les sources et il fallut donc faire avec un SC déjà déployé sur mainnet.
Redéploiement partiel de mon côté sur testnet par sécurité et pour réaliser certains tests de bon fonctionnement.
La dApp devait mimer une phase de mint « indépendante » avec son propre supply, la phase II étant très différente de la phase I (prix et possibilités pour le « holder ») tout en permettant du mint multiple et limité.
Une fois la phase II sold out, un reveal ciblé a eu lieu avec des métadonnées dévoilées pour ces fameux nouveaux NFTs tout en gardant bien cachés ceux à venir pour une éventuelle phase III.
Il reste en effet 350 NFTs pouvant être mintés et connaissant Clément Mougel et sa relation « fusionnelle » avec ses créations (les artistes…), ils verront le jour à un moment ou un autre, j’en suis persuadé… En tout cas tout est prêt de mon côté ! 😊
Le premier Learn 2 Earn français dédié à l’écosystème Web 3.
Site Web : https://www.cryptocademia.com
DApp de gestion de wallets : https://wallet.cryptocademia.com
Treasure Chests : https://treasurechests.cryptocademia.com
Smart Contracts : Treasure Keys & Treasure Chests
Après deux collections NFTs réussies (B3ar Market & B4D Bull), l’équipe a décidé de passer à la vitesse supérieure afin de proposer Cryptocademia : la première plateforme de Learn to Earn française dédiée à l’écosystème Web 3, rien que ça !
Si B3ar Market signait mes débuts en tant que développeur Web 3, Cryptocademia me permet de poursuivre dans cette voie et de catalyser tout ce que peut représenter le Web 3 pour un développeur.
Il s’agit incontestablement du projet le plus complexe et le plus complet sur lequel je suis intervenu et sur lequel je vais encore bosser durant plusieurs mois ! Découvrons ensemble les principaux points sur lesquels j’ai travaillé.
Un projet très complexe mélangeant web2 et web3 dans le même système avec les contraintes associées. Rp a réussi à braver les difficultés les unes après les autres nous permettant de déployer un projet de qualité (qui est encore en développement pour certaines parties). Nous sommes très content de l'avoir dans l'équipe.
CryptNaAb (fondateur)
J'ai eu le plaisir de collaborer avec RpGmAx sur Cryptocademia, un projet ambitieux à mi-chemin entre le Web2 et le Web3, visant à éduquer les néophytes au monde de la blockchain. RpGmAx a su surmonter de nombreuses contraintes techniques pour permettre une intégration fluide de multiples fonctionnalités : intégration Web2/Web3, NFTs, dApp de récompenses, tout y passe ! Il respecte toujours les délais annoncés et délivre un travail de grande qualité.
Yoz (fondateur)
Cryptocademia est un projet particulier, il combine en effet à la fois un socle fort en Web 2 (via un site Wordpress dédié aux cours) mais aussi de nombreuses fonctionnalités Web 3 (détaillées plus bas). En charge de la totalité de l’infra, j’imagine et met en place le nécessaire depuis plusieurs mois afin de permettre la « Web3isation » de ce dernier.
Serveur LAMP et sa maintenance, serveur Redis, serveur Node.js, passerelles & interconnexions diverses… Le tout sans oublier l’optimisation générale qui a permis au site de fortement gagner en performances depuis sa création. Un véritable projet tout-en-un.
Pierre angulaire du projet, un serveur Node.js a été créé afin de permettre un dialogue continu entre le site WordPress, les nombreux sites annexes et les différentes blockchains utilisées derrière. C’est grâce à ce serveur que les DApps satellites, entièrement Web 3, peuvent reconnaître et interagir avec le profil Web 2 de l’utilisateur (côté WordPress).
Débuté en septembre, celui-ci a régulièrement évolué pour faire face aux différents défis techniques rencontrés.
Note : sécurité oblige, il n’est pas possible de partager un extrait du code source.
Première étape indispensable dans la « Web3isation » du site, la possibilité pour l’utilisateur de rattacher un ou plusieurs wallets à son profil. Ceci est rendu possible via une DApp satellite reconnaissant automatiquement l’utilisateur connecté sur le site principal.
Ajout d’un wallet « externe« , qu’il soit hot ou cold, mais aussi la possibilité pour l’utilisateur d’obtenir un wallet généré à la volée (intégration de Web3Auth), permettant ainsi d’onboarder des profils totalement novices qui obtiennent un wallet dont ils peuvent exporter la clé privée à tout moment (une fois les bases assimilées).
Avec une interface simple et intuitive, l’utilisateur peut gérer à sa guise le(s) wallet(s) qu’il souhaite rattacher à son profil, le tout de manière totalement sécurisée avec des signatures off-chain assurant la légitimité de chaque demande.
Ces wallets sont ensuite utilisés sur d’autres DApps mais aussi pour le passive earning (cf plus bas).
Qui dit Learn to Earn dit possibilité d’obtenir des récompenses, et c’est là qu’intervient Treasure Chests.
Lancé début décembre, cette fonctionnalité marque un tournant important dans la feuille de route de Cryptocademia en permettant ainsi aux utilisateurs de la plateforme de convertir leurs Eztia (monnaie off-chain obtenue sur la plateforme) en clés NFTisées échangeables !
Plateforme annexe et véritable terrain de jeu pour tout développeur Web 3, Treasure Chests c’est :
Seconde fonctionnalité importante dans la « Web3isation » de la plateforme : la possibilité d’obtenir un rendement passif en détenant des NFTs des collections B3ar Market & B4D Bull (puis par la suite ceux de la future collection dédiée au jeu).
La « gateway » détecte automatiquement les NFTs détenus et les gains associés à ces derniers et, de manière totalement automatisée, distribue des uEztia chaque nuit. L’utilisateur peut claim ceux-ci à tout moment afin d’obtenir des Eztia.
Un plafond existe afin d’amener l’utilisateur à claim régulièrement en accédant à son tableau de bord.
2024 s’annonce être l’année charnière pour Cryptocademia !
En effet, la gamification va atteindre un nouveau palier en permettant aux utilisateurs de la plateforme d’obtenir un avatar qu’ils pourront équiper et faire combattre, à la manière d’un RPG, mais 100% on-chain.
Smart Contracts dédiés aux personnages, aux équipements, au staking. Les défis techniques vont être nombreux et sont l’objet de ma prochaine grosse mission au sein de Cryptocademia :)