- 1

Contratos Inteligentes en Blockchain con Ethereum
01:05 - 2
Construcción de Smart Contracts para Crowdfunding con Ether
01:31 - 3

Contratos inteligentes en Blockchain: características y funcionamiento
01:59 - 4

Fundamentos de Ethereum y contratos inteligentes
02:37 - 5

Ethereum Virtual Machine: Ejecución de Contratos Inteligentes
01:15
Desafió para el contrato de CrowdFunding
Clase 18 de 21 • Curso de Introducción al Desarrollo Blockchain: Smart Contracts
Contenido del curso
- 6

¿Qué es Solidity?
01:06 - 7

Estructura de un contrato en Solidity
01:56 - 8

Variables de estado y variables globales
06:42 - 9

Estructuras de control en Solidity
05:40 - 10

Declaración de funciones en Solidity
08:44 - 11

Tipos de almacenamiento de datos: memory, storage y call data
02:49 - 12

Modificadores de funciones
09:25 - 13

Envío de notificaciones utilizando eventos
06:03 - 14

Manejo de errores en Solidity
08:40 - 15

Establecer tipos de datos personalizados con Struct Types
05:43 - 16

Qué son los enum types
05:52 - 17

Qué son los array y mappings
06:57 - 18

Desafió para el contrato de CrowdFunding
06:13
Tienes todo el conocimiento necesario en Solidity para desarrollar tu primer contrato profesional. Es hora de poner a prueba todo lo aprendido en este curso.
Desafió sobre CrowdFunding
Un CrowdFunding es un mecanismo colectivo de financiación de proyectos donde múltiples usuarios realizan aportes económicos a una cuenta con el fin de que esta reciba inversión y el proyecto se desarrolle.
Por lo general, y para evitar estafas, dichos proyectos se encuentran aprobados por una plataforma y poseen un libro blanco que describe el equipo y los objetivos del mismo. Los usuarios que aportan capital suelen recibir incentivos en forma de tokens que pueden ser más valiosos en el futuro si el proyecto tiene éxito y recuperar la inversión.
Tu objetivo será desarrollar un contrato inteligente que permita:
- Inicializar el contrato y crea una
structpara almacenar los datos de una proyecto y administra el estado de cada uno con unenum. - Crear una función
fundProject()que permita enviar ETH a un proyecto. - Crear la función
changeProjectState()que permita cambiar el estado de un proyecto. - Utilizar
modifierspara que solo el creador de un proyecto pueda modificarlo su estado. - Producir validaciones en tu contrato para que no pueda aportarse capital a un proyecto finalizado o evitar que se aporte 0 ETH.
- Almacenar los proyectos en un Array y guarda cada contribución que un proyecto reciba en un Mappings.
Al finalizar el reto, comparte tu primer contrato inteligente y compara tu solución con la de otros estudiantes. Recuerda que existen distintas maneras de resolver este reto.
Contribución creada por: Kevin Fiorentino (Platzi Contributor).