docs: add comprehensive gift delivery completion section
All checks were successful
Documentation Validation / validate-docs (push) Successful in 10s
All checks were successful
Documentation Validation / validate-docs (push) Successful in 10s
- Add Step 10: Gift Delivery Completion with 3-phase approach - Include complete sync verification and transaction monitoring - Add transaction resubmission with correct nonce handling - Include final verification with success criteria - Add comprehensive troubleshooting for gift delivery - Provide automated gift delivery monitoring and verification This section ensures the 1000 AIT gift is successfully delivered to the aitbc wallet with proper verification and fallback mechanisms.
This commit is contained in:
@@ -383,7 +383,140 @@ echo "=== Final balance verification ==="
|
||||
ssh aitbc "curl -s \"http://localhost:8006/rpc/getBalance/$WALLET_ADDR\" | jq ."
|
||||
```
|
||||
|
||||
### 9. Transaction Verification and Mining
|
||||
### 10. Gift Delivery Completion
|
||||
|
||||
```bash
|
||||
# Ensure the 1000 AIT gift is successfully delivered to aitbc wallet
|
||||
echo "=== Gift Delivery Completion ==="
|
||||
WALLET_ADDR="ait1vt7nz556q9nsgqutz7av9g36423rs8xg6cxyvwhd9km6lcvxzrysc9cw87"
|
||||
TX_HASH="0x125a1150045acb9f8c74f30dbc8b9db98d48f3cced650949e31916fcb618b61e"
|
||||
|
||||
echo "Target wallet: $WALLET_ADDR"
|
||||
echo "Transaction hash: $TX_HASH"
|
||||
|
||||
# Check current status
|
||||
echo "Current wallet balance:"
|
||||
ssh aitbc "curl -s 'http://localhost:8006/rpc/getBalance/$WALLET_ADDR' | jq ."
|
||||
|
||||
echo "Network transaction count:"
|
||||
curl -s http://localhost:8006/rpc/info | jq .total_transactions
|
||||
|
||||
# Step 1: Complete aitbc sync
|
||||
echo "=== Step 1: Complete aitbc sync ==="
|
||||
AITBC1_HEIGHT=$(curl -s http://localhost:8006/rpc/head | jq .height)
|
||||
AITBC_HEIGHT=$(ssh aitbc 'curl -s http://localhost:8006/rpc/head | jq .height')
|
||||
|
||||
echo "aitbc1 height: $AITBC1_HEIGHT"
|
||||
echo "aitbc height: $AITBC_HEIGHT"
|
||||
|
||||
if [ "$AITBC_HEIGHT" -lt "$((AITBC1_HEIGHT - 2))" ]; then
|
||||
echo "Completing sync to current height..."
|
||||
ssh aitbc "for height in \$((AITBC_HEIGHT + 1)) $AITBC1_HEIGHT; do
|
||||
curl -s 'http://10.1.223.40:8006/rpc/blocks-range?start=\$height&end=\$height' | \
|
||||
jq '.blocks[0]' > /tmp/block\$height.json
|
||||
curl -X POST http://localhost:8006/rpc/importBlock \
|
||||
-H 'Content-Type: application/json' -d @/tmp/block\$height.json > /dev/null
|
||||
if [ \$((\$height % 10)) -eq 0 ]; then echo 'Synced to height \$height'; fi
|
||||
done"
|
||||
echo "Sync completed!"
|
||||
fi
|
||||
|
||||
# Step 2: Check if transaction was mined
|
||||
echo "=== Step 2: Check transaction mining status ==="
|
||||
for i in {1..20}; do
|
||||
echo "Check $i/20: Monitoring for transaction inclusion..."
|
||||
|
||||
# Check wallet balance
|
||||
CURRENT_BALANCE=$(ssh aitbc "curl -s 'http://localhost:8006/rpc/getBalance/$WALLET_ADDR' | jq .balance")
|
||||
echo "Current balance: $CURRENT_BALANCE AIT"
|
||||
|
||||
# Check recent blocks for transactions
|
||||
RECENT_HEIGHT=$(curl -s http://localhost:8006/rpc/head | jq .height)
|
||||
START_HEIGHT=$((RECENT_HEIGHT - 3))
|
||||
|
||||
for height in $(seq $START_HEIGHT $RECENT_HEIGHT); do
|
||||
BLOCK_TXS=$(curl -s "http://localhost:8006/rpc/blocks-range?start=$height&end=$height" | jq '.blocks[0].transactions | length')
|
||||
if [ "$BLOCK_TXS" -gt "0" ]; then
|
||||
echo "Found block $height with $BLOCK_TXS transactions!"
|
||||
echo "Checking if our transaction is included..."
|
||||
# Get block details for verification
|
||||
BLOCK_DETAIL=$(curl -s "http://localhost:8006/rpc/blocks-range?start=$height&end=$height")
|
||||
echo "$BLOCK_DETAIL" | jq '.blocks[0] | {height: .height, hash: .hash, tx_count: .tx_count}'
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$CURRENT_BALANCE" -gt "0" ]; then
|
||||
echo "🎉 SUCCESS: Gift delivered! Balance: $CURRENT_BALANCE AIT"
|
||||
break
|
||||
fi
|
||||
|
||||
sleep 3
|
||||
done
|
||||
|
||||
# Step 3: If still pending, resubmit transaction
|
||||
echo "=== Step 3: Resubmit transaction if needed ==="
|
||||
FINAL_BALANCE=$(ssh aitbc "curl -s 'http://localhost:8006/rpc/getBalance/$WALLET_ADDR' | jq .balance")
|
||||
|
||||
if [ "$FINAL_BALANCE" -eq "0" ]; then
|
||||
echo "Gift not yet delivered, resubmitting transaction..."
|
||||
|
||||
GENESIS_ADDR=$(cat /var/lib/aitbc/keystore/aitbc1genesis.json | jq -r .address)
|
||||
echo "Genesis address: $GENESIS_ADDR"
|
||||
|
||||
# Get current nonce
|
||||
CURRENT_NONCE=$(curl -s "http://localhost:8006/rpc/getBalance/$GENESIS_ADDR" | jq .nonce)
|
||||
echo "Current nonce: $CURRENT_NONCE"
|
||||
|
||||
# Create new transaction with correct nonce
|
||||
NEW_TX=$(cat << EOF
|
||||
{
|
||||
"type": "transfer",
|
||||
"sender": "$GENESIS_ADDR",
|
||||
"nonce": $((CURRENT_NONCE + 1)),
|
||||
"fee": 10,
|
||||
"payload": {},
|
||||
"recipient": "$WALLET_ADDR",
|
||||
"value": 1000
|
||||
}
|
||||
EOF
|
||||
)
|
||||
|
||||
echo "Submitting new transaction:"
|
||||
echo "$NEW_TX" | jq .
|
||||
|
||||
NEW_TX_RESULT=$(curl -X POST http://localhost:8006/rpc/sendTx -H "Content-Type: application/json" -d "$NEW_TX")
|
||||
echo "New transaction result: $NEW_TX_RESULT"
|
||||
|
||||
# Wait for new transaction to be mined
|
||||
echo "Waiting for new transaction to be mined..."
|
||||
for i in {1..15}; do
|
||||
UPDATED_BALANCE=$(ssh aitbc "curl -s 'http://localhost:8006/rpc/getBalance/$WALLET_ADDR' | jq .balance")
|
||||
echo "Check $i/15: Balance = $UPDATED_BALANCE AIT"
|
||||
|
||||
if [ "$UPDATED_BALANCE" -gt "0" ]; then
|
||||
echo "🎉 SUCCESS: Gift finally delivered! Balance: $UPDATED_BALANCE AIT"
|
||||
break
|
||||
fi
|
||||
|
||||
sleep 2
|
||||
done
|
||||
fi
|
||||
|
||||
# Final verification
|
||||
echo "=== FINAL GIFT DELIVERY VERIFICATION ==="
|
||||
FINAL_BALANCE=$(ssh aitbc "curl -s 'http://localhost:8006/rpc/getBalance/$WALLET_ADDR' | jq .balance")
|
||||
echo "Final wallet balance: $FINAL_BALANCE AIT"
|
||||
|
||||
if [ "$FINAL_BALANCE" -ge "1000" ]; then
|
||||
echo "✅ GIFT DELIVERY SUCCESSFUL!"
|
||||
echo "🎁 aitbc received $FINAL_BALANCE AIT from genesis wallet"
|
||||
elif [ "$FINAL_BALANCE" -gt "0" ]; then
|
||||
echo "⚠️ Partial gift delivery: $FINAL_BALANCE AIT received"
|
||||
else
|
||||
echo "❌ Gift delivery failed - wallet still has 0 AIT"
|
||||
echo "🔍 Manual investigation required"
|
||||
fi
|
||||
```
|
||||
|
||||
```bash
|
||||
# Wait for transaction to be mined and verify
|
||||
|
||||
Reference in New Issue
Block a user