Guía de Instalación
En el viaje hacia la adopción de KodeChain, el primer paso es preparar tu entorno para que el poder de la blockchain post-cuántica tome forma en tu máquina. Esta guía te acompaña a través del proceso de instalación, revelando cómo cada componente técnico se integra para crear una experiencia de desarrollo fluida y segura.
Tabla de Contenidos
- Requisitos del Sistema
- Instalación en Ubuntu
- Instalación en macOS
- Instalación en Windows
- Instalación con Docker
- Verificación de Instalación
- Configuración Inicial
Requisitos del Sistema
Hardware Mínimo - El Punto de Entrada
- CPU: 2 cores - Suficiente para ejecutar el consenso DPoS básico y mantener sincronización con la red
- RAM: 4 GB - Memoria para cargar el estado de la blockchain y ejecutar contratos inteligentes
- Almacenamiento: 50 GB SSD - Espacio para la base de datos LevelDB que crece con cada bloque
- Red: 1 Mbps - Conectividad mínima para participar en el protocolo P2P
Hardware Recomendado - Para una Experiencia Completa
- CPU: 4+ cores - Potencia para ejecutar validación PBFT y procesamiento paralelo de transacciones
- RAM: 8 GB - Memoria adicional para caching avanzado y ejecución de contratos complejos
- Almacenamiento: 100 GB NVMe SSD - Alto rendimiento para operaciones intensivas de I/O
- Red: 10 Mbps estable - Conectividad robusta para mantener conexiones P2P consistentes
Software - Las Herramientas del Desarrollador
- Go: 1.24.0 o superior - El lenguaje que impulsa toda la lógica de KodeChain, desde el consenso hasta la VM
- Git: Cualquier versión reciente - Para acceder al código fuente y contribuir al proyecto
- Make (opcional): Para automatizar tareas de compilación y testing definidas en los Makefiles
Instalación en Ubuntu
Instalación en macOS
Instalación en Windows
Ver Windows Installation Guide
Instalación con Docker
Verificación de Instalación
1. Verificar Versión de Go - El Fundamento Técnico
go version
# Debe mostrar: go version go1.24.0 o superior
Esta verificación asegura que tienes la versión correcta de Go que incluye las optimizaciones necesarias para el rendimiento de KodeChain.
2. Verificar Compilación - La Prueba del Éxito
./kodechain --version
Si este comando retorna información de versión, significa que el binario se compiló correctamente y está listo para ejecutar toda la lógica blockchain implementada en main.go.
3. Verificar Dependencias - Integridad del Ecosistema
go mod verify
Este comando valida que todas las dependencias criptográficas y de red descargadas son auténticas y no han sido modificadas, crucial para la seguridad post-cuántica.
4. Ejecutar Tests - La Validación de Calidad
go test ./...
Los tests ejecutan la suite completa que valida desde operaciones básicas de la VM hasta algoritmos de consenso, asegurando que cada componente funciona según lo diseñado.
Configuración Inicial
1. Crear Directorio de Datos - Preparando el Territorio
mkdir -p ~/.kodechain/data
mkdir -p ~/.kodechain/keystore
mkdir -p ~/.kodechain/logs
Estos directorios se convierten en el hogar digital de tu nodo: el lugar donde se almacenarán los bloques en LevelDB, las claves post-cuánticas en formato seguro, y los registros de actividad del sistema.
2. Crear Archivo de Configuración - El Corazón de tu Nodo
Crea ~/.kodechain/config.json, el documento que define cómo tu nodo interactuará con la red KodeChain:
{
"node_id": "my-kodechain-node",
"consensus_type": "dpos",
"network": {
"p2p_port": 30303,
"http_port": 8545,
"discovery_port": 30301,
"max_peers": 50
},
"bootstrap_nodes": [
"enode://[id]@seed1.kodechain.io:30303",
"enode://[id]@seed2.kodechain.io:30303"
],
"data_dir": "/home/user/.kodechain/data",
"keystore_dir": "/home/user/.kodechain/keystore",
"log_level": "info",
"enable_upnp": true,
"enable_hole_punching": true
}
Cada configuración tiene un propósito específico: desde el tipo de consenso que determinará si usarás DPoS o PBFT, hasta los nodos bootstrap que te conectarán inicialmente con la red existente.
3. Configurar Variables de Entorno
Añade a tu ~/.bashrc o ~/.zshrc:
# KodeChain Configuration
export KODECHAIN_HOME="$HOME/.kodechain"
export KODECHAIN_DATA_DIR="$KODECHAIN_HOME/data"
export KODECHAIN_KEYSTORE="$KODECHAIN_HOME/keystore"
export PATH="$PATH:$HOME/kodechain-node-validator"
Recarga la configuración:
source ~/.bashrc # o ~/.zshrc
4. Configurar Firewall
Ubuntu/Debian
sudo ufw allow 30303/tcp
sudo ufw allow 30303/udp
sudo ufw allow 8545/tcp
sudo ufw allow 30301/udp
sudo ufw enable
macOS
# Añadir reglas al firewall de macOS
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /path/to/kodechain
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /path/to/kodechain
Windows
# Abrir PowerShell como Administrador
New-NetFirewallRule -DisplayName "KodeChain P2P TCP" -Direction Inbound -LocalPort 30303 -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "KodeChain P2P UDP" -Direction Inbound -LocalPort 30303 -Protocol UDP -Action Allow
New-NetFirewallRule -DisplayName "KodeChain HTTP" -Direction Inbound -LocalPort 8545 -Protocol TCP -Action Allow
5. Configurar Límites del Sistema
Para nodos de producción, aumenta los límites del sistema:
Linux:
# Editar /etc/security/limits.conf
sudo nano /etc/security/limits.conf
# Añadir:
* soft nofile 65536
* hard nofile 65536
* soft nproc 32768
* hard nproc 32768
macOS:
# Editar /etc/sysctl.conf
sudo nano /etc/sysctl.conf
# Añadir:
kern.maxfiles=65536
kern.maxfilesperproc=65536
Configuración de Red Avanzada
Port Forwarding Manual
Si UPnP no funciona, configura port forwarding en tu router:
| Puerto | Protocolo | Uso |
|---|---|---|
| 30303 | TCP | Conexiones P2P |
| 30303 | UDP | Discovery P2P |
| 8545 | TCP | HTTP API |
| 30301 | UDP | Discovery alternativo |
Configuración de DNS
Para mejor conectividad, configura DNS públicos:
# Google DNS
nameserver 8.8.8.8
nameserver 8.8.4.4
# Cloudflare DNS
nameserver 1.1.1.1
nameserver 1.0.0.1
Optimización de Performance
Configuración de Go
export GOGC=50 # Más frecuente garbage collection
export GOMAXPROCS=4 # Número de cores a usar
Configuración de LevelDB
Crea leveldb.conf:
{
"cache_size": 1024,
"write_buffer_size": 64,
"max_open_files": 1000,
"compression": "snappy"
}
Próximos Pasos
- 🔑 Genera tus claves
- ⚡ Realiza tu primera transacción
- 🔐 Conviértete en validador
- 🛠️ Configura monitoreo
Solución de Problemas
Error: "command not found: kodechain"
Asegúrate de que el binario esté en tu PATH:
export PATH="$PATH:/ruta/a/kodechain-node-validator"
Error: "permission denied"
Dale permisos de ejecución:
chmod +x kodechain
Error de compilación
Limpia cache y recompila:
go clean -cache
go mod tidy
go build -o kodechain main.go
Puerto ya en uso
Cambia los puertos en config.json o termina el proceso:
# Encontrar proceso
sudo lsof -i :8545
# Terminar proceso
kill -9 [PID]
Soporte
Instalación completada exitosamente ✅