Traducción al español de “Marlowe Playground in 4 minutes”
Publicado en el canal de Youtube de Simon Thompson el 1 de Septiembre de 2021
Enlace a la versión doblada al español
¿Qué es el Playground Marlowe? Es un entorno en el que podemos construir, analizar y simular, paso a paso, la acción de contratos inteligentes Marlowe. Podemos hacer eso en un entorno seguro, para que podamos chequear que el contacto hace lo que debería hacer, asegurarse que no tiene ningún mal comportamiento, que no ponga en riesgo nuestros activos cripto.
¿Qué hacemos en el Playgound Marlowe? Podemos abrir un proyecto en el que ya estábamos trabajando, podemos abrir un ejemplo pre construído, podemos comenzar un nuevo proyecto utilizando Java Script, o utilizando Haskell, podríamos utilizar una forma textual de Marlowe. Pero en su lugar comencemos con Blockly. De hecho acá hay un contrato que comencé a escribir más temprano, que me permite mostrarte algunas características de Blockly. Podemos manipular los contratos como bloques, y si queremos, por ejemplo, crear un nuevo contrato, hacemos clic en el botón de contratos aquí, ves toda las diferentes clases de contratos que podemos construir. Más aún, si hacés clic en uno de estos íconos aquí, ves que correspondientemente, en el menú, el tipo de ítem, el tipo de bloque que necesitamos para utilizar, para completar esos huecos. Así que hace que el ensamblaje de un contrato esté completamente comprobado, siempre te dice qué necesitas encajar dentro de cualquier hueco particular en el contrato. Reensamblemos esto y veamos qué tipo de contrato obtenemos. Es un contrato que espera un depósito de Alice dentro de su cuenta, y luego espera a que Bob escoja un número entre cero y uno, luego paga a Bob la cantidad de uno más su opción, desde la cuenta de Alice, y luego se cierra.
Aquí también tenemos un “esperar”, podemos esperar hasta el slot diez para que Alice haga el depósito, si no lo hace cerramos y refundimos cualquier dinero que haya en el contrato. De manera similar, esperando por el depósito de Bob, esperamos hasta la opción de Bob, esperamos hasta el slot 20, y luego hacemos la misma cosa, en ese caso reembolsamos el dinero a Alice. Aquí tenemos nuestro contrato, enviémoslo al simulador, comencemos a simular, el simulador dice que hay dos cosas interesantes que podríamos hacer, podríamos depositar un Ada, hagamos eso. Ahora podés ver que el contrato evolucionó, la parte resaltada es menor. En este punto podríamos o podríamos tomar una opción para Bob o podríamos movernos al slot 20, veamos qué ocurre si hacemos eso. Ves que Alice recibe su dinero reembolsado, debido a Bob no realizó una opción. Deshagamos eso, y movámonos a elegir la opción de uno, y agregar eso. Ves que lo que ocurre es que el contrato ha pagado, luego de ello, un Ada de Alice, de su cuenta, a Bob. Pero desafortunadamente, eso no funcionó bien, tenemos una advertencia aquí, el contrato supuestamente debería haber pagado dos unidades de Ada , pero sólo hizo uno. Así que construído dentro de nuestro entorno está la habilidad de rastrear este tipo de error, y si volvemos a la fuente, podemos hacer lo que se llama un análisis estático, analizar las advertencias y sin ejecutar el contrato en absoluto, podemos que está este problema, podemos lograr un pago parcial. Y lo que es encantador acerca del análisis es que chequea todo camino posible a través del contrato. En el simulador sucede que llegó a un mal camino, utilizando el análisis podés garantizar que se va a encontrar el mal camino, si es que hay uno.
Así que breve resumen, construcción de contratos, simulación de contratos, análisis de contratos, analizado para un pago fallido, eso es, en resumen, lo que obtenés con el Playground Marlowe.