Files
explorer-monorepo/docs/ENV_LINES_3_4_REFERENCE.md

4.3 KiB

.env File Lines 3-4 Reference

Date: 2025-12-24
Purpose: Reference for what should be on lines 3-4 of the .env file


Typical .env File Structure

Based on the project structure, a typical .env file should look like:

# Chain 138 RPC Configuration
RPC_URL_138=http://192.168.11.250:8545
RPC_URL=http://192.168.11.250:8545
PRIVATE_KEY=<your_private_key_here>

Lines 3-4 would typically be:

  • Line 3: RPC_URL=http://192.168.11.250:8545
  • Line 4: PRIVATE_KEY=<your_private_key_here>

Expected Content for Lines 3-4

Line 3: RPC_URL

RPC_URL=http://192.168.11.250:8545

Purpose: Sets the RPC endpoint for ChainID 138
Format: RPC_URL=<http_or_https_url>
Default: http://192.168.11.250:8545

Line 4: PRIVATE_KEY

PRIVATE_KEY=<your_64_character_hex_private_key>

Purpose: Deployer private key for contract deployments
Format:

  • Without 0x prefix: 1234567890abcdef... (64 hex characters)
  • With 0x prefix: 0x1234567890abcdef... (66 characters total)

Example:

PRIVATE_KEY=1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef

Verification Commands

Check Line 3 (RPC_URL)

cd /home/intlc/projects/proxmox/smom-dbis-138
sed -n '3p' .env
# Should output: RPC_URL=http://192.168.11.250:8545

Check Line 4 (PRIVATE_KEY)

cd /home/intlc/projects/proxmox/smom-dbis-138
sed -n '4p' .env | sed 's/PRIVATE_KEY=\(.\{10\}\).*/PRIVATE_KEY=\1...***HIDDEN***/'
# Should show: PRIVATE_KEY=<first_10_chars>...***HIDDEN***

Verify Both Lines

cd /home/intlc/projects/proxmox/smom-dbis-138
echo "Line 3:"
sed -n '3p' .env
echo ""
echo "Line 4 (hidden):"
sed -n '4p' .env | sed 's/\(.\{15\}\).*/\1...***HIDDEN***/'

Common Issues

Issue 1: PRIVATE_KEY Missing or Empty

Symptom: Deployment fails with "PRIVATE_KEY not found"

Fix:

# Check if line 4 has PRIVATE_KEY
sed -n '4p' .env | grep -q "^PRIVATE_KEY=" && echo "✅ Set" || echo "❌ Missing"

# If missing, add it:
echo "PRIVATE_KEY=<your_key>" >> .env

Issue 2: Invalid PRIVATE_KEY Format

Symptom: "Invalid PRIVATE_KEY format" error

Fix:

# Verify format (should be 64 hex chars, with or without 0x)
PRIVATE_KEY=$(sed -n '4p' .env | cut -d'=' -f2)
if [[ "$PRIVATE_KEY" =~ ^0x[0-9a-fA-F]{64}$ ]] || [[ "$PRIVATE_KEY" =~ ^[0-9a-fA-F]{64}$ ]]; then
    echo "✅ Valid format"
else
    echo "❌ Invalid format - should be 64 hex characters"
fi

Issue 3: RPC_URL Incorrect

Symptom: Cannot connect to RPC

Fix:

# Check line 3
RPC_URL=$(sed -n '3p' .env | cut -d'=' -f2)
echo "RPC_URL: $RPC_URL"

# Test connection
cast block-number --rpc-url "$RPC_URL" || echo "❌ Cannot connect"

Quick Check Script

#!/bin/bash
cd /home/intlc/projects/proxmox/smom-dbis-138

echo "Checking .env lines 3-4..."
echo ""

# Line 3: RPC_URL
echo "Line 3 (RPC_URL):"
LINE3=$(sed -n '3p' .env)
if [[ "$LINE3" =~ ^RPC_URL= ]]; then
    echo "✅ $LINE3"
else
    echo "❌ Expected: RPC_URL=http://192.168.11.250:8545"
    echo "   Found: $LINE3"
fi
echo ""

# Line 4: PRIVATE_KEY
echo "Line 4 (PRIVATE_KEY):"
LINE4=$(sed -n '4p' .env)
if [[ "$LINE4" =~ ^PRIVATE_KEY= ]]; then
    KEY_VALUE=$(echo "$LINE4" | cut -d'=' -f2-)
    if [ -z "${KEY_VALUE// }" ]; then
        echo "❌ PRIVATE_KEY is set but empty"
    else
        KEY_PREFIX=$(echo "$KEY_VALUE" | cut -c1-10)
        KEY_LENGTH=${#KEY_VALUE}
        echo "✅ PRIVATE_KEY is set (prefix: ${KEY_PREFIX}..., length: $KEY_LENGTH)"
        
        # Validate format
        if [[ "$KEY_VALUE" =~ ^0x[0-9a-fA-F]{64}$ ]] || [[ "$KEY_VALUE" =~ ^[0-9a-fA-F]{64}$ ]]; then
            echo "   ✅ Format is valid"
        else
            echo "   ⚠️  Format may be invalid (expected 64 hex chars)"
        fi
    fi
else
    echo "❌ PRIVATE_KEY not found on line 4"
    echo "   Found: $LINE4"
fi

Update Lines 3-4

If you need to update these lines:

cd /home/intlc/projects/proxmox/smom-dbis-138

# Update line 3 (RPC_URL)
sed -i '3s|.*|RPC_URL=http://192.168.11.250:8545|' .env

# Update line 4 (PRIVATE_KEY) - REPLACE <your_key> with actual key
sed -i '4s|.*|PRIVATE_KEY=<your_private_key>|' .env

# Verify changes
echo "Updated lines 3-4:"
sed -n '3,4p' .env

Last Updated: 2025-12-24