Saltar al contenido principal

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

  1. Abrir System Preferences > Security & Privacy > Firewall
  2. Click en el candado y autenticar
  3. Click Firewall Options
  4. Click + y añade la aplicación kodechain
  5. 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:

  1. System Preferences > Security & Privacy
  2. 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

  1. 🔑 Genera tus claves de validador
  2. 💰 Haz stake de 10 KDC
  3. 🔐 Activa tu validador
  4. 📊 Configura monitoreo avanzado

Instalación en macOS completada