🇪🇸 Marlowe Playground 2: un primer contrato

:es: Traducción al español de “Marlowe Playground 2: a first contract”

Publicado en el canal de Youtube de Simon Thompson el 17 de Abril de 2020

Enlace a la versión doblada al español


En este video lo que quiero hacer es mostrar cómo construimos contratos usando el editor Blockly, así que empecemos, puedes ver que estamos en la pestaña Blockly aquí, y este es el lugar donde ponemos el contrato que estamos construyendo y en esta parte de la pantalla lo que ves es una lista de los diversos componentes de los contratos. Si hacemos clic en los contratos lo que vemos son plantillas para todos los diferentes tipos de contrato, si hacemos clic en uno de estos y lo arrastramos al espacio de trabajo se puede ver que lo que tenemos es un pago, hagamos de eso nuestro contrato de alto nivel, hacemos clic. Ahora, lo que tenemos que hacer para completar esto es que tenemos que llenar estos vacíos, así que lo que tenemos aquí es que tenemos que decir ¿a quién se le paga, cuánto se les paga, en qué moneda, de dónde se paga?, así que eso es un número de cuenta con un titular de cuenta, así que vamos a ver cómo llenamos esas cosas. Necesitamos una parte aquí, así que hagamos clic en una parte, digamos que es un rol y digamos, ups, necesitamos tener un beneficiario aquí y luego hacemos clic en rol ahí dentro y la persona que será el beneficiario será Bob, así que Bob está siendo pagado aquí, paguemos a Bob un Ada, elijamos un valor constante, tenemos que decir qué moneda queremos usar, así que aquí podríamos usar una moneda personalizada, pero sólo vamos a usar Ada aquí, diré cuenta uno con titular Alice, así que será una parte del contrato, que será Alice aquí.

Ahora lo que tenemos es un contrato que le pagará a Bob un Ada de la cuenta número uno de Alice, pero entonces tenemos que decir lo que el contrato hace después de que haga ese pago, ¿qué es lo que hace después?, bueno, veamos qué tipo de contratos podemos tener. Tenemos una elección de cosas, podemos hacer un condicional, podemos esperar algo, que alguien realice una acción, podemos definir un valor particular, pero lo más simple es cerrar y eso nos ha dado un contrato completo, sólo hace un pago único. Y ahora podemos tomar ese contrato y convertirlo en código y vemos que se presenta como Marlowe en la pestaña de simulación. Y lo que tenemos aquí es el contrato más simple posible que es sólo un pago, de hecho, no está esperando ninguna entrada, tenemos una transacción vacía, aplicamos esa transacción, entonces el pago será efectivo, pero recibimos una advertencia aquí de que el contrato se suponía que iba a hacer un pago pero no pudo hacer ese pago completo. Así que vamos a deshacer eso, pero también podríamos, si hacemos clic en análisis estático, analizar esto, veremos que recibimos una advertencia sin siquiera ejecutar el contrato, en este caso sólo hay una opción, pero veremos en otros ejemplos que el análisis puede comprobar todos los caminos posibles a través de un contrato.

Así que sólo para resumir lo que hicimos aquí fue construir un simple contrato Blockly, lo convertimos en código y luego fuimos capaces de simular su acción y también analizar su comportamiento. Así que vamos a detenernos aquí, pero lo que haremos a continuación es tomar nuestro contrato simple y lo extenderemos con algunas otras construcciones.