Files
hobokenchicken e8d9b1fd42 feat: add CoopCredits Solana media rewards ecosystem
Add complete  token system with Plex/Tautulli/Overseer integration:
- Anchor program for SPL token mint/burn/transfer
- Express backend with OAuth, webhooks, Solana integration
- Next.js frontend with dashboard, admin panel, wallet management
- Docker deployment for 172.20.1.0/24 infrastructure
- Production configs with SSL, Nginx, health monitoring

Tautulli webhooks auto-mint  on watch events.
Overseer integration burns  for content requests.
2026-04-14 11:09:50 -04:00

86 lines
2.3 KiB
Bash
Executable File

#!/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!"