MF2631_3: Programación de Contratos Inteligentes (‘Smart Contracts’)

912 171 879

Categorías

DENOMINACIÓN

Programación de Contratos Inteligentes (‘Smart Contracts’)

CÓDIGO

MF2631_3

DESCRIPCIÓN

Módulo formativo MF2631_3: Programación de Contratos Inteligentes (‘Smart Contracts’)

DURACIÓN

120 horas

CAPACIDADES Y CRITERIOS DE EVALUACIÓN

C1: Aplicar procedimientos de desarrollo de un Contrato Inteligente (‘Smart Contract’) basado en tecnologías distribuidas, usando un lenguaje de programación y en un entorno de desarrollo para reflejar la lógica de aplicación, de modo que cumpla las especificaciones de un diseño y en condiciones de calidad.

CE1.1 Explicar las formas de abordar el desarrollo de un contrato inteligente en función de si la Blockchain es pública, privada, híbrida, entre otros, indicando las características de desarrollo que de ello se derivan.

CE1.2 Describir los componentes de un Contrato Inteligente (‘Smart Contract’), analizando un diseño previo, estableciendo las opciones de seguridad y permisos asociados a configurar.

CE1.3 Describir procedimientos de documentación del código, explicando las convenciones para describir cada componente.

CE1.4 Describir procedimientos de prueba, previo aislamiento del Contrato Inteligente (‘Smart Contract’) en un entorno controlado para garantizar que sigue la funcionalidad descrita en un diseño.

CE1.5 Explicar procedimientos de uso de herramientas de control de versiones centralizadas o distribuidas, separando y describiendo los pasos a seguir para cada posible operación tal como creación, bloqueo elementos para modificación, apertura de ramas (‘fork’ o ‘branch’) y publicación de código del Contrato Inteligente (‘Smart Contract’).

CE1.6 En un supuesto práctico de desarrollo de un Contrato Inteligente (‘Smart Contract’) basado en tecnologías distribuidas, usando un lenguaje de programación y en un entorno de desarrollo para reflejar la lógica de aplicación, de modo que cumpla las especificaciones de un diseño y en condiciones de calidad:
‐ Determinar las constantes, variables, modelos, funciones y eventos del Contrato Inteligente (‘Smart Contract’), en función de si la plataforma Blockchain es pública, privada, híbrida, entre otros y las características que se derivan.
‐ Detectar inconsistencias y limitaciones de un diseño, analizando y valorando la propuesta.
‐ Codificar componentes del Contrato Inteligente (‘Smart Contract’), utilizando el lenguaje de programación y en el entorno de desarrollo propuestos, siguiendo una guía de buenas prácticas y los estándares de la comunidad de desarrolladores.
‐ Establecer permisos por cada variable y función del Contrato Inteligente (‘Smart Contract’) de acuerdo a unas especificaciones de seguridad establecidas en un diseño.
‐ El código se documenta según una convención, determinando el nombre y propósito de cada componente de forma precisa para facilitar su entendimiento.
‐ Someter los componentes del Contrato Inteligente (‘Smart Contract’) desarrollados a sucesivas pruebas y a depuración en un entorno aislado, para asegurar su funcionamiento.
‐ Utilizar herramientas de control de versiones centralizadas o distribuidas, creando, bloqueando elementos para modificación, abriendo ramas (‘fork’ o ‘branch’) y publicando el código del Contrato Inteligente (‘Smart Contract’) desarrollado o modificado para garantizar el control de cambios en el software, facilitando el desarrollo, la adición de nuevas funcionalidades y la corrección de errores.

C2: Aplicar técnicas de despliegue de un Contrato Inteligente (‘Smart Contract’) desarrollado para integrar la lógica programada con una red de Blockchain, garantizando su funcionalidad.

CE2.1 Describir procedimientos de preparación de un entorno controlado de despliegue, explicando los pasos a seguir para configurar las herramientas a utilizar.

CE2.2 Describir procedimientos de conexión con una red de Blockchain, explicando los pasos a seguir para configurar una identidad.

CE2.3 Describir procedimientos de despliegue y prueba usando herramientas al efecto para compilar y desplegar el Contrato Inteligente (‘Smart Contract’), a través de un nodo de la red de Blockchain.

CE2.4 En un supuesto práctico de aplicación de técnicas de despliegue de un Contrato Inteligente (‘Smart Contract’) desarrollado para integrar la lógica programada con una red de Blockchain, garantizando su funcionalidad:
‐ Preparar un entorno controlado de despliegue, configurando las herramientas de despliegue, siguiendo unas especificaciones y la guía de buenas prácticas de la comunidad.
‐ Configurar la conexión con una red de Blockchain a través de una identidad, utilizando las herramientas según el tipo de tecnología de la plataforma.
‐ Utilizar unas herramientas de despliegue para compilar y desplegar el Contrato Inteligente (‘Smart Contract’) a través de un nodo de la red de Blockchain.
‐ Utilizar el entorno de desarrollo para construir y enviar una transacción a la red de Blockchain, asegurando la comunicación efectiva con el Contrato Inteligente (‘Smart Contract’) desplegado y preparando las automatizaciones que se requieran desde el ‘backend’.
‐ Documentar el proceso de despliegue según una convención de formato, determinando las instrucciones y resultados de cada paso, para facilitar su entendimiento y posteriores reiteraciones del proceso.

C3: Aplicar procedimientos de prueba de un Contrato Inteligente (‘Smart Contract’) desarrollado, para asegurar que cumple unas especificaciones, garantizando su funcionamiento en el entorno productivo.

CE3.1 Explicar procedimientos de preparación de datos de prueba y escenarios, clasificándolos para simular todas las situaciones tipo y límite o prohibidas.

CE3.2 Explicar procedimientos creación y envío de transacciones para pruebas unitarias, de integración y de depuración, usando datos de prueba y escenarios, para verificar cada una de las funciones del Contrato Inteligente (‘Smart Contract’).

CE3.3 Describir procedimientos de pruebas de carga del Contrato Inteligente (‘Smart Contract’), provocando situaciones para detectar alteraciones de rendimiento que difieran de unos niveles de calidad.

CE3.4 Describir la estructura de la documentación de pruebas, explicando sus apartados, información a reflejar y opciones de formato.

CE3.5 En un supuesto práctico de aplicación de procedimientos de prueba de un Contrato Inteligente (‘Smart Contract’) desarrollado, para asegurar que cumple unas especificaciones, garantizando su funcionamiento en el entorno productivo:
‐ Preparar un conjunto de datos de prueba y los escenarios de las mismas, clasificándolos para simular todas las situaciones tipo y límite o prohibidas, siguiendo unas especificaciones de diseño y calidad.
‐ Utilizar un entorno de desarrollo para crear y enviar sucesivas transacciones al Contrato Inteligente (‘Smart Contract’), asegurando el funcionamiento de cada una de las funciones siguiendo las especificaciones establecidas por la entidad responsable del proyecto.
‐ Someter al Contrato Inteligente (‘Smart Contract’) a sucesivas pruebas de integración y depuración en un entorno controlado y con información conocida, para asegurar su correcto funcionamiento en la red de Blockchain de acuerdo a unas especificaciones de diseño.
‐ Someter a pruebas de carga el Contrato Inteligente (‘Smart Contract’), provocando situaciones para detectar alteraciones de rendimiento que difieran de los niveles de calidad esperados.
‐ Detectar limitaciones de funcionalidad y rendimiento, transmitiéndolas a la persona responsable por los cauces que determine la entidad encargada del proyecto.
‐ Documentar las pruebas de integración y rendimiento según una convención, reflejando el procedimiento y resultado de cada prueba de modo que sirva de guía para su entendimiento y futuras modificaciones.

C4: Aplicar técnicas de elaboración de la documentación de un Contrato Inteligente (‘Smart Contract’) desarrollado, reflejando los pasos seguidos y las herramientas utilizadas, para garantizar su uso y futuro mantenimiento, en condiciones de calidad.

CE4.1 Clasificar elementos tales como constantes, variables, funciones y eventos, entre otros, para su inclusión en la documentación técnica del Contrato Inteligente (‘Smart Contract’), diferenciando y describiendo sus características de forma que permita su fácil comprensión y modificación.

CE4.2 Enumerar características generales a incluir en la documentación, tales como lenguaje de programación, la versión, la plataforma Blockchain y los estándares utilizados, describiendo sus características y denominación entre otros, para establecer el marco de referencia.

CE4.3 En un supuesto práctico de elaboración de documentación de un Contrato Inteligente (‘Smart Contract’) desarrollado, reflejando los pasos seguidos y las herramientas utilizadas, para garantizar su uso y futuro mantenimiento, en condiciones de calidad:
‐ Redactar la documentación técnica de un Contrato Inteligente (‘Smart Contract’) explicando con precisión cada constante, variable, función y evento de forma que permita su fácil comprensión y modificación, de acuerdo con una convención de contenido y formato.
‐ Reflejar en la documentación el lenguaje de programación, la versión, la plataforma Blockchain y los estándares utilizados, para establecer el marco de referencia.
‐ Incluir en la documentación las pautas de desarrollo seguidas, describiendo en su caso las motivadas por requisitos y el porqué de la adopción de determinadas soluciones, para facilitar la incorporación de actualizaciones, mejoras y correcciones en el Contrato Inteligente (‘Smart Contract’).

Capacidades cuya adquisición debe ser completada en un entorno real de trabajo.
C1 respecto a CE1.6; C2 respecto a CE2.4; C3 respecto a CE3.5; C4 respecto a CE4.3.

Otras Capacidades:
Responsabilizarse del trabajo que desarrolla y del cumplimiento de los objetivos.
Finalizar el trabajo atendiendo a criterios de idoneidad, economía y eficacia.
Adaptarse a situaciones o contextos nuevos.
Respetar los procedimientos y normas internas de la organización.
Mostrar una actitud de respeto hacia los compañeros, procedimientos y normas de la empresa.
Aplicar de forma efectiva el principio de igualdad de trato y no discriminación en las condiciones de trabajo entre mujeres y hombres.

CONTENIDOS

1 Desarrollo de Contratos Inteligentes

Redes DLT. Blockchain. Blockchain públicas, privadas e híbridas.
Contratos Inteligentes (‘Smart Contracts’). Componentes. Seguridad y permisos. Lenguajes de programación, entornos de desarrollo y frameworks.
Procedimientos de prueba y documentación de Contratos Inteligentes (‘Smart Contracts’).
Herramientas de control de versiones.

2 Despliegue de Contratos Inteligentes

Procedimientos de preparación de entornos controlados de despliegue.
Procedimientos de conexión con una red de Blockchain. Configuración de identidades.
Procedimientos de despliegue y prueba. Herramientas para compilar y desplegar.
Conexión con ‘backend’.

3 Prueba y documentación de Contratos Inteligentes

Procedimientos de preparación de datos de prueba y escenarios.
Procedimientos creación y envío de transacciones para pruebas unitarias, de integración y de depuración.
Procedimientos de pruebas de carga del Contrato Inteligente (‘Smart Contract’). Niveles de calidad.
Documentación de pruebas. Estructura y apartados, información a reflejar y opciones de formato.
Elaboración de la documentación de mantenimiento y uso del Contrato Inteligente (‘Smart Contract’). Estructura y herramientas.

SI QUIERES APRENDER MÁS…

TE LLAMAMOS Y TE LO EXPLICAMOS TODO

    [td_block_7 custom_title=»Echale un vistazo a nuestros cursos» category_ids=»-51,-50,21,40,39,11,-13,18″ limit=»10″ css=».vc_custom_1603406461579{background-color: #ffffff !important;}»]

    Deja un comentario

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Scroll al inicio