76 lines
2.4 KiB
Bash
76 lines
2.4 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"
|