🇫🇷 Plutus: Outils de Plutus

Plutus: Outils de Plutus

Le hard fork d’Alonzo apporte des capacités de base en matière de contrats intelligents au ledger Cardano en établissant l’infrastructure et en ajoutant des outils pour le développement de contrats intelligents fonctionnels à l’aide de Plutus. Cela signifie que les utilisateurs, les développeurs et les organisations peuvent désormais créer en toute sécurité des applications décentralisées (DApps) basées sur des solutions de contrats intelligents.

Il existe différents outils que les développeurs peuvent utiliser pour évaluer et déployer des contrats intelligents sur Cardano. Nous examinons ci-dessous ces outils, leurs principales caractéristiques et indiquons les sources exactes pour les utiliser.

Plutus Playground

Le Plutus Playground fournit un environnement pour écrire et tester des contrats intelligents avant qu’ils ne soient publiés sur la blockchain Cardano. Il s’agit d’un environnement léger, basé sur le Web, pour le développement exploratoire de Plutus. En plus de fournir un simulateur en ligne pour écrire et exécuter des contrats intelligents, le Plutus Playground permet aux développeurs d’accéder à des contrats intelligents populaires déjà écrits. Des Tutoriels sont disponibles dans le Plutus Playground pour vous aider à démarrer.

Le Plutus Playground est accessible via un navigateur web et il n’est pas nécessaire d’installer de logiciel. L’interface est divisée en trois sections:

  • Ă©diteur
  • simulateur
  • transactions

Le simulateur montre comment un contrat se comportera sur la blockchain Cardano. Un aspect important est qu’il peut servir d’outil de formation pour les personnes qui n’ont pas de compétences avancées en matière de développement, car il démontre les principes de fonctionnement. Les utilisateurs peuvent définir et modifier les porte-monnaies qui interagissent avec un contrat, ainsi que les actions qui affectent le résultat. Les résultats peuvent ensuite être évalués pour voir ce qui se passe sur la blockchain et comment les transactions se déroulent. Pour plus d’informations, regardez le tutoriel de compilation et de test de l’application Plutus ou visitez le dépôt GitHub de Plutus.

Plutus Application Backend

The Plutus Application Backend (PAB) fournit les composants et l’environnement permettant aux développeurs d’interagir avec les contrats intelligents afin qu’ils puissent créer et tester des DApps, avant de les déployer dans un environnement de production réel. Tout comme le Plutus Playground, il s’agit d’un environnement de type “bac à sable” dans lequel les développeurs peuvent tester les fonctionnalités des DApp avant leur déploiement complet sur Cardano.

Le PAB évite aux développeurs de devoir créer leur propre infrastructure à partir de rien (y compris l’index de la chaîne, etc.), ce qui réduit le temps de développement et les ressources nécessaires. Il permet aux développeurs de simuler le comportement d’une application sur la chaîne pour effectuer des tests préalables et éliminer les erreurs, afin de garantir une transition sans faille pour le lancement.

Il s’agit d’un service backend hors chaîne pour gérer et traiter les exigences de l’instance d’application tout au long de son cycle de vie. Cela inclut l’interaction avec les clients externes (tels que les frontends de porte-monnaies) et agit comme un intermédiaire entre les applications Plutus, le node, le backend de porte-monnaie et les utilisateurs finaux. Une telle interaction est rendue possible par les commandes PAB et les composants simulés qui permettent des simulations pratiques et l’intégration des DApps.

Le PAB est une bibliothèque Haskell unique qui facilite l’écriture de cette infrastructure hors chaîne et des scripts sur chaîne. Elle aide à construire les transactions UTXO pour les chemins de lecture et d’écriture en obtenant des informations de la chaîne, en réagissant aux événements qui se produisent et en construisant les transactions qui exécutent les scripts Plutus réels.

L’objectif du PAB est de:

  • fournir un environnement normalisĂ© dans lequel les applications Plutus s’exĂ©cutent
  • assurer une gestion disciplinĂ©e de l’état
  • prĂ©senter des interfaces dĂ©couvrables aux clients externes
  • suivre les informations sur la chaĂ®ne pour l’utilisation des contrats intelligents
  • permettre aux dĂ©veloppeurs de travailler dans un environnement Ă©mulĂ© ou non Ă©mulĂ©
  • traiter des demandes telles que l’exĂ©cution d’instances de contrat, la transmission des entrĂ©es de l’utilisateur Ă  ces instances et la notification Ă  ces instances des Ă©vĂ©nements de changement d’état du grand livre

Le PAB peut passer d’un environnement émulé à un environnement non émulé (réseau réel) de manière transparente. Cela facilite l’écriture de toutes sortes de tests différents - tests unitaires, tests d’intégration, tests basés sur les propriétés, etc. Le PAB permet aux DApps de communiquer facilement avec lui car le backend peut recevoir et délivrer des messages. Ainsi, la DApp peut envoyer des requêtes habituelles aux points de terminaison que le PAB a exposés, et qui correspondent aux actions et aux opérations qu’un contrat intelligent particulier est capable de gérer.

Les applications déployées à l’aide des bibliothèques du cadre peuvent s’exécuter sur le PAB, qui fournit un support d’exécution pour l’accès à la blockchain afin de poursuivre les opérations de contrats intelligents déclenchant des transactions basées sur le modèle EUTXO. En outre, le PAB offre des fonctionnalités de persistance, de journalisation et de surveillance.

Le diagramme suivant donne un aperçu de l’architecture du PAB:

Plutus_tools1

Deux modèles de déploiement sont envisagés pour le PAB une fois qu’il sera disponible:

  • hĂ©bergĂ© - cette option sera prise en charge lors de la version initiale du PAB. Dans ce scĂ©nario, le fournisseur / dĂ©veloppeur de DApp hĂ©berge une instance du PAB avec l’index de la chaĂ®ne et un node Alonzo. Le code hors chaĂ®ne de l’application Plutus est exĂ©cutĂ© sur l’infrastructure du fournisseur de DApp.
  • dans le navigateur - cette option sera disponible plus tard, après la version initiale.

En plus du PAB lui-même, les composants suivants sont nécessaires:

  • Index de chaĂ®ne - l’index de chaĂ®ne est une base de donnĂ©es rassemblant les donnĂ©es des transactions Cardano. Il utilise le protocole de synchronisation de la chaĂ®ne du node Cardano et doit ĂŞtre co-localisĂ© avec un node Cardano. L’index de chaĂ®ne est un composant en lecture seule pour le PAB. Plusieurs instances du PAB peuvent donc partager une seule instance de l’index de chaĂ®ne. Toutes les requĂŞtes de l’index de chaĂ®ne sont servies par une API HTTP.
  • Node Alonzo — le PAB s’abonne aux mises Ă  jour de l’état du ledger depuis le node, en utilisant un protocole de socket.

Le PAB est un autre outil puissant de Cardano qui rend les DApps plus simples, plus sûres et plus rentables à développer. En fournissant des informations provenant de sources canoniques sous une forme utilisable, il soulage les développeurs de nombreuses tâches de routine.

Nous partagerons les liens en temps voulu lorsqu’ils seront disponibles.

Estimateur de frais de Plutus

L’estimateur de frais Plutus a été développé par les experts en performance d’IOG comme un outil interne pour l’étalonnage et la comparaison des prix. Il utilise des informations provenant de transactions Plutus réelles pour prédire les frais qui seront facturés pour une transaction. L’estimateur peut être utilisé pour calculer les frais des transactions réelles (par exemple, pour déterminer les frais qui seront facturés si les paramètres du réseau changent), et aussi pour estimer les frais des transactions de script individuelles ou des DApps complètes avant ou pendant le développement. Il peut être utile pour déterminer l’effet des modifications ou des optimisations de script sur les frais.

Le calcul de frais nécessite trois éléments d’information:

  • La taille totale de la transaction sur la chaĂ®ne en octets : une transaction simple, par exemple, est d’environ 300 octets, celle avec les mĂ©tadonnĂ©es est d’environ 650 octets, et les scripts Plutus sont gĂ©nĂ©ralement de 4 000 Ă  8 000 octets (les optimisations futures rĂ©duiront ce chiffre).
  • Le nombre d’étapes de calcul (CPU) que le script utilise : chaque Ă©tape reprĂ©sente 1 picoseconde de temps d’exĂ©cution sur une machine de rĂ©fĂ©rence. Les scripts typiques devraient consommer moins de 1 000 000 000 (1 milliseconde).
  • Le nombre d’unitĂ©s de mĂ©moire que le script utilise : cela reprĂ©sente le nombre d’octets que le script alloue. Les scripts typiques devraient consommer moins de 1 000 000 d’unitĂ©s de mĂ©moire (1 Mo d’allocation de mĂ©moire).

Pour utiliser un estimateur, un utilisateur doit simplement remplir les informations relatives, qui peuvent être obtenues du compilateur Plutus après avoir construit un script dans celui-ci. Il n’est pas non plus nécessaire d’exécuter un node pour cela, ce qui simplifie considérablement le processus pour les utilisateurs généraux.

Vous trouverez une copie officielle de ce document ici :

https://docs.cardano.org/plutus/Plutus-tools

Plus de traductions de Cardano Ă : Home