Marlowe en Blockly

Hasta ahora en estos tutoriales nos hemos concentrado en la construcción de contratos en la versión textual de Marlowe, integrada en Haskell. Los contratos de Marlowe también se pueden construir utilizando el entorno de programación visual Blockly, como describimos aquí.

Cómo empezar

Para empezar a construir un proyecto Blockly en el Marlowe Playground, del que puedes obtener más información en la sección sobre la visión general del playground, selecciona New Project y luego Blockly para el tipo de proyecto. Ahora verás una pantalla como la siguiente:

Los contratos se ensamblan añadiendo componentes a los agujeros de los bloques. Para construir un contrato, tenemos que llenar el único agujero de nivel superior con un Contract, y los bloques para estos se encuentran haciendo clic en Contracts en el menú de la izquierda. Al hacer esto se muestran todos los diferentes bloques que construyen contratos, como se muestra aquí:

Podemos seleccionar uno y arrastrarlo al área de edición, que tiene un fondo punteado, así:

y luego encajarlo en el agujero de nivel superior, de modo que estamos construyendo un contrato con un When como construcción principal.

A continuación, podemos repetir este proceso, añadiendo contratos y otros tipos de componentes -todos los cuales se muestran en el menú de la izquierda- para construir un contrato completo, es decir, un contrato que no tenga agujeros.

Rellenemos la información del timeout y añadamos un contrato Close que se realizará en caso de timeout:

¿Qué acción debemos elegir ahora? De nuevo vemos todas las acciones posibles seleccionando Actions en el menú:

Si seleccionamos una acción Deposit tenemos varios tipos de agujeros que llenar.

Aquí tenemos que elegir

  • Un Role para el depositante
  • Un Value que es el monto depositado …
  • … del Token (a menudo ada)
  • Dónde se va a depositar el dinero, dado por un Party, que es un Role o una Public Key.

Al rellenar algunos de ellos tenemos que rellenar también un campo de texto, o un número, como se muestra en el resultado final aquí.

Por último, tenemos que decidir cuál es el contrato de continuación: ¿qué hace el contrato a continuación? Es otro contrato. Aquí se completa como un pago:

Ejercicios

En Blockly, completa por ti mismo la construcción del contrato anterior.

¿Cuál es el efecto del contrato de ejemplo? En particular, ¿cuáles son los pagos realizados por el contrato?

Editar Blockly

Los contratos de Blockly se pueden manipular y editar mediante gestos visuales y atajos de teclado.

  • Los bloques pueden ser arrastrados desde los agujeros, así como ser insertados.
  • Hay un menú de clic en el botón derecho, como se ve en la imagen de arriba, que ofrece una serie de opciones.
  • Los típicos atajos de edición son operativos, por ejemplo DEL, ⌘C, ⌘V, y ⌘X en Mac OS.

 

© Copyright 2020, IOHK Revision 34aa9c32.

Encuentra una copia oficial de este documento aquí:

https://alpha.marlowe.iohkdev.io/doc/marlowe/tutorials/playground-blockly.html

https://docs.cardano.org/projects/plutus/en/latest/marlowe/tutorials/playground-blockly.html

 

Más traducciones de Cardano en: Cardano For The World