https://github.com/artumarinn/hardhat-smartcontracts
El proyecto Hardhat Smart Contracts es un entorno de desarrollo para crear, probar y desplegar contratos inteligentes en la blockchain de Ethereum. Utiliza Hardhat como framework principal, permitiendo a los desarrolladores escribir contratos en Solidity, ejecutar pruebas, y simular interacciones en una red local.
https://github.com/artumarinn/hardhat-smartcontracts
blockchain ethereum hardhat hardhat-deployment smart-contracts solidity
Last synced: about 2 months ago
JSON representation
El proyecto Hardhat Smart Contracts es un entorno de desarrollo para crear, probar y desplegar contratos inteligentes en la blockchain de Ethereum. Utiliza Hardhat como framework principal, permitiendo a los desarrolladores escribir contratos en Solidity, ejecutar pruebas, y simular interacciones en una red local.
- Host: GitHub
- URL: https://github.com/artumarinn/hardhat-smartcontracts
- Owner: artumarinn
- Created: 2024-09-03T02:13:45.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-23T11:41:46.000Z (over 1 year ago)
- Last Synced: 2025-01-01T15:11:40.664Z (over 1 year ago)
- Topics: blockchain, ethereum, hardhat, hardhat-deployment, smart-contracts, solidity
- Language: TypeScript
- Homepage:
- Size: 400 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Hardhat Smart Contracts
Este proyecto demuestra el uso de Hardhat para el desarrollo, prueba y despliegue de contratos inteligentes en la blockchain de Ethereum. Incluye ejemplos de contratos inteligentes escritos en Solidity que ilustran conceptos básicos de desarrollo blockchain.
## Descripción del Proyecto
El proyecto "Hardhat Smart Contracts" sirve como una plantilla y ejemplo práctico para desarrolladores que desean adentrarse en el mundo de los contratos inteligentes y DApps (Aplicaciones Descentralizadas). Utiliza el framework Hardhat, que proporciona un entorno de desarrollo completo para Ethereum.
## Contratos Inteligentes
### Lock
El contrato `Lock` demuestra el concepto de bloqueo temporal de fondos, una funcionalidad común en aplicaciones DeFi (Finanzas Descentralizadas). Características:
- Bloqueo de fondos por un período específico.
- Liberación automática de fondos después del tiempo establecido.
- Útil para aprender sobre manejo de tiempo en Ethereum y seguridad de fondos.
### SimpleBank
El contrato `SimpleBank` simula operaciones bancarias básicas en blockchain. Características:
- Registro de usuarios.
- Depósitos y retiros de ETH.
- Manejo de comisiones.
- Administración de fondos por el propietario.
- Ideal para entender el flujo de fondos y la gestión de estados en contratos.
## Herramientas y su Utilidad
### Hardhat
Hardhat es un entorno de desarrollo para Ethereum que facilita:
- Compilación de contratos: Traduce el código Solidity a bytecode ejecutable en la EVM.
- Testing: Permite escribir y ejecutar pruebas para validar la lógica de los contratos.
- Despliegue: Facilita el proceso de publicar contratos en diferentes redes (testnet, mainnet).
- Depuración: Ofrece herramientas para identificar y corregir errores en los contratos.
### Solidity
Lenguaje de programación para escribir contratos inteligentes en Ethereum. Características:
- Tipado estático.
- Soporte para herencia.
- Bibliotecas personalizadas.
- Optimizado para la Ethereum Virtual Machine (EVM).
### Ethers.js
Biblioteca que facilita la interacción con la blockchain de Ethereum:
- Conexión con nodos Ethereum.
- Manejo de cuentas y firmas.
- Interacción con contratos desplegados.
### OpenZeppelin
Biblioteca de contratos inteligentes seguros y auditados:
- Implementaciones estándar de tokens (ERC20, ERC721).
- Patrones de seguridad y utilidades comunes.
- Ahorra tiempo y reduce riesgos de seguridad en el desarrollo.
## Configuración y API Keys
El proyecto utiliza servicios externos para mejorar el desarrollo y despliegue:
- Infura/Alchemy: Proveen acceso a nodos Ethereum sin necesidad de ejecutar uno propio.
- Etherscan: Permite la verificación de contratos, crucial para la transparencia y auditoría.
La configuración de estas API Keys en el archivo `.env` permite:
- Conexión a redes de prueba y principales de Ethereum.
- Verificación automatizada de contratos en exploradores de bloques.
- Simulación de entornos de producción durante el desarrollo.