ETH Kipu
  • Ethereum Developer Pack
  • Módulo 1
    • Intro a Smart Contracts
      • Fundamentos de Blockchain
        • Antecedentes
        • Bitcoin
        • Qué es Blockchain
        • Conceptos Clave en Blockchain
        • Cómo funciona la Blockchain
        • Tipos de Blockchain
        • Modelos de Consenso
      • El nuevo Internet
        • Web 3
        • Elementos Fundamentales
        • Impacto de Ethereum en Diversos Sectores
      • Wallets
        • Componentes de una wallet
        • Tipos de Wallet
        • Códigos mnemónicos
      • Ethereum 101
        • Smart Contracts
        • Cuentas
          • Tipos de cuentas
          • Contenido de cuentas
        • Transacciones
          • Componentes
          • Ciclo de vida
        • Gas
        • Solidity
        • EVM
          • La máquina de estados
          • Opcodes
          • Cómo funciona la EVM
          • Clientes de ejecución
          • DApps
      • Blockchain Explorer
        • Funciones de un blockchain explorer
        • Beneficios de utilizar un blockchain explorer
      • Remix
        • Características de Remix
        • Workspaces o espacios de trabajo
        • Cargar y compilar un contrato
        • Desplegar en la máquina virtual de Remix (Remix VM)
        • Interactuando con funciones
        • Desplegar en una red pública
      • Crea tu primer Smart Contract
  • Módulo 2
    • Fundamentos de Solidity
      • Hello World
      • Tipos de Datos
      • Funciones
      • Variables
        • Ejercicio 1
      • Operadores
        • Ejercicio 2
      • Constructor
        • Ejercicio 3
      • Convenciones de nomenclatura
      • Tipos de almacenamiento para variables
      • Estructuras de Control
        • Ejercicio 4
      • Modificadores
      • Eventos
        • Ejercicio 5
      • Tipos de Referencia
        • Arrays
          • Ejercicio 6
        • Mappings
          • Ejercicio 7
        • Structs
          • Ejercicio 8
      • Address Payable
      • Cómo reciben Ether los contratos y funciones
      • Transferencias de Ether
      • Conceptos Avanzados
        • Codificación ABI
        • Hashing
        • This
        • Herencia
        • Abstract
        • Interface
        • Llamadas entre contratos
        • EVM
        • ABI
        • Bytecode
        • Opcodes
  • Módulo 3
    • Estándares, Librerías y Patrones
      • Buenas Prácticas de Diseño
      • Patrones de Diseño
      • EIP y ERC
      • ERC-20
      • ERC-721
      • Open Zeppelin
      • Crea un Token ERC-20
      • Almacenamiento Descentralizado: IPFS
      • Crea un Token ERC-721
      • DeFi
  • Módulo 4
    • Toolkit para desarrollo en Ethereum
      • Requisitos para el módulo 4
        • Terminal
        • Git y Github
        • Node.js y npm
        • Visual Studio Code para Solidity
      • Toolkit
        • JSON-RPC
        • Ethers.js
          • Ejercicio
        • Hardhat
          • Despliegue de un contrato en Hardhat
          • Despliegue de un contrato en una red pública
        • Scaffold-ETH
          • Características
          • Cómo instalar Scaffold-ETH
  • Módulo 5
    • Seguridad, Pruebas y Auditoría
      • Pruebas
        • Importancia de realizar pruebas
        • Métodos para probar contratos inteligentes
          • Pruebas automatizadas
          • Pruebas manuales
        • Conceptos importantes en testing
        • Herramientas para testing
        • Testing con Hardhat
        • Recursos adicionales
      • Seguridad
        • Una mentalidad distinta de diseño
        • Principales vulnerabilidades en smart contracts
          • Reentrancy attack (ataque de reentrada)
          • Replay attack (ataque de repetición)
          • Price Oracle Manipulation (Manipulación de Oráculos de Precios)
          • Missing Access Control (Pérdida de Control de Acceso)
          • Reward Manipulation (Manipulación de Recompensas)
          • Failure to Initialize (Falla al Inicializar)
          • Front-running
          • Invariant Breaks (Ruptura de invariantes)
          • Mishandling of ETH (Mal manejo de ETH)
          • Denial of Service (DoS - Denegación de Servicio)
          • Integer overflow and underflow (desbordamiento y subdesbordamiento de enteros)
          • Phishing y Typosquatting
        • Recursos adicionales
      • Auditoría de smart contracts
        • Proceso de Auditoría
        • Herramientas
        • Cómo prepararse para una auditoría
        • El test Rekt
        • Retos
        • Recursos adicionales
  • Contribuye
    • Kipu Explorer
Powered by GitBook
On this page

Was this helpful?

  1. Módulo 4
  2. Toolkit para desarrollo en Ethereum
  3. Toolkit
  4. Scaffold-ETH

Cómo instalar Scaffold-ETH

PreviousCaracterísticasNextSeguridad, Pruebas y Auditoría

Last updated 8 months ago

Was this helpful?

Requisitos

Se requiere tener previamente instalado lo siguiente:

  • Visual Studio Code

En los prerrequisitos de este módulo puedes encontrar las instrucciones para la instalación de estos componentes.

Adicionalmente es necesario instalar yarn.

  • Yarn: Es un gestor de paquetes de código abierto que se utiliza para manejar dependencias en proyectos de JavaScript. Ayuda en el proceso de instalación, actualización, configuración y eliminación de dependencias de paquetes.

Para instalar yarn debemos ir a su y seguir las instrucciones para la instalación.

Instalación de Scaffold-ETH

Tenemos dos opciones para instalar Scaffold-ETH:

Opción 1: Clonar el repositorio de GitHub e instalar las dependencias:

git clone https://github.com/scaffold-eth/scaffold-eth-2.git
cd scaffold-eth-2
yarn install

Opción 2: Instalación guiada utilizando npx:

npx create-eth@latest

Con este modo de instalación, tendremos más opciones de configuración a la hora de instalar SE-2. Se nos solicitará una serie de definiciones:

  • Nombre del proyecto: Ingresa el nombre de tu proyecto.

  • Solidity Framework: Elige tu framework de Solidity favorito, Hardhat o Foundry.

Una vez hecha la configuración muévete hacia el directorio del proyecto:

cd project-name

Una vez instalado, luego de movernos al repositorio de trabajo y activar VS Code (code.) debemos ejecutar tres comandos utilizando tres ventanas distintas de la terminal:

Ventana 1: Inicializar la blockchain local.

yarn chain

Este comando inicializa una red Ethereum local utilizando Hardhat o Foundry, dependiendo de lo que elegiste. Esta blockchain correrá de forma local en tu computadora y puede ser usada para desarrollo y pruebas.

Ventana 2: Desplegar tu contrato inteligente.

yarn deploy

Este comando despliega un contrato inteligente de prueba en la red local. Este contrato se puede adaptar a lo que necesites y los puedes ubicar en :

  • Hardhat: packages/hardhat/contracts

  • Foundry: packages/foundry/contracts

El comando yarn deploy usa un script para desplegar el contrato en la red local. Puedes personalizar el script de despliegue que está ubicado en:

  • Hardhat :packages/hardhat/deploy

  • Foundry: packages/foundry/script

Ventana 3: Inicia el Front-End

yarn start

Puedes editar el Front-End en packages/nextjs/app/page.tsx

Si vas a la dirección http://localhost:3000. podrás ver la app funcionando.

Si revisas arriba a la derecha verás que se te ha generado una wallet automáticamente. Esta es una BurnerWallet, una wallet que se crea cada vez que se abre la dapp en un browser. La private key es guardada en texto plano en el LocalStorage del browser, lo cual no es muy seguro, pero es muy cómodo para probar tus contratos y dapps. No es necesario aprobar las transacciones o confirmar las firmas, por lo cual se hace más ágil probar funcionalidades con esta wallet, y puedes abrir la dapp en una ventana de incógnito del browser o con otro perfil, y tendrás asignada una nueva wallet/address, por lo cual puedes probar facilmente funcionalidades desde distintos perfiles de usuarios.

Puedes interactuar con tu smart contract utilizando el componente de contrato o la UI de ejemplo en el Front-End.

La dapp de ejemplo permite registrar saludos y lleva la cuenta de cuántos saludos se registraron desde una address determinada. También permite al owner del contrato retirar los fondos que tenga el contrato.

Empieza a hacer cambios en el contrato de prueba ubicado en packages/hardhat/contracts , despliégalo utilizando yarn deployy observa como el Front-End se va actualizando de forma automática como respuesta a los cambios realizados en el contrato.

Si no tienes ETH para ejecutar las transacciones utiliza el faucet incorporado que te asignará 1 ETH por solicitud.

Puedes también utilizar el Block Explorer, accediendo desde el link abajo a la izquierda. En el Block Exlorer podrás revisar las transacciones que se ejecutaron en la blockchain local, similar a lo que podrías hacer con Etherscan.

Scaffold-ETH 2 incorpora tambien componentes y hooks, muy útiles para un desarrollo ágil de dapps. Puedes encontrar más información de los mismos en la .

Node (>= v18.17)
Git
página web
documentación de Scaffold-ETH 2