Rechercher
Fermer ce champ de recherche.
Rechercher
Fermer ce champ de recherche.
Accueil » Construire sur Cardano : comment Metalamp développe des applications pour l’univers ADA

Construire sur Cardano : comment Metalamp développe des applications pour l’univers ADA

by Arina Rubl

L’écosystème d’ADA continue de se développer et le nombre de projets Cardano a dépassé les 1000. Pour quel type de développement la plateforme est-elle utilisée ? Quels sont les problèmes qu’elle contribue à résoudre ? Comment des applications réellement opérationnelles sont-elles créées sur Cardano ? Metalamp partage son expérience dans le développement, basés sur la blockchain.

Partenariat avec Cardano

Notre entreprise a été fondée en 2014 à partir d’un projet étudiant.

Au début, nous n’avions pas les moyens d’embaucher de nouveaux employés qualifiés, mais nous étions pleins d’enthousiasme et d’envie de développer, alors nous avons décidé de lever des développeurs par nous-mêmes. Nous avons lancé un programme éducatif gratuit dans deux domaines, backend et frontend, et avons enseigné Haskell et Javascript à tout le monde. Ceux qui ont réussi la théorie et la pratique à la fin de la formation ont été acceptés dans le personnel. Aujourd’hui, plus de la moitié des 70 experts que Metalamp emploie sont des diplômés de notre programme de formation.

Notre partenariat avec Cardano, nous le devons au langage Haskell. Notre connaissance de Haskell nous a conduits vers le marché de la blockchain, d’où provenaient la plupart des demandes de développement, en raison de la popularité des cryptomonnaies, du nombre croissant d’initiatives gouvernementales, ainsi que de la prolifération des dApps pour les paiements, les contrats intelligents, le suivi des approvisionnements, etc. Par conséquent, au cours de la troisième année de travail avec Haskell, nous avons reçu une demande de la part d’IOG eux-mêmes : ils nous ont invités à participer au test des smart contracts Cardano. C’est ainsi qu’a débuté notre collaboration. Nous sommes très fiers d’être l’une des cinq entreprises à avoir été les premières au monde à développer des cas d’utilisation pour Plutus.

Pour participer à la collaboration avec Cardano, nous avons dû apprendre Plutus Core, le langage de contrats intelligents de Cardano qui s’inspire de la source Haskell. Le seuil d’entrée pour Plutus est extrêmement élevé, mais en raison de la forte culture d’auto-éducation de l’entreprise, des connaissances préalables en Haskell et de notre expérience de la programmation fonctionnelle, nous n’avons pas eu de problèmes d’intégration.

La taille du marché mondial de la blockchain est en pleine croissance. Les DeFi et les smart contracts sont de plus en plus populaires, et les plateformes qui fournissent ces solutions se développent activement. Nous sommes proches de la philosophie blockchain basée sur les principes de confiance, d’ouverture et de décentralisation, et nous souhaitons développer une coopération avec l’écosystème Cardano sur le long terme. C’est pourquoi nous avons enseigné Plutus Core à tous nos développeurs Haskell. Ceux-ci ont suivi un cours magistral élaboré par IOG dans le cadre du programme Plutus Pioneer et ont échangé avec les fondateurs et les experts du langage. En outre, nous avons créé des tâches pratiques pour lesquelles nos backenders ont cherché et écrit des solutions originales, comme le développement d’une application Faucet et la création d’une place de marché NFT. Tous nos développeurs Haskell, même les débutants, sont désormais en mesure de travailler sur des projets Cardano.

Voilà l’historique de notre relation avec Cardano. Nous allons maintenant aborder quelques-uns de nos projets basés sur la blockchain.

Nos projets Cardano

Test des contrats intelligents Plutus

En 2021, nous avons étudié le comportement des contrats intelligents Plutus dans des projets réels. Nos développeurs ont collaboré étroitement avec l’équipe interne d’IOG pour identifier les bogues et prendre part aux discussions sur les améliorations.

Avant son introduction sur le réseau principal, nous avons notamment testé le hard fork d’Alonzo Purple. Nous avons pu voir comment les eUTXO sont stockés, utilisés dans une transaction et validés par des tests.

IOG ne disposait pas d’un testnet prenant en charge les smart contracts au moment de notre participation, ni de la documentation nécessaire. Nous avons effectué des simulations. Lorsque le testnet est apparu, il s’est avéré qu’il ne prenait pas en charge de nombreuses fonctionnalités, comme le PAB avec les portefeuilles, les machines à états, etc. De plus, le code que nous avons exécuté avec succès dans la simulation ne fonctionnait pas toujours dans le réseau réel. Nous avons continuellement discuté avec les développeurs de Plutus et d’autres participants au programme de test des contrats dans une communauté Discord dédiée, pour savoir comment corriger les erreurs commises. L’équipe centrale d’IOG nous a beaucoup soutenus ; en particulier, le directeur de l’éducation, Lars Brunies, s’est montré très réceptif et utile (salut, Lars !).

Parfois, personne n’avait de suggestions ou de conseils prêts à l’emploi, et nous avons dû consulter le code source de Plutus et nous débrouiller seuls. Une préparation fondamentale nous a aidés. C’est une stratégie efficace dans n’importe quel secteur, mais elle est particulièrement bénéfique pour la blockchain, car il est presque impossible de créer des contrats intelligents sans comprendre ce qu’ils sont. Et dans certains cas, l’analyse des solutions préexistantes d’Ethereum a été utile.

Création d’une place de marché NFT

La première place de marché NFT proposant une vente aux enchères sur la blockchain Cardano a été créée à la suite de la participation au programme de test de la plateforme Plutus et de la validation du protocole IPFS.

Un NFT est produit en deux étapes : la première consiste à télécharger les métadonnées associées (qui peuvent être n’importe quel fichier, y compris une image), et la seconde consiste à frapper le jeton et à l’envoyer au portefeuille blockchain du créateur. Le protocole IPFS, qui attribue à chaque fichier une identification distincte (il s’agit d’un hachage cryptographique), assure l’adressabilité du contenu, qui est nécessaire pour la première étape. L’objectif principal du contrat intelligent de la place de marché est de fournir un lien direct entre le jeton dans le portefeuille de l’utilisateur et cet identifiant de contenu. Nous avons réussi à atteindre cet objectif, et sur notre place de marché, vous pouvez désormais :

  • Créer vos propres jetons non fongibles;
  • Former des collections (packs) à partir de cartes (jetons);
  • Organiser une vente aux enchères;
  • Définir le prix de départ et la durée de l’enchère;
  • Télécharger des fichiers audio, vidéo et image.

La plateforme devient rentable grâce aux commissions sur les ventes de NFT et les ventes aux enchères.

Lorsque la place de marché a été lancée sur le réseau de test en 2021, il a été découvert que les portefeuilles ne s’intègrent pas au PAB et qu’il est impossible de signer des transactions. Le projet n’a donc jamais été lancé sur le réseau de test.

Développer un stockage en nuage décentralisé

Lagon souhaite développer un moyen sûr pour les personnes de posséder et de stocker leurs données de santé. Le meilleur environnement pour la réalisation de cette idée est la technologie blockchain, qui offre transparence, ouverture et immuabilité. Nous aidons Iagon à développer un système de cloud décentralisé sur la blockchain Cardano pour exploiter la capacité de calcul et de stockage sous-utilisée des centres de données, des PC et des appareils intelligents. Selon l’idée des créateurs, chacun pourra proposer des capacités gratuites sur le marché et gagner un revenu passif. Les grands fournisseurs de cloud centralisés (tels que Google Cloud ou Microsoft) seront confrontés à la concurrence de cette infrastructure de cloud décentralisée.

Cardano a été choisi comme plateforme pour le déploiement du protocole, car il s’agit de la combinaison la plus réussie d’évolutivité, d’interopérabilité, de respect de l’environnement, de faibles coûts de transaction et de sécurité fondée sur la science. Dans le premier stockage en nuage décentralisé de Cardano, la fonction principale d’un contrat intelligent est de permettre le contact direct, c’est-à-dire la communication entre les acheteurs de capacités de stockage gratuites et les fournisseurs de stockage ou de calcul.

À l’heure où nous écrivons ces lignes, nous avons des difficultés à intégrer le contrat avec les cadres d’IOG comme PAF (Plutus Application Framework). Nous sommes en train de développer une solution. Les contrats simples peuvent être déployés sans PAF, mais les solutions complexes et évolutives sont laissées sans alternative claire pour libérer le contrat dans le domaine public. C’est l’autre facette de la pièce de développement Cardano, qui se concentre principalement sur le support des nœuds et les éléments clés.

Construction d’un stablecoin ADADAO

Adadao est une page d’accueil décentralisée sur la blockchain Cardano pour le prêt de stablecoins AUSD garantis par ADA. AUSD peut être utilisé comme une cryptomonnaie ordinaire pour transmettre à d’autres utilisateurs ou payer des biens et des services.

Les prêts peuvent être obtenus moyennant une surgarantie (par exemple, 1 AUSD pour 1,5 ADA de garantie). Un surdimensionnement est nécessaire pour qu’en cas de baisse de la valeur de l’ADA, l’AUSD reste garanti. Si un prêt s’avère être sous-collatéralisé, le système annule la dette de l’emprunteur et convertit sa garantie en AUSD par le biais du pool de stabilité, de la vente aux enchères ou de la réaffectation de la dette. Lorsque le prêt est remboursé, l’utilisateur reprend la garantie, et les AUSD reçus sont brûlés.

Au moment de la rédaction de cet article (août 2022), la majorité du protocole a déjà été développée. Cela comprend des contrats intelligents pour les prêteurs et les donateurs du pool de stabilité, des contrats pour les liquidations, les ventes aux enchères, et un module de gestion et de surveillance du protocole pour ADA à AUSD afin de suivre et de déclencher les liquidations. Un contrat pour la distribution de la dette liquidée, un contrat pour le contrôle du taux de change AUSD, et un contrat pour les détenteurs de jetons ADAO et le vote sont tous au stade de la recherche et du développement.

Nous avons rencontré un problème avec chain-index, le composant PAB, lors du déploiement du protocole sur le testnet. De plus, la majorité du code spécifique à la simulation est incompatible avec le testnet. Comme il n’y a pas d’oracles sur le réseau principal, il est impossible d’obtenir les données nécessaires au fonctionnement du protocole. Ainsi, pour l’instant, nous utilisons un oracle fantaisie (un faux oracle que nous avons écrit nous-mêmes ; nous changeons ses données manuellement lorsque nous testons quelque chose). Il serait bénéfique d’avoir des stablecoins supplémentaires sur le mainnet, soit pour les utiliser dans les enchères, soit comme monnaie de substitution pour les garanties.

Avantages et inconvénients du développement d’un projet Cardano

On nous demande généralement de développer une application de contrat intelligent – la partie serveur de l’application qui interagit avec la blockchain. Cela implique d’écrire le code qui construit les transactions et d’écrire le code qui valide les transactions. Parfois, la demande inclut l’écriture d’une interface d’application (frontend) pour des tests manuels ou pour la production. Dans certaines circonstances, une exploration est effectuée avant le développement afin de traduire le concept de base en un concept architectural d’application précis et en une spécification de mise en œuvre.
En raison de son débit élevé, de ses faibles coûts de transaction et de ses économies d’énergie, Cardano est une plateforme prometteuse pour le développement de contrats intelligents sécurisés. Ce que nous apprécions également à propos de Cardano :

  • La programmation en Haskell permet d’utiliser le système de types fonctionnel et les abstractions sécurisées du framework Plutus ;
  • La communauté Cardano est réactive et suit les principes du développement libre (open source).

Voici les inconvénients de l’utilisation de Cardano pour le développement :

  • Le cadre Plutus est sous-développé. Les utilisateurs testent l’API, les développeurs donnent leur avis, corrigent les bogues et rendent le cadre plus pratique ;
  • Le PAB ne fonctionne toujours pas en mode portefeuille de navigateur. Toute application DeFi doit pouvoir fonctionner avec des portefeuilles de navigateur. Des recherches supplémentaires doivent être effectuées pour trouver des solutions qui peuvent faire fonctionner l’application pour une variété d’utilisateurs ;
  • En raison de la limite de taille des transactions (16 Ko), l’application doit être spécialement repensée. Il existe également des limites sur le nombre d’étapes de calcul (CPU) et la mémoire vive (RAM) consommés par le script, ce qui rend nécessaire l’optimisation du code.

Nos ingénieurs informatiques ont commencé à développer des logiciels blockchain après avoir rejoint le programme d’affiliation Cardano, et ils ont été les premiers à créer des contrats intelligents sur Plutus. Par conséquent, cette expérience nous a permis d’apprendre de nouvelles choses et d’avoir de nouveaux clients et projets sur Ethereum ainsi que sur Cardano. Ce dernier point est dû au fait que nos développeurs frontaux sont déjà familiarisés avec Solidity, le langage Ethereum, qui est similaire au JS. En outre, nous avons reçu davantage d’invitations à parler en tant qu’autorités dans les médias et lors de différents événements spécialisés.

Instagram Linkedin Twitter Medium Facebook

Obtenez davantage de contenus d’information et d’analyses sur notre Newsletter 🚀

You may also like

French