74 lines
2.0 KiB
Bash
Executable File
74 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
CYAN='\033[0;36m'
|
|
NOCOLOR='\033[0m'
|
|
|
|
log() {
|
|
echo -e "${CYAN}[DEV SETUP]${NOCOLOR} $1"
|
|
}
|
|
|
|
# Base directory - the project root
|
|
BASE_DIR=$(dirname "$(dirname "$(readlink -f "$0")")")
|
|
KEY_DIR="$BASE_DIR/keys"
|
|
KEY_NAME="debros_key"
|
|
|
|
# Create .env file if it doesn't exist
|
|
if [ ! -f "$BASE_DIR/.env" ]; then
|
|
log "Generating .env file for development..."
|
|
|
|
# Create keys directory
|
|
mkdir -p "$KEY_DIR"
|
|
chmod 700 "$KEY_DIR"
|
|
|
|
# Generate keypair if it doesn't exist
|
|
if [ ! -f "$KEY_DIR/$KEY_NAME" ]; then
|
|
log "Creating new key pair..."
|
|
ssh-keygen -t ed25519 -f "$KEY_DIR/$KEY_NAME" -N "" -q
|
|
log "${GREEN}Keys created in $KEY_DIR${NOCOLOR}"
|
|
fi
|
|
|
|
# Calculate fingerprint
|
|
FINGERPRINT=$(ssh-keygen -l -f "$KEY_DIR/$KEY_NAME.pub" 2>/dev/null | awk '{print $2}' | sed 's/SHA256://' | base64 -d 2>/dev/null | xxd -p -u | tr -d '\n' | head -c 40)
|
|
|
|
# Default dev values
|
|
NICKNAME="dev_node"
|
|
ADMIN_WALLET="devWallet123456789"
|
|
|
|
# Create the .env file with development settings
|
|
cat > "$BASE_DIR/.env" << EOF
|
|
NICKNAME=$NICKNAME
|
|
FINGERPRINT=$FINGERPRINT
|
|
NODE_ENV=development
|
|
PORT=7777
|
|
ENABLE_ANYONE=true
|
|
HOSTNAME=localhost
|
|
ADMIN_WALLET=$ADMIN_WALLET
|
|
ENABLE_LOAD_BALANCING=true
|
|
SERVICE_DISCOVERY_TOPIC=debros-service-discovery
|
|
HEARTBEAT_INTERVAL=5000
|
|
STALE_PEER_TIMEOUT=30000
|
|
PEER_LOG_INTERVAL=60000
|
|
NODE_PUBLIC_ADDRESS=localhost
|
|
BOOTSTRAP_NODES=/ip4/188.166.113.190/tcp/7778/p2p/12D3KooWNWgs4WAUmE4CsxrL6uuyv1yuTzcRReMe5r7Psemsg2Z9,/ip4/82.208.21.140/tcp/7778/p2p/12D3KooWPUdpNX5N6dsuFAvgwfBMXUoFK2QS5sh8NpjxbfGpkSCi
|
|
MAX_CONNECTIONS=1000
|
|
LOAD_BALANCING_STRATEGY=least-loaded
|
|
ACCEPT_TERMS=true
|
|
KEY_PATH=./keys
|
|
LIBP2P_DEBUG=true
|
|
IPFS_DEBUG=true
|
|
LOG_LEVEL=debug
|
|
DEBUG=libp2p:*
|
|
EOF
|
|
|
|
log "${GREEN}Development .env file created successfully${NOCOLOR}"
|
|
log "Keys location: $KEY_DIR"
|
|
else
|
|
log "${GREEN}Development .env file already exists${NOCOLOR}"
|
|
fi
|
|
|
|
# Make the script executable
|
|
chmod +x "$0"
|
|
|
|
log "${GREEN}Development environment setup complete${NOCOLOR}" |