Skip to content

jpzorrilla/Blockchain_Ethereum_SmartContract

Repository files navigation

Smart Contract en Ethereum

Este repositorio contiene una colección de Smart Contracts desarrollados con el lenguaje Solidity, que se utiliza para programar aplicaciones descentralizadas en la plataforma Ethereum. Cada contrato tiene una breve explicación de su funcionamiento y propósito, así como comentarios en el código para facilitar su comprensión. El objetivo de este repositorio es ofrecer ejemplos prácticos y didácticos de cómo crear y usar Smart Contracts en diferentes escenarios y casos de uso.

Contenido:

Fundamentos

  1. Variables. Variables básicas en los smart contracts.
  2. Datos estructurados. Ejemplo para crear un registro de alumnos de una clase.
  3. Mapeo. Este código muestra cómo inicializar variables de estado y cómo usar el modificador public para hacerlas accesibles desde fuera del contrato.
  4. Estructuras de control. Contrato que permite consultar el valor de las variables numeros y resultado desde cualquier cuenta externa.
  5. Eventos. Los eventos son un tipo de dato que sirve para emitir avisos de que ocurrió alguna acción en particular.
  6. Funciones. Las funciones son piezas de código definidas por un nombre, parámetros y modificadores.
  7. Modificadores. Un modificador es un tipo especial de función que se usa para modificar el comportamiento de otras funciones.
  8. Errores. Manejo de errores en los smart contracts.
  9. Transferencias. Se define un contrato llamado que permite enviar ether a otras direcciones usando tres métodos diferentes: send, transfer y call.
  10. Recepción. Código para recibir saldo en un smart contract.

Casos de uso

  1. Crowdfunding. Código para programar un smart contract que permita hacer crowdfunding de proyectos.
  2. Tokens. Este código define un contrato inteligente que implementa las funciones básicas de un token ERC20.
  3. NFT. Este código define un contrato inteligente el cual implementa la interfaz ERC721 para Tokens No Fungibles (NFT) con almacenamiento de URI.
  4. Cadena de suministro. Este código define un contrato que representa una cadena de suministro.
  5. Control de acceso. Este código utiliza la librería AccessControl de OpenZeppelin para gestionar los roles de los usuarios.
  6. Extensiones. Utilizando OpenZeppelin se crea un Token ERC20 que permita quemar parte de su suministro y que pueda ser pausado en caso de alguna vulnerabilidad encontrada.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published