Saltar al contenido principal

Red local de ISBE

Antes de desplegar en PRE o PRO, es recomendable validar los contratos en una red local. ISBE proporciona una plantilla lista para usar que levanta una red Besu con QBFT en Docker y reproduce el entorno real de la red USE-CASE.

El repositorio de referencia es isbe-clients-template, que incluye:

  • Los scripts para arrancar y parar la red local (startNetwork.sh / stopNetwork.sh)
  • Una plantilla de contrato adaptada al patrón Diamond de ISBE
  • Un ejemplo completo y funcional (HashTimestamp) listo para ejecutar
  • El script de despliegue en tres pasos (registro de bytecode, configuración y despliegue del proxy)

Requisitos previos

  • Node.js >= 18
  • Docker instalado y en ejecución
  • jq (brew install jq en macOS, apt-get install jq en Ubuntu/Debian)

Flujo básico

1. Clonar el repositorio y instalar dependencias

git clone https://github.com/red-isbe/isbe-clients-template.git
cd isbe-clients-template
npm install

2. Configurar las variables de entorno

cp .env_sample .env

Edita .env con la clave privada de una de las cuentas disponibles en la red local (documentadas en isbe-network-case/):

ACCOUNT_PRIVATE_KEY=0xtu_clave_privada
LOCALHOST_URL=http://localhost:8545

3. Levantar la red

cd isbe-network-case
./startNetwork.sh

Esto arranca 4 nodos Besu. Para verificar que están corriendo: docker ps.

4. Compilar y desplegar

npx hardhat compile
npx hardhat run scripts/hashtimestamp/deployHashTimestamp.ts --network isbe

Para parar la red:

./stopNetwork.sh

Adaptar la plantilla a tu proyecto

El repositorio explica en detalle cómo sustituir los contratos de ejemplo por los propios, definir el namespace de tu proyecto (storage slots, roles, config IDs) y calcular los hashes necesarios para el script de despliegue.

Consulta el README de isbe-clients-template para la guía completa de adaptación.