Files
scripts/MINE/rin/test_reward_redistribution.sh
2025-09-30 00:07:07 +03:00

76 lines
2.5 KiB
Bash

# #!/bin/bash
# # Test Reward Redistribution Logic
# echo "=== Testing Reward Redistribution Logic ==="
# echo ""
# # Kill any existing processes
# ./MINE/rin/kill_stratum_proxy.sh
# echo "🧪 Testing reward distribution scenarios:"
# echo ""
# echo "Scenario 1: All miners have valid addresses"
# echo "Expected: Normal distribution"
# echo ""
# echo "Scenario 2: Some miners without addresses"
# echo "Expected: Redistribution of their rewards to miners with addresses"
# echo ""
# echo "Scenario 3: All miners without addresses"
# echo "Expected: All rewards go to pool"
# echo ""
# echo "🚀 Starting mining pool..."
# ./MINE/rin/start_mining_pool.sh &
# POOL_PID=$!
# echo ""
# echo "⏳ Waiting for pool to start..."
# sleep 5
# echo ""
# echo "🧪 Test 1: Miner with valid address"
# echo "Expected: Gets full share of rewards"
# timeout 5s ./cpuminer -a rinhash -o stratum+tcp://127.0.0.1:3333 -u rin1qahvvv9d5f3443wtckeqavwp9950wacxfmwv20q.worker1 -p x -t 1
# echo ""
# echo "🧪 Test 2: Miner without address"
# echo "Expected: Contributes to difficulty but gets no direct rewards"
# timeout 5s ./cpuminer -a rinhash -o stratum+tcp://127.0.0.1:3333 -u user.worker2 -p x -t 1
# echo ""
# echo "🧪 Test 3: Another miner with valid address"
# echo "Expected: Gets base reward + redistribution from miner without address"
# timeout 5s ./cpuminer -a rinhash -o stratum+tcp://127.0.0.1:3333 -u rin1qahvvv9d5f3443wtckeqavwp9950wacxfmwv20q.worker3 -p x -t 1
# echo ""
# echo "📊 Pool Log Analysis:"
# echo "Look for these patterns in the logs above:"
# echo "1. '💰 Miner rin1q...: X.XX RIN (difficulty)' - Base rewards"
# echo "2. '⚠️ Miner without address: X difficulty -> X.XX RIN to pool' - Undistributed"
# echo "3. '💰 Pool keeps X.XX RIN from miners without addresses' - Pool keeps rewards"
# echo "4. '📊 Summary: X miners with addresses, Y without (rewards to pool)' - Final summary"
# echo ""
# echo "🧹 Cleaning up..."
# kill $POOL_PID 2>/dev/null
# ./MINE/rin/kill_stratum_proxy.sh
# echo ""
# echo "📋 Reward Distribution Logic Summary:"
# echo ""
# echo "✅ Miners with valid RinCoin addresses:"
# echo " - Get reward based on their difficulty"
# echo " - Rewards sent directly to their addresses"
# echo ""
# echo "⚠️ Miners without addresses:"
# echo " - Contribute to total difficulty"
# echo " - Their reward share goes to pool address"
# echo " - No direct rewards received"
# echo ""
# echo "💰 Pool fee: Always 1% of total block reward"
# echo "💰 Pool bonus: Additional rewards from miners without addresses"