Saltar al contenido principal

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

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

Ver Ubuntu Installation Guide

Instalación en macOS

Ver macOS Installation Guide

Instalación en Windows

Ver Windows Installation Guide

Instalación con Docker

Ver Docker Installation Guide

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:

PuertoProtocoloUso
30303TCPConexiones P2P
30303UDPDiscovery P2P
8545TCPHTTP API
30301UDPDiscovery 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

  1. 🔑 Genera tus claves
  2. Realiza tu primera transacción
  3. 🔐 Conviértete en validador
  4. 🛠️ 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