The SDK builds a binary named 'pezkuwi' not 'pezkuwi-node'. This was causing
validator services to fail with exit code 203/EXEC.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
**Problem**: cargo and npm commands were running as root when script
was executed with sudo, causing permission and PATH issues.
**Solution**:
- Detect actual user with $SUDO_USER in setup_sdk()
- Detect actual user with $SUDO_USER in setup_frontend()
- Run cargo build as actual user with proper PATH
- Run npm install/build as actual user
**Changes**:
- setup_sdk: Added ACTUAL_USER detection and su command for cargo
- setup_frontend: Added ACTUAL_USER detection and su for npm commands
- Both functions now source cargo env and run in user context
This ensures all builds happen with correct permissions and PATH
for the user who invoked sudo.
Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
**Problem**: When setup script runs with sudo, Rust was installed in
root's home directory (/root/.cargo), making it inaccessible to the
actual user running the script.
**Solution**:
- Detect actual user using $SUDO_USER environment variable
- Use 'su - $ACTUAL_USER -c' to run Rust installation commands
- Install Rust in the actual user's home directory (~/.cargo)
- Run all rustup commands (default, update, target add) as actual user
**Testing**: Designed for 'mesut' user running 'sudo ./setup.sh 8'
This ensures Rust is accessible to the user and can be used for
SDK compilation without permission issues.
Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Add --depth 1 flag to git clone commands
- Reduces download size significantly
- Fixes network timeout issues with large repositories
- Improves user experience for slow connections
- Show 'please wait' message during Rust installation
- Add --verbose flag to rustup installer
- Add progress messages for each installation step
- Check if .cargo/env exists before sourcing
- Improves user experience by showing what's happening
- Move missing_deps, RUST_MISSING, and NODE_MISSING to global scope
- Fixes bug where install_dependencies couldn't access missing_deps array
- Now setup script will automatically install missing dependencies
- Improves user experience for first-time validators
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Created Dockerfile with multi-stage build
- Added docker-compose.yml with validator service
- Integrated Prometheus and Grafana monitoring (optional)
- Health checks and automatic restarts
- Volume management for data persistence
- Comprehensive Docker README with troubleshooting
- Updated main README with Docker instructions
Docker setup features:
- One-command deployment
- Auto-restart on failure
- Built-in monitoring stack
- Production-ready configuration
- Easy backup and restore
- Created automated installer for Windows 10+
- Installs as Windows Service (auto-restart)
- Uses NSSM for service management
- Includes system requirements check
- Downloads and extracts binaries automatically
- Generates validator keys
- Updated README with Windows instructions
- Created automated installer script for Linux
- Handles system requirements check
- Downloads binaries and chain spec
- Generates validator keys automatically
- Creates systemd service for auto-restart
- Updated README with installation instructions
- Added GPL-3.0 license