#!/bin/bash # Solana Setup Script for CoopCredits # This script sets up the Solana environment for the CoopCredits token set -e echo "🪙 CoopCredits Solana Setup" echo "===========================" echo "" # Check for Solana CLI if ! command -v solana &> /dev/null; then echo "Installing Solana CLI..." sh -c "$(curl -sSfL https://release.solana.com/v1.17.0/install)" export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH" fi echo "✅ Solana CLI version: $(solana --version)" # Set network to devnet echo "" echo "Setting network to devnet..." solana config set --url devnet # Create or load keypair KEYPAIR_PATH="$HOME/.config/solana/coop-credits-authority.json" if [ -f "$KEYPAIR_PATH" ]; then echo "✅ Using existing keypair: $KEYPAIR_PATH" else echo "Creating new keypair..." solana-keygen new --outfile "$KEYPAIR_PATH" --no-bip39-passphrase echo "✅ Keypair created: $KEYPAIR_PATH" fi # Get public key AUTHORITY_PUBKEY=$(solana-keygen pubkey "$KEYPAIR_PATH") echo "" echo "Authority Public Key: $AUTHORITY_PUBKEY" # Request airdrop echo "" echo "Requesting airdrop..." solana airdrop 2 "$AUTHORITY_PUBKEY" || echo "⚠️ Airdrop failed (may have rate limit)" # Check balance BALANCE=$(solana balance "$AUTHORITY_PUBKEY") echo "Authority Balance: $BALANCE SOL" # Export private key for backend echo "" echo "Exporting private key for backend..." PRIVATE_KEY=$(cat "$KEYPAIR_PATH" | jq -r '.[]' | xxd -p -c 999999 | head -c 128) BASE58_KEY=$(solana-keygen recover --force --outfile /dev/stdout "$KEYPAIR_PATH" 2>/dev/null | head -1) echo "" echo "================================================" echo "IMPORTANT: Add these to your backend .env file:" echo "================================================" echo "" echo "SOLANA_MINT_AUTHORITY_KEYPAIR=$BASE58_KEY" echo "" echo "================================================" echo "" # Build Anchor program echo "Building Anchor program..." cd ../anchor-program if command -v anchor &> /dev/null; then anchor build echo "✅ Program built successfully" echo "" echo "To deploy the program, run:" echo " cd anchor-program" echo " anchor deploy" else echo "⚠️ Anchor not installed. Install with:" echo " npm install -g @coral-xyz/anchor-cli" fi echo "" echo "✅ Setup complete!"