⛓️ Blockchain Learning Path GitHub

Checklist de laboratorio

Navegación: Inicio · Kit del instructor · Programa · Catálogo de labs · Despliegue local

Lista operativa para cada sesión de laboratorio. El objetivo es que toda práctica sea reproducible, segura y deje evidencia revisable. Recorre las tres fases en orden.

Antes de la sesión

Durante la sesión

Después de la sesión

Comandos por familia de laboratorio

Familia Comando Qué verificar
Criptografía pnpm lab:hash, pnpm lab:merkle Determinismo, resistencia a manipulación y prueba de inclusión correcta
Consenso pnpm lab:pow Ajuste de dificultad y relación trabajo/tiempo
Bitcoin / UTXO pnpm lab:utxo Conservación de valor; receptor, cambio y comisión distinguidos
EVM pnpm lab:abi Selector y codificación de calldata correctos
Solidity forge build, forge test Depósito/retiro, fuzzing e invariantes que no se rompen
Seguridad forge test (en security-challenges/) PoC demuestra impacto; el fix pasa la prueba de regresión
Tokenomics pnpm lab:tokenomics Emisión, oferta y supuestos de sostenibilidad

El detalle de cada práctica y su evidencia esperada está en el catálogo de 50 prácticas.

Flujo de una sesión

flowchart LR

    A["Verificar entorno"] --> B["Fijar versiones"]
    B --> C["Levantar red local"]
    C --> D["Predecir y ejecutar"]
    D --> E["Recoger evidencia"]
    E --> F["Registrar y limpiar"]

Errores comunes de setup y solución

Síntoma Causa probable Solución
command not found: forge Foundry no instalado o fuera del PATH Instalar con foundryup; reabrir la terminal
pnpm no reconocido Falta pnpm o Corepack deshabilitado corepack enable o instalar pnpm globalmente
Anvil no responde en 127.0.0.1:8545 Otro proceso ocupa el puerto Cerrar el proceso o lanzar anvil --port 8546
Bitcoin Core no conecta en regtest Contenedor detenido o config incorrecta Revisar Docker y despliegue local
forge test falla al compilar Versión de Solidity o dependencias Alinear foundry.toml y correr forge install
Tests intermitentes de fuzzing Semilla o número de runs inestable Fijar --fuzz-runs y registrar la semilla