- 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
Tipos de almacenamiento de datos: memory, storage y call data
Clase 11 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
Las variables pueden tener una ubicación distinta dentro de su almacenamiento en el contrato dependiendo del uso que se les vaya a dar y cómo se utilicen.
Tipos de almacenamiento de datos
Para especificar la localización de los datos en un contrato, veremos a continuación tres posibilidades y dependiendo la misma, una variable tendrá un comportamiento u otro.
Storage
Indica que una variable será guardada dentro de la Blockchain. Siempre podremos obtener un valor desde el storage dado que todo en Blockchain es inmutable. A este tipo de memoria se le conoce como memoria persistente.
Memory
Las variables del tipo memory solo pueden ser usadas mientras se llama a una función. Después de esto, la misma se borrará. Este tipo de variable puede modificarse mientras está en uso.
Calldata
Similar a memory, con la diferencia de que aquí las variables no se pueden modificar mientras estén en uso. Si se sabe de antemano que una variable no necesitará modificarse, es buena práctica usar calldata para reducir el consumo de gas.
Por defecto, las variables de estado del contrato son guardadas en el storage, mientras que los parámetros de una función son guardados en memory. Los únicos tipos de datos a los que se les puede asignar un almacenamiento distinto son los tipos string, array, struct y mapping.
El tipo de almacenamiento de una variable cambiará el ciclo de vida de la misma. Haciendo que esta sea modificable o persistente dentro del contrato. Es muy importante entender la diferencia entre cada tipo para saber cuándo es conveniente utilizar cada uno y mejorar el rendimiento de un contrato.
Contribución creada por: Luis Enrique Herrera y Kevin Fiorentino (Platzi Contributors).