Instalación en macOS
Guía paso a paso para instalar KodeChain en macOS 11 (Big Sur) o superior.
Requisitos Previos
- macOS 11.0 (Big Sur) o superior
- Xcode Command Line Tools
- Homebrew (recomendado)
1. Instalar Xcode Command Line Tools
xcode-select --install
2. Instalar Homebrew (si no lo tienes)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
3. Instalar Dependencias
Instalar Go 1.24
brew install go@1.24
O descarga manualmente:
# Descargar
curl -OL https://go.dev/dl/go1.24.0.darwin-amd64.pkg
# Instalar el paquete
sudo installer -pkg go1.24.0.darwin-amd64.pkg -target /
Configurar variables de entorno:
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.zshrc
echo 'export GOPATH=$HOME/go' >> ~/.zshrc
echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.zshrc
source ~/.zshrc
Verificar:
go version
Instalar Git y Make
brew install git make
4. Clonar el Repositorio
cd ~
git clone https://github.com/kodechain/kodechain-node-validator.git
cd kodechain-node-validator
5. Instalar Dependencias de Go
go mod download
go mod verify
6. Compilar KodeChain
go build -o kodechain main.go
O usando Make:
make build
7. Crear Estructura de Directorios
mkdir -p ~/.kodechain/{data,keystore,logs}
8. Configurar el Nodo
Crea el archivo de configuración:
nano ~/.kodechain/config.json
O usa tu editor favorito:
code ~/.kodechain/config.json # VS Code
Contenido:
{
"node_id": "macos-node-1",
"consensus_type": "dpos",
"network": {
"p2p_port": 30303,
"http_port": 8545,
"discovery_port": 30301
},
"bootstrap_nodes": [
"enode://[id]@seed1.kodechain.io:30303",
"enode://[id]@seed2.kodechain.io:30303"
],
"data_dir": "/Users/$USER/.kodechain/data",
"keystore_dir": "/Users/$USER/.kodechain/keystore",
"log_level": "info"
}
9. Configurar Firewall de macOS
Opción 1: GUI
- Abrir System Preferences > Security & Privacy > Firewall
- Click en el candado y autenticar
- Click Firewall Options
- Click + y añade la aplicación
kodechain - Selecciona Allow incoming connections
Opción 2: Terminal
# Habilitar firewall
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
# Añadir KodeChain
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /path/to/kodechain
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /path/to/kodechain
10. Crear Launch Agent (Opcional)
Para que el nodo se inicie automáticamente:
nano ~/Library/LaunchAgents/com.kodechain.node.plist
Contenido:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.kodechain.node</string>
<key>ProgramArguments</key>
<array>
<string>/Users/YOUR_USERNAME/kodechain-node-validator/kodechain</string>
<string>--config</string>
<string>/Users/YOUR_USERNAME/.kodechain/config.json</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/Users/YOUR_USERNAME/.kodechain/logs/kodechain.log</string>
<key>StandardErrorPath</key>
<string>/Users/YOUR_USERNAME/.kodechain/logs/kodechain-error.log</string>
<key>WorkingDirectory</key>
<string>/Users/YOUR_USERNAME/kodechain-node-validator</string>
</dict>
</plist>
Cargar el Launch Agent:
launchctl load ~/Library/LaunchAgents/com.kodechain.node.plist
Comandos útiles:
# Iniciar
launchctl start com.kodechain.node
# Detener
launchctl stop com.kodechain.node
# Descargar
launchctl unload ~/Library/LaunchAgents/com.kodechain.node.plist
11. Verificar Instalación
# Verificar que el nodo está corriendo
curl http://localhost:8545/api/blockchain/status
# Verificar peers
curl http://localhost:8545/api/network/peers
# Ver logs
tail -f ~/.kodechain/logs/kodechain.log
12. Optimización para macOS
Aumentar Límites de Archivos Abiertos
# Ver límites actuales
ulimit -n
# Aumentar temporalmente
ulimit -n 65536
Para hacerlo permanente:
sudo nano /Library/LaunchDaemons/limit.maxfiles.plist
Contenido:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>limit.maxfiles</string>
<key>ProgramArguments</key>
<array>
<string>launchctl</string>
<string>limit</string>
<string>maxfiles</string>
<string>65536</string>
<string>200000</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceIPC</key>
<false/>
</dict>
</plist>
Cargar:
sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
Configurar Energía
Para prevenir sleep durante sincronización:
# Prevenir sleep mientras está conectado
sudo pmset -c sleep 0
sudo pmset -c displaysleep 10
sudo pmset -c disksleep 0
# Habilitar Power Nap
sudo pmset -a powernap 1
13. Herramientas de Monitoreo
Instalar htop
brew install htop
Instalar watch
brew install watch
Monitorear status:
watch -n 5 'curl -s http://localhost:8545/api/blockchain/status | jq'
Activity Monitor
Usa la app nativa Activity Monitor para ver:
- Uso de CPU
- Uso de memoria
- Uso de red
- Uso de disco
14. Backup Automático
Crea un script de backup:
nano ~/backup-kodechain.sh
Contenido:
#!/bin/bash
BACKUP_DIR="$HOME/Backups/kodechain"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
# Backup de keystore
tar -czf $BACKUP_DIR/keystore_$DATE.tar.gz ~/.kodechain/keystore/
# Backup de configuración
cp ~/.kodechain/config.json $BACKUP_DIR/config_$DATE.json
# Limpiar backups antiguos (mantener últimos 7 días)
find $BACKUP_DIR -type f -mtime +7 -delete
echo "Backup completado: $DATE"
Dale permisos:
chmod +x ~/backup-kodechain.sh
Programa con cron:
crontab -e
Añadir (backup diario a las 2 AM):
0 2 * * * /Users/YOUR_USERNAME/backup-kodechain.sh
Solución de Problemas
Error: "xcrun: error: invalid active developer path"
xcode-select --install
Error: "brew command not found"
Instala Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Error: "port already in use"
# Encontrar proceso
lsof -i :8545
lsof -i :30303
# Terminar proceso
kill -9 [PID]
Problemas de permisos
# Dar permisos de ejecución
chmod +x kodechain
# Cambiar owner
chown -R $USER:staff ~/.kodechain
Error de certificado bloqueado por macOS
Si macOS bloquea la ejecución:
- System Preferences > Security & Privacy
- En la pestaña General, click Open Anyway
O desde terminal:
xattr -d com.apple.quarantine kodechain
Notas Específicas de Apple Silicon (M1/M2/M3)
Si tienes un Mac con chip Apple Silicon:
Instalar Go para ARM64
brew install go
O descarga la versión ARM64:
curl -OL https://go.dev/dl/go1.24.0.darwin-arm64.pkg
sudo installer -pkg go1.24.0.darwin-arm64.pkg -target /
Compilar para ARM64
GOARCH=arm64 go build -o kodechain main.go
Próximos Pasos
- 🔑 Genera tus claves de validador
- 💰 Haz stake de 10 KDC
- 🔐 Activa tu validador
- 📊 Configura monitoreo avanzado
Instalación en macOS completada ✅