Cryptocademia
Le premier Learn 2 Earn français dédié à l’écosystème Web 3.
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 Contacts : 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é.
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 :)
Générateur de PFP basé sur les NFTs détenus.
Halloween : https://halloween.thecryptomasks.xyz
Noël : https://xmasks.thecryptomasks.xyz
Collection annexe à celles des Cryptomasks et des Zodiacmasks, la collection Cryptomasks Custom permet à tout propriétaire d’un mask d’obtenir un exemplaire d’un accessoire personnalisé saisonnier. Après une première édition nommée « Maskalavera » sortie pour Halloween, un hoodie spécial baptisé « Xmasks » a été créé pour Noël.
En charge de la réalisation des DApps associées, ces dernières (qui seront probablement fusionnées à terme) permettent de lister les NFTs éligibles de l’utilisateur et de générer à la volée une version modifiée utilisable en tant que PFP.
Si la première version ne nécessitait aucun prérequis pour générer l’image, la seconde s’assure que l’utilisateur dispose à la fois du mask mais aussi de l’accessoire servant à générer la PFP, les deux étant bien évidemment des NFTs.
L’interface est intuitive et l’expérience globale est d’une fluidité exemplaire.
Un grand bravo à RpG pour avoir développé cet outil unique et engageant!TheCryptomath (fondateur)
757 abeilles qui mutualisent leurs fonds pour pouvoir butiner ensemble les airdrops des nouveaux protocoles blockchains.
Premier projet incubé par Cryptocademia (à retrouver sur une fiche dédiée), Honey Airdrop est un projet de mutualisation de fonds couplé à du farming d’airdrops géré par « Moula Crypto Gaming ».
L’idée est simple, se servir des fonds récoltés lors du mint pour farmer de la manière la plus efficace possible (rapport temps passé / objectifs à atteindre) les potentiels airdrops de blockchains EVM ou non.
Les fonds sont ainsi répartis sur de nombreuses blockchains et Moula se charge d’effectuer les routines quotidiennes afin de maximiser les chances (et rendements associés) d’obtenir des airdrops.
Dès lors qu’un airdrop tombe, ce dernier est converti en USDT (ou MATIC si besoin) puis est injecté dans un smart contract dédié (appelé « Hive »), permettant aux détenteurs de NFTs de la collection de récupérer leur part (1 NFT = 1 part). La collection a permis le mint de 757 NFTs.
Premier projet (et loin d’être le dernier) pour lequel j’ai soumis l’idée de réaliser différents smart contracts, Honey Airdrop fonctionne à l’aide de 2 SCs complémentaires.
Le premier est la collection NFT elle-même, ayant offert la possibilité de minter très vite, le tout via différentes phases (prérequis/prix différents).
Le second est la ruche (Hive) qui sert à la fois à la génération des métadonnées dynamiques du premier SC mais aussi à déposer les fonds (résultant des airdrops) afin que les holdeurs puissent récupérer leur part.
Les deux smart contracts sont par conséquent intimement liés mais la ruche pourrait être redéployée si besoin est, et le premier SC mis à jour pour refléter le changement.
Le SC Hive est sorti dans un second temps, afin de s’assurer du bon fonctionnement, notamment de toute la partie liée aux parts (shares) des holdeurs. Cette dernière a d’ailleurs été réécrite entièrement durant les phases de test, pour optimiser au mieux les fees et améliorer la « logique » derrière. Ce SC permet par ailleurs de récupérer les fonds de plusieurs NFTs avec une seule transaction, là encore à des fins d’optimisation et de confort d’utilisation.
Projet évolutif oblige, la DApp a particulièrement été travaillée, qu’il s’agisse du visuel global, de la phase de mint ou, bien entendu, de toute la partie Dashboard (Hive) qui a pour vocation a être consultée durant toute la durée de vie du projet !
Très réactive, avec un dashboard imaginé conjointement avec la réalisation du smart contract (listing des airdrops, remontées d’infos diverses, récupération des fonds pour les NFTs souhaités…), cette dernière est le résultat d’une opération carte blanche avec des visuels générés par IA.
Durement éprouvée durant les phases de test avec l’équipe derrière le projet, elle fut validée pour le déploiement public !
Le dernier projet déjanté de BullBiDoo.
Vous souvenez-vous de BullBiDoo ?
Après une collection BULBiMasks réussie, ils ont décidé de récidiver avec une collection encore plus barjo ;)
What The 7uck (WT7) se présente sous la forme d’une collection de 1800 NFTs, avec une réalisation technique particulièrement rapide (la faute à un emploi du temps très chargé au moment du projet), un peu comme avec les BULBiMasks en fait, maintenant que j’y repense !
Les NFTs sont le fruit du travail acharné de l’équipe qui a généré par IA (et pas mal d’huile de coude) 1800 visuels regroupés en 4 familles et 8 rangs. De quoi parfaitement imager l’aspect atypique de la collection.
Qui dit collection atypique dit smart contract qui l’est tout autant.
3 phases de mint découpées en 2 parties (soit 6 phases au total), la première partie étant réservée au free mint (via WL gérées par le serveur d’allowlist) et la seconde partie à du mint classique.
Pour éviter tout « flood » et une distribution juste, les phases de free mint furent régulées par une mesure « anti whale ». Cette dernière n’autorisait qu’un seul mint par wallet pendant une période donnée, avant ouverture totale des vannes.
La grosse originalité de la collection et par conséquent du smart contract réside dans le côté totalement aléatoire du mint.
Ainsi chaque phase dispose de son propre pool d’ID de NFTs qui sont utilisés lors du mint.
L’utilisateur obtient ainsi un ID « au pif » qui se retrouve ainsi retiré du pool, et le reveal de son NFT est instantané !
L’intérêt ?
Permettre à l’équipe de proposer, entre deux phases, des rachats + burn de NFTs en fonction de leur rareté.
L’utilisateur a ainsi la possibilité de revendre son NFT et obtenir une quantité définie de MATIC en échange, son ancien NFT se retrouve burn et disparait à tout jamais.
Mais il a aussi la possibilité de conserver son NFT dans le but d’obtenir des chances supplémentaires pour le tirage au sort final. Plus son NFT est rare et plus grandes sont ses chances.
Un choix terrible, n’est-ce pas ? :D
Le smart contract a été développé avec cette idée en tête mais aussi la possibilité pour l’équipe de whitelister au fur et à mesure de nouvelles personnes (via des partenariats notamment), permettant de créer une phase de mint sur la durée avec des phases de mint ultra rapide (les free mints) et d’autres sur quelques heures/jours (les mints classiques).
Petite subtilité peu courante côté DApp, celle-ci avait la particularité d’afficher instantanément la rareté du NFT obtenu mais aussi l’offre de rachat associée.
A la manière du plaisir de la découverte à l’ouverture d’un « booster » (Magic ou autre) lorsque l’on était gamin, on se prend au jeu et on se laisse facilement tenter par un autre (free) mint.
Les phases de freemint étaient particulièrement attendues et l’accent a été mis sur la capacité à la DApp de gérer l’afflux de requêtes (particulièrement nombreuses il faut l’avouer) et au bon déroulement du mint. L’expérience utilisateur devait être la plus fluide possible tout en indiquant précisément dans quelle phase il se trouvait (via une jauge de progression).
Free mints réservés aux holdeurs !
Une collection particulière, de type ERC-1155 (multiples exemplaires d’un même token), The Aristocrats Special Edition se veut être réservée aux holdeurs (propriétaires) d’œuvres de l’artiste contemporain Clément Mougel au style particulièrement reconnaissable et régulièrement exposé !
Premier projet d’une (longue) série prévue, celui-ci était l’occasion rêvée de proposer quelque chose de techniquement intéressant et ainsi d’aller au delà du cahier des charges initial.
Un grand merci à RpGmAx pour ses conseils et son accompagnement pour la réalisation d'une Dapp et d'un SC dédiés à notre collection de NFT Aristo Spécial Edition. Le tout dans les règles de l'art et sans accrocs!
L'ensemble de la team Aristo
Le smart contract de cette collection permet à l’équipe derrière le projet de générer de nouveaux tokens, à la demande, avec des prérequis particuliers.
Qu’il s’agisse d’être holdeur de collections ERC-721 déployées sur la même blockchain (Ethereum) permettant d’obtenir un exemplaire par NFT détenu (1/1), ou bien encore d’être holdeur de collections totalement dissociées (blockchain différente, ERC différent) avec des allocations différentes. Le smart contract offre un maximum de possibilités, en profitant à la fois de l’interfaçage « on-chain » entre smart contracts mais aussi du serveur d’allowlist (cf projet dédié).
L’idée étant d’avoir une collection évolutive qui peut fixer ses propres règles et offrir aux nombreux collectionneurs de l’art de Clément Mougel (mais pas que…) de nouvelles créations inédites !
Reflet des possibilités du smart contract, la DApp se veut être le pendant intuitif dont l’unique but étant d’assurer un mint simple pour les holdeurs. Par le biais d’une liste, le collectionneur sélectionne un token d’une collection éligible et obtient un exemplaire gratuit et ce d’un seul clic !
Les pages sont auto générées, ainsi si l’équipe décide de sortir un nouveau token, la DApp réagit dynamiquement aux informations émises par le smart contract.
Simplicité et efficacité étaient les maîtres mots :)
Un serveur pour les « gouverner tous » 😉
Réponse directe à un problème régulièrement rencontré, ce serveur créé sur mesure me permet de générer des listes blanches pour les différents projets sur lesquels j’interviens (SC + DApp ou DApp uniquement).
Son but est simple : uniformiser et centraliser les différentes listes afin de réduire le code côté DApp tout en permettant de nouvelles choses côté Smart Contract.
Un projet évolutif, à la manière de la rareté de ses NFTs.
Prolongement direct de la v1 publiée début 2023, cette version 2 apporte son lot de nouveautés !
Spoiler : Une version 3 apportant une extension au projet est prévue.
Afin de palier à l’absence de certaines informations en provenance du Smart Contract (car non prévues initialement), un serveur Node.js a été réalisé.
Ce dernier permet de parser les différentes transactions initiées par un wallet spécifique et à destination du Smart Contract. Il retourne ainsi le nombre de satoshis redistribués & le cumul en BTC ainsi que les derniers burns.
La DApp est par conséquent rattachée à celui-ci et affiche des informations continuellement à jour.
Afin d’alerter automatiquement l’ensemble des membres du projet, une notification Discord est émise dès qu’un burn est effectué. Cette dernière affiche le nom du Marmottoshi « brûlé », la transaction associée et les satoshis récupérés par l’auteur du burn.
Une manière simple et efficace de relayer de l’information on-chain.
Une collection #NFT créée par des Holders du projet TheCryptomasks 🎭
Smart Contract : Etherscan
DApp : https://www.thebulbimasks.xyz
Passerelle Web 2 : https://gateway.thebulbimasks.xyz
Fruit de l’imagination de BullBiDoo (le duo de choc formé par DMDOO et xBull-Bizarre), le projet The BULBiMasks représente à lui seul la force d’une communauté et la hype imprévisible (et incontrôlable) qui peut jaillir d’une idée.
Initialement, les BULBiMasks étaient de « simples déviations » (versions réimaginées puis générées par l’IA) des masks du projet Cryptomasks. Ces images non NFTs ont su trouver leur public puis tout s’est accéléré… BullBiDoo avec qui j’étais déjà en contact pour un futur projet, m’ont demandé s’il était possible de proposer une collection NFT dédiée à ces petits personnages… Le timing était serré mais ce fut bien évidemment accepté !
Merci RpGmAx d’avoir rendu tout ça possible 🫵 👹
On savait à quoi s’attendre en travaillant avec toi, mais tu as quand même réussi à nous surprendre par ton expertise inestimable et tes nombreux conseils dans tous les domaines liés au WEB3 👨💻💪
Bravo pour ta flexibilité, qu’on a mis à rude épreuve avec un double projet complexe, qui n’a cessé d’évoluer au grès des attentes de notre communauté.
Ce n’est que le début, on a encore du pain sur la planche 🤪💥
Aucun doute que ta présence dans la CoreTeam des CryptoBarjos contribuera à la réalisation de grandes choses 🧘🏽♂️
To be continued… 🤜 🤛BullBiDoo (fondateurs)
Une fois n’est pas coutume, j’apporte systématiquement mon expertise et mes réflexions à tout projet que je rejoins. J’y tiens !
Si BullBiDoo savaient précisément ce qu’ils souhaitaient faire, mon but était de leur expliquer « comment on allait le faire » et les pièges qu’il fallait éviter (ils sont toujours plus nombreux que ce que l’on croit).
La collection des BULBiMasks est un peu particulière car elle devait à la fois proposer du free mint (avec pourboire) pour les propriétaires des Cryptomasks (avec du 1/1 au niveau des IDs) tout en offrant la possibilité par la suite de proposer des NFTs additionnels, non liés aux Cryptomasks et voués à être soit mintés soit achetés sur le marché secondaire.
Il fallait aussi trouver une solution au fait d’avoir des réalisations et des reveals au gré des « phases ». Le tout de manière dynamique et transparente pour l’utilisateur. L’idée de développer une passerelle (Web 2) retournant les informations des dits NFTs fut ainsi proposée et adoptée.
Je l’expliquais juste au dessus, la plus grosse problématique était liée à la réalisation « au fur et à mesure » des différents BULBiMasks. Là où une collection classique dispose de l’ensemble de ses visuels pour faire un reveal en « one-shot », ici il fallait pouvoir proposer une collection évolutive avec des visuels par défaut (pour les BULBiMasks en « construction ») et des visuels pour ceux réalisés.
J’ai ainsi développé en PHP une petite passerelle Web 2 qui génère du JSON à la volée tout en permettant à BullBiDoo de venir injecter leur propre JSON lorsque BULBiMask était prêt ! La passerelle s’occupe aussi de retourner l’image correspondante.
L’idée étant d’utiliser cette passerelle jusqu’à ce que l’ensemble des visuels soient finalisés, pour enfin basculer en IPFS.
Je l’évoquais plus tôt, cette collection a la particularité de proposer 2 types de mints : un free mint pour les propriétaires de Cryptomasks et un mint « classique » pour des BULBiMasks additionnels.
L’ensemble du smart contract a été pensé autour de cette idée avec du code dédié aux 1/1 (Genuine) et du code pour la partie additionnelle avec les Honorary/Collabs et les Piracy. Uri différentes avec leur propre verrouillage, mise en pause du free mint ou du mint standard, système de WL pour le mint standard… Tout a été fait pour couvrir un maximum de cas de figures.
Pour le mint 1/1, le SC a directement été rattaché à l’interface du SC d’origine des Cryptomasks, de façon à pouvoir s’assurer de la « bonne possession » du mask d’origine dans le wallet qui free mint.
Un compteur distinct et hors collection Genuine a été utilisé pour le mint « classique », de façon à organiser les différents NFTs et pouvoir assurer un 1/1 sans encombre (l’ID d’un 1/1 devant être réservé).
Enfin, le nécessaire pour les royalties a été mis en place, avec l’ERC-2981 & l’habituel Operator Filter d’OpenSea.
Un splitter de paiement a été intégré afin de pouvoir dispatcher les fonds liés aux royalties sur les différents wallets de l’équipe.
Vitale pour la phase initiale du projet, la DApp devait à la fois présenter ce dernier mais aussi et surtout permettre aux propriétaires de Cryptomasks de faire un free mint par mask détenu.
L’accent a été mis sur la fluidité de la procédure, de façon à guider l’utilisateur de A à Z.
L’idée était aussi de lui suggérer de laisser un pourboire, afin de récompenser le travail de l’équipe.
Le responsive a été particulièrement travaillé afin d’avoir le meilleur résultat possible sur l’ensemble des supports (smartphones, tablettes, différentes tailles d’écrans…), c’était un impératif pour conserver une interface intuitive.
A noter que pour la première fois je suis parti d’un template (imaginé par DMDOO), refait à l’identique en React (ligne par ligne) auquel j’ai ensuite ajouté toute les fonctionnalités requises. C’était une façon de travailler très agréable et qui m’a permis de gagner pas mal de temps, temps qui était précieux au moment de la réalisation !
The BULBiMasks évoluant sans cesse, de nouvelles fonctionnalités sont prévues et du dev supplémentaire va être nécessaire. On se retrouve donc dans quelques temps pour une MAJ de cette fiche :)