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.
This commit is contained in:
Executable
+85
@@ -0,0 +1,85 @@
|
||||
#!/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!"
|
||||
Reference in New Issue
Block a user