912 171 879
Buscador de Cursos & Artículos
Categorías
DENOMINACIÓN
Desarrollo de interfaces de usuario ‘frontend’ para interacción con redes descentralizadas basadas en Blockchain
CÓDIGO
MF2632_3
DESCRIPCIÓN
Módulo formativo MF2632_3: Desarrollo de interfaces de usuario ‘frontend’ para interacción con redes descentralizadas basadas en Blockchain
DURACIÓN
120 horas
CAPACIDADES Y CRITERIOS DE EVALUACIÓN
C1: Aplicar técnicas de programación de un interfaz de usuario ‘frontend’, escogiendo previamente de entre las tecnologías disponibles aquellas que mejor se ajusten a las especificaciones del producto y a las tecnologías de registro distribuido, desarrollando el código y desplegando la aplicación para usarla en la interacción con redes descentralizadas basadas en Blockchain.
CE1.1 Diferenciar marcos de trabajo (‘frameworks’), describiendo sus características y configuraciones garantizar la continuidad del funcionamiento de la aplicación.
CE1.2 Distinguir los tipos de ‘hosting’ descentralizado, precisando los usos de cada uno y explicando sus características y tipología.
CE1.3 Distinguir Servicios Descentralizados de Nombres de Dominios, precisando sus usos y explicando los pasos de configuración.
CE1.4 Identificar librerías utilizadas para el desarrollo del interfaz ‘frontend’, tales como librerías de criptografía, de comunicaciones, gráficas, entre otras, explicando los usos de cada una de ellas.
CE1.5 Describir herramientas de control de versiones centralizadas o distribuidas, clasificándolas según su arquitectura y funcionalidad para crear, bloquear elementos para modificación, abrir ramas (‘fork’ o ‘branch’) y publicar el código del interfaz ‘frontend’ desarrollado o modificado, garantizando el control de cambios en el software, facilitando el desarrollo, la adición de nuevas funcionalidades y la corrección de errores.
CE1.6 Describir procedimientos de documentación de la aplicación, usando aplicaciones y requisitos de código abierto.
CE1.7 En un supuesto práctico de aplicación de técnicas de programación de un interfaz de usuario ‘frontend’, escogiendo previamente de entre las tecnologías disponibles aquellas que mejor se ajusten a las especificaciones del producto y a las tecnologías de registro distribuido, desarrollando el código y desplegando la aplicación para usarla en la interacción con redes descentralizadas basadas en Blockchain:
‐ Seleccionar un marco de trabajo (‘framework’) para entorno gráfico, analizando características y comparándolos para elegir el que mejor se adapte a las necesidades del producto.
‐ Desarrollar una aplicación usando el marco de trabajo (‘framework’) para entorno gráfico seleccionado, integrando las librerías de uso común en el sector para el manejo de información sensible, garantizando la auditabilidad y resolviendo problemas tales como el manejo y generación de claves privadas y semillas, las soluciones de encriptación, la conectividad con extensiones de monederos, la conexión con un ‘backend’ o la comunicación de la aplicación con nodos externos, entre otros.
‐ Probar la aplicación, verificando su funcionalidad, tal como el acceso a los datos de la red descentralizada y la conexión en su caso con un ‘backend’ en función del tipo de red y del caso de uso, evaluando su usabilidad.
‐ Utilizar una herramienta de control de versiones centralizada o distribuida, creando, bloqueando elementos para modificación, abriendo ramas (‘fork’ o ‘branch’) y publicando el código del interfaz ‘frontend’ 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.
‐ Desplegar la aplicación sobre la red usando un ‘hosting’ descentralizado para distribuir el contenido y evitar ataques de denegación de servicio.
‐ Configurar el acceso a la aplicación mediante un Servicio Descentralizado de Nombres de Dominio para usar un lenguaje humano.
‐ Documentar la aplicación, usando herramientas cooperativas que faciliten la revisión, informando de las librerías usadas, pruebas efectuadas, resultado de las mismas, entre otros, usando las reglas de la comunidad y del departamento de IT para obtener como resultado una estructura de código sencilla y fácil de auditar.
C2: Describir procedimientos de configuración y despliegue de nodos de contenido direccionado, clasificando los tipos de identidad soberana, de nodos ligeros y de ‘hosting’ descentralizado para el desarrollo de aplicaciones ‘frontend’ en Blockchain.
CE2.1 Distinguir los tipos de identidad digital soberana, precisando los usos de cada una, explicando sus características y tipología.
CE2.2 Distinguir los tipos de nodos ligeros, precisando sus usos y explicando sus características.
CE2.3 Detallar los procedimientos de configuración y despliegue de nodos de contenido direccionado, explicando los pasos a seguir.
C3: Aplicar procedimientos de mejora de la experiencia de usuario, abstrayendo soluciones criptográficas para el desarrollo de un interfaz ‘frontend’.
CE3.1 Describir los pasos para obtener y mostrar de forma clara y sencilla los saldos de activos fungibles, tales como ‘token’ tipo criptomoneda u otros, y no fungibles (NFT).
CE3.2 Describir procedimientos de interacción y determinación de campos de formulario correspondientes a facturas, transacciones o contratos inteligentes, de modo que se facilite su uso, explicando los pasos a seguir.
CE3.3 Detallar de manera determinista el camino recorrido por los datos usados en la aplicación, asegurando que nunca pasan por procesos centralizados.
CE3.4 Explicar procedimientos de verificación de la información de la aplicación mediante exploradores de bloques externos o herramientas similares, explicando los pasos a seguir.
CE3.5 En un supuesto práctico de aplicación de procedimientos de mejora de la experiencia de usuario, abstrayendo soluciones criptográficas para el desarrollo de un interfaz ‘frontend’:
‐ Mostrar saldos de activos fungibles, tales como ‘token’ tipo criptomoneda u otros, y no fungibles (NFT), abstrayendo los balances y listando de forma clara y sencilla los activos para facilitar la experiencia de usuario (UX).
‐ Desarrollar las interacciones de usuario (UI) tales como facturas, transacciones o contratos inteligentes, mediante formularios para que sean accesibles y se puedan utilizar sin conocimientos técnicos.
‐ Enviar los eventos, registros ‘log’ o información de oráculos al usuario sin pasar por soluciones centralizadas para evitar la manipulación en su toma de decisiones.
‐ Utilizar exploradores de bloques externos o en su caso, otra herramienta similar a través de hipervínculos a aplicaciones externas, para verificar la información de la aplicación.
C4: Aplicar procedimientos de mantenimiento de un interfaz de usuario ‘frontend’ usando servicios ubicados en la parte de los clientes para reducir los vectores de ataque y el coste de mantenimiento de las soluciones centralizadas.
CE4.1 Describir procedimientos de configuración del acceso, explicando los pasos a seguir para configurar usuario (‘login’) y autorización mediante un sistema de identidad soberano, basado en modelos tales como: firma desde clave privada de monedero, posesión de nodo propio o prueba de conocimiento cero.
CE4.2 Enumerar procedimientos de verificación de la información mostrada, usando nodos Blockchain desplegados en el navegador cliente tipo SPV (‘Simplified Payment Verification’) o Nodo Ligero.
CE4.3 Enumerar procedimientos de publicación del contenido estático, manteniéndolo mediante un nodo de contenido direccionado (‘Address Content’) para aumentar la resiliencia y para reducir los costes de servidor (‘severless’).
CE4.4 En un supuesto práctico de aplicación de procedimientos de mantenimiento de un interfaz ‘frontend’ usando servicios ubicados en la parte de los clientes para reducir los vectores de ataque y el coste de mantenimiento de las soluciones centralizadas:
‐ Configurar el acceso estableciendo usuario (‘login’) y autorización mediante un sistema de identidad soberano, basado en alguno de los siguientes modelos: firma desde clave privada de monedero, posesión de nodo propio o prueba de conocimiento cero.
‐ Verificar la información suministrada al usuario a través de nodos Blockchain desplegados en el navegador cliente tipo SPV (‘Simplified Payment Verification’) o Nodo Ligero para impedir la modificación de la información durante el envío desde un servidor externo.
‐ Publicar el contenido estático de la aplicación, manteniéndolo usando un nodo de contenido direccionado (‘Address Content’) para aumentar la resiliencia y para reducir los costes de servidor (‘serverless’).
Capacidades cuya adquisición debe ser completada en un entorno real de trabajo.
C1 respecto a CE1.7; C3 respecto a C3.5; C4 respecto a CE4.4.
Otras Capacidades:
Responsabilizarse del trabajo que desarrolla y del cumplimiento de los objetivos.
Demostrar cierto grado de autonomía en la resolución de contingencias relacionadas con su actividad.
Comunicarse eficazmente con las personas adecuadas en cada momento.
Demostrar flexibilidad para entender los cambios.
Mostrar en todo momento una actitud de respeto hacia los compañeros, procedimientos y normas internas de la empresa.
Cumplir las medidas que favorezcan el principio de igualdad de trato y de oportunidades entre hombres y mujeres.
CONTENIDOS
1 Marcos de trabajo para desarrollo de interfaces ‘frontend’ de usuario en Blockchain
‘Framework’. Clasificación, características y configuración.
Alojamiento ‘Hosting’ descentralizado. Clasificación. Características y usos.
Librerías de criptografía, de comunicaciones, gráficas, entre otras.
Herramientas de control de versiones. Tipos y procedimientos de uso.
2 Procedimientos de desarrollo de interfaces de usuario ‘frontend’ en Blockchain
Creación de código auditable.
Generación de claves privadas y semillas. Soluciones de encriptación.
Conectividad con extensiones de monederos.
Comunicación con nodos externos.
Interacción con contratos inteligentes.
Procedimientos de verificación y pruebas.
Despliegue sobre red. Conexión con ‘backend’.
Documentación de la aplicación.
3 Adaptación y evaluación de la experiencia de usuario en interfaces ‘frontend’ para Blockchain
Procedimientos de obtención y visualización clara de saldos de activos fungibles y no fungibles.
‘Token’ tipo criptomoneda. NFT.
Procedimientos de mejora de la interacción y determinación de campos de formulario correspondientes a facturas, transacciones o contratos inteligentes.
Verificación de la descentralización. Envío de eventos, registros ‘log’ o información de oráculos.
Exploradores de bloques externos y similares.
4 Mantenimiento de la interfaz ‘frontend’ en Blockchain
Configuración del acceso. Usuarios (‘login’) y autorización. Identidad digital soberana. Firma desde clave privada de monedero, posesión de nodo propio o prueba de conocimiento cero.
Procedimientos de verificación de la información mostrada, usando nodos Blockchain desplegados en el navegador cliente tipo SPV (‘Simplified Payment Verification’) o Nodo Ligero.
Procedimientos de publicación del contenido estático. Nodo de contenido direccionado (‘Address Content’). Resiliencia y reducción de costes de servidor (‘severless’).
SI QUIERES APRENDER MÁS…
TE LLAMAMOS Y TE LO EXPLICAMOS TODO
