RpGmAx
Je suis un texte qui défile (><) autodidacte (depuis toujours) dev web 2.0 / 3.0 (depuis + de 20 ans) très polyvalent (casquettes multiples) flexible & rapide (tant qu'à faire...) aussi joueur PC/consoles (détente) passionné de crypto (depuis 2017)Mes principaux domaines
Dev Web 2.0
Sur mesure, en partant de "zéro" (from scratch) ou en s'appuyant sur un CMS. PHP & JS/TS sont mes langages de prédilection. Backends Node.js custom à la demande !
Dev Web 3.0
Smart Contract (Solidity + OpenZeppelin 5), dApp (React + viem) ou apps diverses (multichain). Création de tokens fongibles (ERC-20) ou non fongibles (ERC-721 / 1155).
Sécurité blockchain
Analyseur de hacks / scams sur la blockchain. Audits de premier niveau de smart contracts. Ancien ethical hacker, désormais perdu sur les explorateurs EVM (principalement).
Projets
Étant développeur depuis une vingtaine d’années (dont 17 ans de métier), les projets ci-dessous ne sont que les plus récents (2022 et +) et axés Web 3 🙂
Dernière MAJ : juillet 2024
Projets à venir : The Soci3ty / 9Fungible Éditions / LoK v2
J'ai découvert RpGmAx sur les réseaux sociaux, grâce à son travail sur différents projets web3. Lorsque j'ai eu besoin d'un développeur pour mon projet, surtout pour renforcer la sécurité, je me suis naturellement tourné vers lui. Bien qu'il n'ait jamais travaillé avec la blockchain MultiversX, sur laquelle est basé mon projet, il a accepté de m'aider avec enthousiasme. Quelques jours (voire quelques heures) plus tard, l'application (dapp) était opérationnelle.
Au-delà de son efficacité, j'apprécie énormément sa réactivité et son soutien général. Il n'a jamais hésité à consacrer de son temps pour répondre à mes questions techniques ou m'aider à aborder certaines parties de mon développement. Ses conseils m'ont permis d'éviter de nombreuses heures de recherche et de complications.
J'espère pouvoir continuer à collaborer avec lui à l'avenir, car il apporte une valeur ajoutée considérable à mon projet ! Un grand merci à lui !Cryptortue
Honua Honu – Les Gardiens de l’île est un jeu Web 3 développé par Cryptortue.
Dans ce dernier, les joueurs font évoluer & combattre leurs Honu (tortues NFTisées).
Si la base du jeu utilise des technos plutôt Web 2 (PHP/MySQL), elle fait toutefois appel à l’API Web 3 de la blockchain MultiversX afin de récupérer des informations on-chain nécessaires.
Ce dernier, en plein développement et en constante évolution, était néanmoins en manque d’une ultime fonctionnalité pour permettre aux joueurs d’utiliser leur wallet afin de s’authentifier de manière sécurisée, et ça, c’était ma mission 🙂
dApp d'authentification
Premiers pas dans le développement front-end sur MultiversX, c’était l’occasion rêvée pour expérimenter et proposer quelque chose de fonctionnel et complet.
La dApp sous Next.js utilise les derniers standards proposés par MultiversX (connexion suivie d’une signature) ainsi que la librairie useElven qui a été légèrement forkée pour l’occasion notamment pour améliorer le workflow général qui, il faut bien l’avouer, souvent capricieux côté MultiversX…
Le joueur peut connecter son wallet, qu’il soit propriétaire (xPortal) ou alternatif (Ledger par exemple), entre autres…
Il dispose ensuite d’une session d’une durée de vie de 24h, lui permettant ainsi de revenir plusieurs fois dans la journée sur le jeu sans devoir recommencer le process global d’authentification. Un QR Code s’affiche automatiquement si le joueur est sur une connexion desktop, lui permettant d’accéder au jeu sur son téléphone (qui permet aussi de se connecter si nécessaire).
L’idée, et le challenge associé, était d’avoir une dApp dédiée à l’authentification (en JS) qui fait le lien avec le jeu par le biais d’une mini passerelle (développée elle aussi, en PHP). Ainsi, une fois connecté sur la dApp le joueur peut accéder au jeu (proposé sur une autre URL) et être correctement reconnu par ce dernier. Deux blocs indépendants mais communicants.
Le tout en respectant les règles sécuritaires, à la fois côté dApp et côté jeu qui refusera tout token incorrect ou expiré.
Accompagnement technique
Outre la dApp qui fut une mission certes très courte mais très enrichissante, j’ai proposé au fondateur du jeu mon accompagnement technique immédiat et futur.
Ainsi certains points plus traditionnels ont été aussi proposés/développés, qu’il s’agisse de choix technologiques (infrastructure, responsive…) ou de bonnes pratiques (réécritures d’URLs, workflows…).
Cryptortue sait qu’il peut compter sur mes conseils tout en lui laissant le champ libre vis à vis de son développement.
Un projet d’un passionné, à suivre bien évidemment !
MASKS Token
Le premier token social sur Optimism !
Liens directs
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 🙂
Smart Contracts
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.
dApp
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.
Airdrop
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é.
Liquidity Mining
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.
API
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 !
Stats
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.
Un projet en évolution constante
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 🙂
Tickets Print
Des tickets NFTs offrant la possibilité d’obtenir des versions physiques des œuvres de Clément Mougel !
Dernier né de l’imaginaire de l’artiste Clément Mougel, le projet Tickets Print a un côté Charlie et la Chocolaterie !
500 tickets mintable de manière aléatoire, 484 tickets bronze, 15 d’argent et bien entendu un ticket d’or 😉
Une fois en possession d’un ticket, l’utilisateur peut le « burn » afin de réclamer une version physique (toile) d’une œuvre éligible de Clément Mougel (qu’il doit détenir dans son wallet). La rareté du ticket influant sur le type de « print » qu’il va recevoir.
D’une idée d’une collection de Ticket Print pour Claim des Prints de NFT détenus, Rpgmax a poussé le concept d’une Dapp permettant de tout gérer on chain (éligibilité, FreeMint, Claim et check disponibilité du Print) jusqu’à sa réalisation technique. Des conseils au développement quelque soit la complexité! Une vraie valeur ajoutée pour la team projet (suivi, gestion et évolution) que pour nos holders (transparence, sécurité et facilité)! Un énorme merci!!!
La Team bycmLAB
Smart Contract
Déployé sur Polygon, le smart contract assure à la fois le mint aléatoire, qui reste ouvert jusqu’à épuisement des stocks, mais aussi la partie claim des versions physiques..
Cette dernière fonctionne au travers de collections autorisées par l’équipe bycmLAB.
Compatible avec les collections ERC-721 (1/1) mais aussi ERC-1155 (copies multiples), le SC autorise aussi bien le claim d’une œuvre unique que le claim d’une œuvre en édition multiples (avec des limitations configurables).
Le SC permet aussi de remonter facilement l’information des claims réalisés, afin de signaler à tout (futur) propriétaire d’une œuvre si cette dernière est toujours imprimable sur toile.
dApp
La dApp propose 3 fonctionnalités distinctes, le mint (tant que ce dernier est possible), la vérification d’éligibilité listant les collections compatibles et vérifiant on-chain le statut d’un NFT, et le claim en lui-même.
La partie mint était basée sur plusieurs phases (comme bien souvent) avec notamment du free mint et des phases sous liste blanche.
Concernant le claim, celui-ci s’effectue de manière intuitive via un système en 4 étapes.
- L’utilisateur sélectionne dans son wallet une œuvre compatible qu’il souhaite obtenir en version physique.
- Il choisit ensuite le ticket print qu’il souhaite « burn » (utiliser).
- Il valide le tout, après confirmation, via une transaction on-chain.
- Enfin, il complète un formulaire à destination de l’équipe du projet tout en effectuant une vérification de propriété du wallet (afin de s’assurer de la légitimité de la demande, multichain oblige).
Vision long terme
Ce projet a été imaginé et développé afin de pouvoir s’inscrire sur le long terme. Qu’il s’agisse de futures collections à implémenter ou bien encore une potentielle extension de tickets bronzes une fois le supply actuel terminé, tout a été pensé en amont & et en collaboration avec le reste de l’équipe.
Systématiquement proposé, mon accompagnement technique me permet d’orienter le projet vers les idées les plus adaptées et d’éviter les pièges liés au Web 3 en règle générale.
Marmottoshis v4
Une évolution sans fin 😉
On saute une version en passant directement de la v2 à la version 4 du projet !
En effet, pas mal de choses depuis, dont l’implémentation d’une fonctionnalité bientôt disponible qui justifie le passage en v4 😉
- Implémentation d’une nouvelle fonctionnalité « Adopt A Marmot » avec son propre Smart Contract sur Arbitrum.
- Implémentation d’une future fonctionnalité « MarmottoShow » bientôt disponible…
- Migration importante des librairies utilisées vers une version majeure plus récente.
Breaking change oblige, une bonne partie du code de la dApp a du être réécrit, à nouveau >< - Réécriture puis fusion des serveurs Node.js implémentés dans la v2 avec pour objectif de décentraliser totalement ces derniers.
- Nombreuses optimisations du code et de l’UI. Comme toujours 🙂
Toujours un réel plaisir de travailler avec RpGmAx, en veille technologique permanente, il est proactif sur l'existant tout en y intégrant des évolutions.
Doté de nombreuse compétences techniques il apporte également de la fluidité dans les échanges entre membre du staff technique.
Bref je ne peux que recommander les services de RpGmAx (tant que vous le laissez dispo quand j'en ai besoin :p)DocMarmott (fondateur)
Adopt A Marmot
Nouvelle fonctionnalité déployée sur le réseau Arbitrum, Adopt A Marmot permet à la team du projet de mettre en « adoption » des marmottes (en stock ou rachetées sur le marché secondaire). Les futurs parents peuvent tenter de faire une adoption en effectuant un ou plusieurs dons (en fonction des conditions de l’adoption déterminées dans le smart contract réalisé par mes soins).
La team peut ensuite réaliser un tirage au sort qui va déterminer un heureux élu !
Mélangeant aléatoire et gamification, notamment au travers d’une interface dynamique et visuelle (avec une forte inspiration « Tamagotchi », désolé ^^), cette nouvelle fonctionnalité permet de créer un cercle vertueux entre vendeurs et acquéreurs à petit budget.
MarmottoShow
Pas encore dévoilée publiquement, cette nouvelle fonctionnalité arrivera prochainement sur une troisième blockchain, faisant de Marmottoshis le projet réalisé avec le plus de blockchains cohabitant dans la même dApp !
J’ai eu le plaisir de créer une interface sobre et efficace adaptée, qui sera révélée le moment venu 😉
Legends of Karnoa
Le RPG on-chain de Cryptocademia.
Liens directs
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 :
- 6 smart contracts dont un dédié au staking permettant au joueur d’équiper son personnage.
- Chaque avatar, objet, consommable est un NFT à part entière.
- Une interface utilisateur moderne, responsive, dynamique et animée, mimant ce que l’on pourrait retrouver dans un jeu vidéo « conventionnel ».
- Un rendu temps réel lors de l’équipement de son personnage. Chaque asset a été réalisé par l’artiste NoNegocio et de très nombreuses variantes ont été implémentées afin d’avoir un rendu « clean » quel que soit l’équipement porté !
- De nombreuses fonctionnalités (boutique, gestion de son personnage, forge, arène, classement)…
- Des transactions 100% gas-less.
- Un jeu entièrement traduit (français/anglais).
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)
Smart Contracts
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.
dApp
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.
Boutique
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.
Inventaire
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é.
Forge
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.
Arène
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.
Gateway
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 !
Et ce n'est pas terminé...
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é !
Aristocrats Battle – Phase II
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 !
Génération des NFTs et stockage IPFS
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.
dApp
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é.
Reveal et futur de la collection
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é ! 😊
Cryptocademia
Le premier Learn 2 Earn français dédié à l’écosystème Web 3.
Liens directs
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)
Gestion de l'infrastructure globale
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.
Serveur Node.js "Gateway"
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.
DApp Cryptocademia Wallet
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).
Treasure Chests (SCs + DApp)
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 :
- Différents Smart Contracts (Clés, Coffres…) communiquant ensembles.
- Une DApp Next.js complète et optimisée récupérant de nombreuses informations directement on-chain.
- Une interface d’administration intuitive permettant à l’équipe Cryptocademia de gérer les coffres & tirages au sort (on-chain).
- Une conversion Eztia > clés NFTs totalement transparente pour l’utilisateur (0 frais, 0 transaction) et ce par le biais de la création d’un wallet « opérateur » dédié agissant dans l’ombre (via la « Gateway » Node.js).
- La possibilité pour l’utilisateur d’obtenir la crypto de son choix en quelques clics (via l’intégration de Transak).
Passive Earning
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.
Le plus gros est à venir...
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 🙂
The Cryptomasks Custom
Générateur de PFP basé sur les NFTs détenus.
Liens directs
Halloween : https://halloween.thecryptomasks.xyz
Noël : https://xmasks.thecryptomasks.xyz
Pepe : https://pepe.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)
Honey Airdrop
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.
Un nouveau système de distribution à faire onchain. C'était un beau nouveau challeng pour RP qui comme d'habitude a été efficace et flexible pour nous permettre d'inclure plusieurs cryptos pour récompenser les holders de ce NFT. Super dApp tant pour le mint que pour le claim et le suivi des distributions, ravi de travailler avec lui.
CryptNaAb (fondateur)
J'ai eu le plaisir de collaborer avec RpGmAx sur le projet Honey Airdrop. Il a su répondre aux exigences techniques tout en respectant les délais. Après avoir pris en charge la partie smart contract, il a développé une dApp fluide, intuitive et riche en fonctionnalités. RpGmAx est également un excellent vulgarisateur, capable d'expliquer simplement les notions techniques pour aider l'équipe à faire les meilleurs choix pour le projet.
Yoz (fondateur)
Réalisation des Smart Contracts
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.
Réalisation de la DApp
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 !
What The 7uck
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.
Réalisation du Smart Contract
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 ? 😀
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).
Réalisation de la DApp
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).
Aristocrats – Special Edition
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
Réalisation du Smart Contract
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 !
Réalisation de la DApp
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 🙂
Serveur d’allowlist V2 (MAJ)
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.
- Chaque projet dispose de sa propre liste, stockée en base de données et accessible par le serveur via Prisma.
- Le serveur d’allowlist V2 est compatible avec de multiples solutions de WL depuis juillet 2024 (MAJ) :
- [MT v1] Merkle Tree « Original », par soucis de rétrocompatibilité avec des projets existants
- [MT v2] Merkle Tree « Open Zeppelin », afin d’assurer une sécurité accrue (vulnérabilité présente dans la version d’origine)
- [DS] Digital Signature, avec utilisation de la clé privée d’un signer côté backend et une vérification de la clé publique côté SC
- [MT] Génération automatique de la racine de l’Arbre de Merkle pour injection dans le Smart Contract.
- [MT] Génération automatique de la preuve pour tout wallet donné pour la DApp et contrôle au niveau du SC.
- [DS] Génération automatique du hash de signature pour tout wallet donné pour la DApp et contrôle au niveau du SC.
- Une liste peut être une simple liste d’adresses (wallets) autorisées ou bien une liste plus poussée avec une quantité associée à chaque adresse, de quoi définir une allocation « off-chain » avec un contrôle « on-chain » (via la preuve).
- Compatible avec des listes JSON (objet) ou tableau (array).
Marmottoshis v2
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 !
- Bascule d’Ethers.js vers viem afin d’assurer une totale pérennité à la DApp (connecteur de wallet, fonctionnalités…).
- Dashboard évolué avec suivi dynamique de la redistribution de satoshis et cumul en BTC.
- Optimisation conséquente du code du dashboard afin d’obtenir des statistiques de manière instantanée.
- Dev d’un serveur Node.js de parsing des données on-chain.
- Dev d’un serveur Node.js dédié à la notification sur Discord en cas de burn.
Spoiler : Une version 3 apportant une extension au projet est prévue.
Création d'un serveur de stats Node.js
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.
Et de son "petit frère" dédié aux notifications Discord
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.
The BULBiMasks
Une collection #NFT créée par des Holders du projet TheCryptomasks 🎭
Liens directs
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)
Conseiller technique
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.
Réalisation d'une passerelle Web2
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.
Réalisation du Smart Contract
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.
Réalisation de la DApp
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 !
Mais ce n'est pas tout !
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 🙂
B4D Bull
Les B4D Bulls débarquent, et ils sont là pour tout casser !
Dans la continuité du projet B3AR Market, l’équipe a récidivé et a décidé de sortir la contre offensive aux B3ars, les B4D Bulls !
666 NFTs uniques réalisés par plus de 30 artistes dont NoNegocio qui est derrière la totalité des NFTs non légendaires ainsi que certains légendaires.
Directement inscrit dans le lore de Cryptocademia (dont je participe activement au développement), cette nouvelle collection devait proposer des avantages (WL/prix) aux propriétaires de B3ARs (collection précédente) tout en ayant une réelle utilité future.
4 phases de mint, un système poussé de whitelisting avec des prix très différents, sans oublier un NFT évolutif dont le visuel change avec le temps… Le challenge était au rendez-vous !
Très professionnel du début à la fin, Rp est toujours très efficace et autonome. Il a compris très vite ce que l'on souhaitait avoir et a été très pertinent dans ces suggestions. Les difficultés ne lui font pas peur et c'est exactement ce dont on avait besoin. Hâte de pouvoir retravailler avec lui dans un futur projet !
CryptNaAb (fondateur)
Génération des 666 NFTs
Comme lors de la précédente collection, je dus procéder à la génération de l’intégralité des NFTs non légendaires. Ces derniers devaient respecter des critères de combinaisons encore plus nombreux & poussés qu’auparavant, et furent ensuite passés au peigne fin afin de déceler la moindre petite erreur d’association !
Par la suite, l’intégration des différents NFTs légendaires ainsi que le NFT évolutif fut réalisée, les JSON créés et le tout envoyé sur le protocole IPFS.
Réalisation du Smart Contract
A contrario de la collection précédente, cette fois-ci j’étais chargé de la réalisation du Smart Contract.
Celui-ci fut le plus complexe que j’ai eu à faire jusqu’à présent, le nombre important de phases et de whitelists (via Merkle Tree) m’ont poussé à créer des groupes de mint au sein du SC, avec des fonctions permettant d’agir sur ces derniers, de sorte à changer le prix ou toute autre variable à tout moment.
Chaque phase était associée à différents groupes éligibles, proposant des quantités max et des prix différents.
Qui dit quantité max, dit possibilité de mint en lot, raison pour laquelle je suis passé sur de l’ERC721A.
Enfin, un NFT légendaire devait offrir une évolution dynamique liée au temps passé à le détenir. Ce dernier devait par ailleurs être totalement inconnu jusqu’au reveal. Un système d’évolution a été directement implémenté au sein du SC.
Un travail de réflexion et de réorganisation du code fut nécessaire, de sorte à avoir un SC compact et lisible, modulable et couvrant l’ensemble des demandes du cahier des charges… Le tout en un temps record (timing très serré).
Pour finir, 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.
Réalisation de la DApp
A l’image du Smart Contract, la DApp fut davantage complexe, la « faute » aux nombreuses phases et aux nombreux groupes de mint.
Le challenge était donc de rendre tout ceci le plus digeste possible pour l’utilisateur, qu’il s’agisse des phases mais aussi et surtout des différentes options de mint allouées à chacun. Des sessions de tests ont été réalisées avec un groupe d’utilisateurs, incluant une écoute toute particulière sur leur « feeling » vis à vis du mint. Quelques ajustements ont été réalisés, notamment en ce qui concerne le multi-mint (mint de X exemplaires en une seule transaction).
La DApp fut développée de manière à réagir instantanément aux différentes modifications opérées sur le smart contract et de proposer une expérience parfaitement fluide.
Enfin, et comme toujours, le responsive a été travaillé de façon à offrir la même expérience pour les utilisateurs mobiles, toujours plus nombreux.
Loterie
Les deux collections étant intrinsèquement liées, cela devait se refléter sur la loterie « Cryptocademia » offrant la possibilité aux propriétaires des NFTs concernés de participer à une loterie mensuelle.
Celle-ci a été réalisée sous forme d’affrontement « dynamique » entre un B3AR et un BULL, avec des images animées successives donnant lieu à une victoire pour l’un ou l’autre. Chaque NFT dispose d’un « poids » qui lui est propre, jouant directement sur les probabilités de victoire.
Galaxy Gamers
Des Xpheres, des Gold Pass, des Mythic Pass… Une collection « Lotpak » et un jeu de société à venir. Rien que ça 😉
Approché par l’équipe de Galaxy Gamers et notamment DamPunisher (fondateur), c’est avec plaisir que j’ai accepté leur proposition de prendre en charge leur nouveau projet Lotpak, rejoignant ainsi une communauté très soudée et bienveillante.
De nombreuses missions ont été réalisées, allant de la génération de la collection NFTs, au smart contract associé (au fonctionnement moins conventionnel qu’à l’accoutumée) sans oublier la conception d’une DApp dédiée au claim d’une version holographique. Mon rôle fut aussi celui de conseiller technique pour le projet et son futur, qui aboutira, entre autre, à la sortie d’un jeu de société.
Conseiller technique
La collection Lotpak est la première collection indépendante de Galaxy Gamers, les précédentes étant liées à OpenSea…
Et qui dit première véritable collection de l’équipe, dit nécessité d’être aiguillé.
Mon rôle a été d’identifier très clairement les besoins (et leurs prérequis/pièges associés) et de proposer une solution adéquate.
L’objectif ici était de récompenser les holders de précédentes collections avec un « free mint » Lotpak.
Ainsi le choix de faire un smart contract d’airdrop (plutôt que de mint) fut proposé et le choix de la blockchain Polygon validé.
Cela permettait en prime de régler le problème du délai en supprimant la nécessité d’une DApp, de quoi proposer rapidement quelque chose de fonctionnel, qui était l’un des besoins exprimés.
Réalisation du Smart Contract
Cette collection a une autre particularité, celle d’obtenir une version holographique (physique) des NFTs possédés, avec un claim unique (à vie).
L’idée a été de stocker ceci directement dans le Smart Contract, de développer des fonctions dédiées à la lecture/écriture de ces infos et d’avoir une URI IPFS qui varie en fonction de l’état du claim, permettant ainsi d’avoir l’information bien visible sur les marketplaces.
De plus tout le nécessaire pour les royalties (vitales pour un projet « Free Mint ») a été mis en place, avec l’ERC-2981 & le désormais plus que nécessaire Operator Filter d’OpenSea… Le tout régulé par un splitter de paiement afin de pouvoir dispatcher les fonds sur différents wallets de l’équipe.
L’airdrop fut ensuite lancé, chose rendue possible grâce à la blockchain sélectionnée : Polygon, permettant d’injecter directement la liste des destinataires dans le SC et de boucler pour procéder à l’airdrop. Ne surtout pas tenter l’expérience sur Ethereum 😉
Génération des 555 NFTs
Un grand classique, avec comme toujours des combinaisons forcées, des incompatibilités, et bien entendu un long travail de vérification. Un travail réalisé en collaboration avec l’artiste derrière cette collection : Kirk (pour qui c’était une première) !
Cette collection avait l’originalité de proposer 3 types de Lotpak : Mercenaire, Kug Army et Unique… Avec, pour chacun, des spécificités et des contraintes particulières.
Une fois la collection validée, elle fut chargée (images et métadonnées JSON) sur le protocole IPFS.
Conception d'une mini DApp
Dernière brique pour ce projet « tout-en-un » : la réalisation d’une DApp permettant de claim la version holographique d’un NFT.
L’objectif était de proposer quelque chose de très simple pour l’utilisateur final, avec un système d’étapes menant au claim « on-chain » de sa version holographique.
Marmottoshis
777 NFTs – 21 modèles en 37 exemplaires, tous backés par du BTC accumulé chaque mois en DCA.
Imaginé par DocMarmott, ce projet atypique, fruit d’une collaboration avec pas moins de 21 artistes francophones, permet d’obtenir des NFTs dont la valeur augmente au fil du temps grâce à un DCA mensuel et à un supply qui ne peut que se réduire.
L’idée étant d’injecter les fonds récoltés lors du mint initial en DeFi ce qui permet petit à petit (à chaque DCA) d’augmenter la valeur intrinsèque des NFTs. L’originalité ne s’arrête pas là, pour récupérer les Satoshis adossés à un NFT, l’utilisateur doit le « burn » (brûler), diminuant par conséquent le supply global (d’une part) mais aussi le supply de son propre ID (les tokens étant de type ERC-1155, un token dispose de plusieurs exemplaires). Plus le temps passe et plus les utilisateurs restants profitent d’un DCA amélioré !
Je ne peux que recommander RpGmAx comme dev web3, au-delà de comprendre votre projet et vos besoins il sait être force de proposition pour augmenter la proposition de valeur de vos objectifs.
Passionné de technique il ne se repose pas sur ses acquis (qui sont déjà immenses) et explore sans cesse de nouvelles fonctionnalités/techniques afin de toujours vos proposer de meilleurs services en adéquations avec vos attentes.
Disponible et réactif il vous accompagne dans les différentes phases de votre projet tout en assurant un suivi de l'existant. Il est sans aucun doute l'un des piliers de la réussite du projet Marmottoshis dont je suis le fondateur.DocMarmott (fondateur)
Réflexions techniques
Ce projet est un véritable concentré de technologies diverses, l’expertise de chacun a été mise à contribution afin de permettre d’obtenir quelque chose d’unique et d’exploitable !
Stockage de métadonnées on-chain (permettant un reveal progressif), adossement/répartition des Satoshis, Dapp évolutive, nombreux pièges à éviter et stress tests intenses du Smart Contract et de la DApp… Les brainstormings furent nombreux et toujours très productifs et ce via une méthode Agile implicite 😉
Réalisation de la DApp évolutive
Plus poussée que la plupart des DApps, cette dernière regroupe de nombreuses fonctionnalités.
Qu’il s’agisse du mint, qui fut proposé via différentes étapes (free mint, réservations on-chain via page dédiée, listes blanches…) mais aussi du dashboard permettant d’obtenir en un clin d’œil l’intégralité des informations on-chain !
La Dapp offre aussi la possibilité de burn son NFT en spécifiant une adresse Bitcoin qui recevra les précieux Satoshis.
Cette dernière n’est pas figée dans le marbre et se veut évolutive, ce fut le cas entre les différentes phases et ce sera probablement encore le cas par la suite (il y a toujours de nouvelles idées à déployer) !
B3AR MARKET 2022
Collection 222 NFT pour ne jamais oublier le bear market de 2022 mais pas que !
222 NFTs uniques basés, pour la majorité, sur des assets de l’artiste NoNegocio, sans oublier les créations originales de différents artistes francophones. Ils permettent aux holders de montrer qu’ils étaient là durant le bear market de 2022 (un trophée en quelque sorte) mais aussi et surtout d’obtenir des whitelists pour de futures collections et de nombreuses réductions pour Cryptocademia, une plateforme pour se former au Web 3 tout en s’amusant, le boss de fin des projets de l’équipe !
Proposé par Maitre Koro, ce projet pilote a été l’occasion de fédérer une communauté et de préparer l’avenir.
Rp est vraiment une pointure dans son domaine. Force de proposition, travail rapide et qualitatif. Quand je lui ai demandé de réaliser la génération des NFTs ainsi qu'un site pour connaître le rank, il m'a répondu qu'il n'avait jamais fait ça. Pourtant, le résultat fut produit rapidement et de façon impeccable. Je recommande Rp même sur un sujet qu'il ne maîtrise pas (encore), il se mettra vite à niveau pour satisfaire le cahier des charges.
Maitre Koro (fondateur)
Génération des 222 NFTs
Combinaisons forcées, gestion des incompatibilités, rendu général et respect des pourcentages au niveau de l’aléatoire.
L’objectif était de générer à la fois les visuels mais aussi les JSON associés qui ont ensuite été chargés sur le protocole IPFS, la décentralisation avant tout !
Réalisation de la DApp de mint
Qui dit collection de NFTs, dit Smart Contract et DApp pour venir s’y rattacher. Cette dernière a mêlé sobriété et respect d’une charte graphique conçue par l’artiste. L’occasion rêvée d’agrémenter le process de mint par une petite animation prenant vie tout au long de la transaction.
Mise en place d'un site de ranking
Bien souvent les possesseurs de NFTs apprécient connaître le « rang » de leur NFT !
Ici, en dehors des légendaires (tous rang 1), les différents pourcentages des calques composants les NFTs permettent, mathématiquement, d’obtenir un rang et ainsi de proposer un site dédié à ce classement.
The Cryptomasks Project
Communauté crypto française adossée à 555 NFTs uniques réalisés par l’artiste 8thproject.
Liens directs
Site Web : https://www.thecryptomasks.xyz
DApp de claim : https://claim.thecryptomasks.xyz
Loterie : https://raffle.thecryptomasks.xyz
Si cela fait une vingtaine d’années que je suis développeur, il s’agit ici de mes premiers pas en tant que développeur web 3 indépendant (>2022). The Cryptomasks Project est un projet hautement communautaire porté par TheCryptomath et un panel d’experts en crypto.
Fort d’une collection de 555 NFTs uniques dessinés par le talentueux 8thproject, The Cryptomasks Project s’est rapidement imposé comme une communauté de choix pour les experts actuels et en devenir mais aussi pour de nombreux projets en incubation et/ou partenaires.
RpGmAx a été impliqué dans le projet dès le premier jour. Très compétent, une réactivité sans pareille. C'est une aubaine de l'avoir dans l'équipe.
TheCryptomath (fondateur)
Audit du Smart Contract Solidity
L’une de mes premières actions a été la réalisation d’un audit du SC Solidity peu avant son déploiement sur la blockchain Ethereum.
Refonte du site Internet (web 2)
Par la suite, une refonte intégrale du site Internet a été réalisée. Basé sur le CMS WordPress, avec du dev custom pour afficher l’intégralité de la collection NFT via l’API d’OpenSea. Ce site a pour vocation à évoluer au fur et à mesure de l’avancement du projet (roadmap conséquente), et de servir de portail vers d’autres sites satellites.
Réalisation de sites satellites (web 3)
Passons aux choses sérieuses (d’un point de vue développeur 😉), avec la réalisation de nombreux sites satellites.
Qu’il s’agisse de mini-sites utilitaires (snapshot holders + tirage au sort, calculateur de chances de gains…) ou de sites complets comme celui de claim (https://claim.thecryptomasks.xyz) permettant aux holders de récupérer leur lot (giveaway mensuel) mais aussi de commander une édition physique & signée de leur NFT, le tout directement avec leur wallet !
Refonte de la loterie
Courant 2023 la loterie (raffle) Cryptomasks a été entièrement refondue, plus dynamique, plus visuelle et totalement transparente (déroulement du tirage au sort visible dans la console de son navigateur), cette dernière est utilisée mensuellement pour sélectionner les Cryptomasks chanceux !
Accessible via : https://raffle.thecryptomasks.xyz