Skip to content

PauMB85/patron-proxy

Repository files navigation

Patrón Proxy

Este proyecto es un ejemplo sencillo para comprender el funcionamiento del Patrón Proxy en smart contracts.

Prerrequisitos

  1. Crear un archivo .env con dos variables de entorno:

    • PRIVATE_KEY
    • PRIVATE_KEY2

    Estas variables corresponden a las claves privadas de dos wallets que se utilizarán en las pruebas.

Nota: El archivo hardhat.config.ts está configurado para desplegar los smart contracts en la testnet de Rootstock. Puedes modificarlo para utilizar otra blockchain si lo deseas.

Instalación de dependencias

Instala las librerías necesarias ejecutando el siguiente comando:

npm install @openzeppelin/contracts @openzeppelin/hardhat-upgrades dotenv

Explicación de las dependencias

  • @openzeppelin/contracts: Incluye contratos estándar, como el Transparent Proxy.
  • @openzeppelin/hardhat-upgrades: Facilita la gestión y actualización de contratos inteligentes.

Pasos para la implementación

  1. Desplegar el Smart Contract V1:

    npm run deploy:favorite-number
  2. Ejecutar el script para establecer tu número favorito.

    npm run set-number
  3. Ejecutar el script para verificar el número favorito guardado.

    npm run get-number
  4. Actualizar el Smart Contract a la versión V2, agregando una función para consultar el número favorito de cualquier wallet:

    npm run deploy:favorite-number-v2
  5. Ejecutar el script para verificar que el valor almacenado previamente sigue disponible.

    npm run get-number-deployed
  6. Ejecutar el script para que otro usuario guarde su número favorito.

    npm run set-number-upgrade
  7. Este nuevo usuario ejecuta el script para recuperar su número favorito y el de otro usuario.

    npm run get-number-upgrade

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published