Files
smom-dbis-138/scripts/deployment/update-env-vars.sh
2026-03-02 12:14:09 -08:00

59 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# Update Environment Variables
# Helper script to update specific environment variables in .env file
set -e
ENV_FILE=".env"
if [ ! -f "$ENV_FILE" ]; then
echo "Creating .env file from template..."
if [ -f .env.template ]; then
cp .env.template "$ENV_FILE"
else
touch "$ENV_FILE"
fi
fi
# Function to update or add variable
update_var() {
local var_name=$1
local var_value=$2
if grep -q "^${var_name}=" "$ENV_FILE"; then
# Update existing variable
if [[ "$OSTYPE" == "darwin"* ]]; then
sed -i '' "s|^${var_name}=.*|${var_name}=${var_value}|" "$ENV_FILE"
else
sed -i "s|^${var_name}=.*|${var_name}=${var_value}|" "$ENV_FILE"
fi
echo "Updated $var_name"
else
# Add new variable
echo "${var_name}=${var_value}" >> "$ENV_FILE"
echo "Added $var_name"
fi
}
# Update the provided variables (use placeholders; set real values in .env and never commit).
if [ ! -z "$1" ] && [ "$1" == "update" ]; then
update_var "ETHEREUM_MAINNET_RPC" "https://mainnet.infura.io/v3/<INFURA_PROJECT_ID>"
update_var "RPC_URL_138" "http://192.168.11.211:8545"
update_var "ETHERSCAN_API_KEY" "<YOUR_ETHERSCAN_API_KEY>"
update_var "INFURA_PROJECT_ID" "<YOUR_INFURA_PROJECT_ID>"
update_var "INFURA_PROJECT_SECRET" "<YOUR_INFURA_PROJECT_SECRET>"
echo ""
echo "✓ Environment variables updated with placeholders"
echo " Set real values in .env (INFURA_PROJECT_ID, INFURA_PROJECT_SECRET, ETHERSCAN_API_KEY); never commit secrets."
echo ""
echo "Run: ./scripts/deployment/check-env-requirements.sh to verify"
else
echo "Usage: $0 update"
echo ""
echo "This will set placeholders for:"
echo " - ETHEREUM_MAINNET_RPC (Infura), RPC_URL_138, ETHERSCAN_API_KEY"
echo " - INFURA_PROJECT_ID, INFURA_PROJECT_SECRET (for Infura RPC + Basic Auth)"
fi