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 jqen macOS,apt-get install jqen 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.