Marlowe dans Blockly
Jusqu'à présent, dans ces tutoriels, nous nous sommes concentrés sur la construction de contrats dans la version textuelle de Marlowe, intégrée à Haskell. Les contrats Marlowe peuvent également être construits à l'aide de l'environnement de programmation visuelle Blockly, comme nous le décrivons ici.
Comment commencer
Pour commencer à créer un projet Blockly dans le Marlowe Playground, dont vous trouverez plus d'informations dans la section consacrée à l'aperçu du playground, sélectionnez New Project puis Blockly comme type de projet. Vous verrez alors un écran comme celui-ci:
Les contrats sont assemblés en ajoutant des composants dans les trous des blocs. Pour construire un contrat, nous devons remplir le trou unique, de niveau supérieur, ici avec un Contract, et les blocs pour ceux-ci sont trouvés en cliquant sur Contracts dans le menu sur le côté gauche. Cela permet d'afficher tous les différents blocs qui permettent de construire des contrats, comme illustré ici :
Nous pouvons en sélectionner un et le faire glisser dans la zone d'édition, qui a un fond pointillé, comme ça :
puis de l'insérer dans le trou de niveau supérieur, de sorte que nous construisons un contrat avec un When comme construction principale.
Nous pouvons ensuite répéter ce processus, en ajoutant des contrats et d'autres types de composants - tous affichés dans le menu de gauche - pour construire un contrat complet, c'est-à-dire un contrat qui ne contient pas de trous.
Remplissons les informations relatives au timeout et ajoutons un contrat Close qui sera exécutée en cas de timeout:
Quelle action devons-nous choisir maintenant ? Encore une fois, nous voyons toutes les actions possibles en sélectionnant Actions dans le menu:
Si nous sélectionnons une action Deposit nous avons plusieurs types de trous à remplir.
Ici, nous devons choisir
- Un Role pour le déposant
- Un Value qui est le montant déposé …
- … du Token (souvent ada)
- Où l'argent doit être déposé, donné par un Party, qui est soit un Role ou une Public Key.
En remplissant certains d'entre eux, nous devons également remplir un champ de texte, ou un nombre, comme le montre le résultat final ici.
Enfin, nous devons décider ce qu'est le contrat de continuation : que fait le contrat ensuite ? C'est un autre contrat. Ici, il est complété par un paiement:
Exercices
Dans Blockly, complétez pour vous-même la construction du contrat ci-dessus.
Quel est l'effet du contrat cité en exemple ? En particulier, quels sont les paiements effectués par le contrat ?
Éditer Blockly
Les contrats de Blockly peuvent être manipulés et modifiés à l'aide de gestes visuels et de raccourcis clavier.
- Les blocs peuvent être glissés à partir des trous, ainsi qu'être insérés..
- Un menu de clic sur le bouton droit de la souris est disponible, comme le montre l'image ci-dessus, et offre une série d'options.
- Les raccourcis typiques de l'édition sont opérationnels, par ex. DEL, ⌘C, ⌘V, et ⌘X sur Mac OS.
© Copyright 2020, IOHK Revision 34aa9c32.
Vous trouverez une copie officielle de ce document ici :
https://alpha.marlowe.iohkdev.io/doc/marlowe/tutorials/playground-blockly.html
https://docs.cardano.org/projects/plutus/en/latest/marlowe/tutorials/playground-blockly.html
Plus de traductions de Cardano à: Cardano For The World