Files
aitbc/packages/github/install-windows.sh
oib ccedbace53 chore: remove configuration files and enhance blockchain explorer with advanced search, analytics, and export features
- Delete .aitbc.yaml.example CLI configuration template
- Delete .lycheeignore link checker exclusion rules
- Delete .nvmrc Node.js version specification
- Add advanced search panel with filters for address, amount range, transaction type, time range, and validator
- Add analytics dashboard with transaction volume, active addresses, and block time metrics
- Add Chart.js integration
2026-03-02 15:38:25 +01:00

136 lines
4.0 KiB
Bash
Executable File

#!/bin/bash
# AITBC CLI & Services Windows/WSL2 Installer
# For Windows 10/11 with WSL2
set -e
# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
echo -e "${BLUE}AITBC Windows/WSL2 Installer${NC}"
echo "============================="
# Check if running on Windows
if [[ "$OSTYPE" != "msys" ]] && [[ "$OSTYPE" != "cygwin" ]]; then
echo -e "${RED}❌ This installer is for Windows/WSL2 only${NC}"
echo "Please run this from Windows Command Prompt, PowerShell, or Git Bash"
exit 1
fi
# Check WSL
if command -v wsl >/dev/null 2>&1; then
echo -e "${GREEN}✓ WSL found${NC}"
else
echo -e "${RED}❌ WSL not found${NC}"
echo "Please install WSL2 first:"
echo "1. Open PowerShell as Administrator"
echo "2. Run: wsl --install"
echo "3. Restart Windows"
echo "4. Run: wsl --install -d Debian"
exit 1
fi
# Check if Debian is installed in WSL
if wsl --list --verbose | grep -q "Debian"; then
echo -e "${GREEN}✓ Debian found in WSL${NC}"
else
echo -e "${YELLOW}⚠ Debian not found in WSL, installing...${NC}"
wsl --install -d Debian
echo -e "${YELLOW}Please wait for Debian installation to complete, then run this script again.${NC}"
exit 0
fi
# Get current user and script path
CURRENT_USER=$(whoami)
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
WSL_SCRIPT_DIR="/mnt/c/Users/$CURRENT_USER/aitbc/packages/github"
# Copy packages to WSL
echo -e "${BLUE}Copying packages to WSL...${NC}"
wsl -d Debian -e "mkdir -p $WSL_SCRIPT_DIR"
# Copy all files to WSL
cp -r "$SCRIPT_DIR"/* "/mnt/c/Users/$CURRENT_USER/aitbc/packages/github/"
# Run installation in WSL
echo -e "${BLUE}Installing AITBC CLI in WSL...${NC}"
wsl -d Debian -e "
cd $WSL_SCRIPT_DIR
chmod +x install.sh
./install.sh --cli-only
"
# Create Windows shortcut
echo -e "${BLUE}Creating Windows shortcut...${NC}"
# Create batch file for easy access
cat > "$SCRIPT_DIR/aitbc-wsl.bat" << 'EOF'
@echo off
wsl -d Debian -e "cd /mnt/c/Users/%USERNAME%/aitbc/packages/github && source /usr/local/bin/activate && aitbc %*"
EOF
# Create PowerShell profile function
echo -e "${BLUE}Creating PowerShell function...${NC}"
POWERSHELL_PROFILE="$HOME/Documents/WindowsPowerShell/Microsoft.PowerShell_profile.ps1"
if [[ ! -f "$POWERSHELL_PROFILE" ]]; then
mkdir -p "$(dirname "$POWERSHELL_PROFILE")"
touch "$POWERSHELL_PROFILE"
fi
if ! grep -q "function aitbc" "$POWERSHELL_PROFILE"; then
cat >> "$POWERSHELL_PROFILE" << 'EOF'
# AITBC CLI function
function aitbc {
wsl -d Debian -e "cd /mnt/c/Users/$env:USERNAME/aitbc/packages/github && source /usr/local/bin/activate && aitbc $args"
}
EOF
echo -e "${GREEN}✓ PowerShell function added${NC}"
fi
# Test installation
echo -e "${BLUE}Testing installation...${NC}"
if wsl -d Debian -e "command -v aitbc" >/dev/null 2>&1; then
echo -e "${GREEN}✓ AITBC CLI installed in WSL${NC}"
if wsl -d Debian -e "aitbc --version" >/dev/null 2>&1; then
VERSION=$(wsl -d Debian -e "aitbc --version" 2>/dev/null | head -1)
echo -e "${GREEN}$VERSION${NC}"
else
echo -e "${YELLOW}⚠ CLI installed but version check failed${NC}"
fi
else
echo -e "${RED}❌ CLI installation failed${NC}"
exit 1
fi
echo ""
echo -e "${GREEN}🎉 AITBC CLI installation completed on Windows/WSL2!${NC}"
echo ""
echo "Usage options:"
echo ""
echo "1. PowerShell (recommended):"
echo " Open PowerShell and run: aitbc --help"
echo ""
echo "2. Command Prompt:"
echo " Run: $SCRIPT_DIR/aitbc-wsl.bat --help"
echo ""
echo "3. WSL directly:"
echo " wsl -d Debian -e 'aitbc --help'"
echo ""
echo "4. Git Bash:"
echo " wsl -d Debian -e 'cd /mnt/c/Users/$CURRENT_USER/aitbc/packages/github && source /usr/local/bin/activate && aitbc --help'"
echo ""
echo "Installation location in WSL: /usr/local/aitbc/"
echo "Packages location: $SCRIPT_DIR/"
echo ""
echo "Note: Services are available in WSL but require Linux configuration."
echo "Use 'wsl -d Debian' to access the Linux environment for service management."