Files
proxmox/scripts/test-rpc-thirdweb.sh

75 lines
2.2 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# Test RPC endpoints for Thirdweb
# Usage: ./scripts/test-rpc-thirdweb.sh
set -euo pipefail
RPC_URL="https://rpc.public-0138.defi-oracle.io"
echo "Testing RPC Endpoint: $RPC_URL"
echo "=================================="
echo ""
# Test 1: Chain ID
echo "Test 1: Get Chain ID"
RESPONSE=$(curl -k -s -X POST "$RPC_URL" \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}')
if echo "$RESPONSE" | jq -e '.result == "0x8a"' >/dev/null 2>&1; then
echo "✅ Chain ID: $(echo "$RESPONSE" | jq -r '.result')"
else
echo "❌ Chain ID test failed"
echo "$RESPONSE" | jq '.' 2>/dev/null || echo "$RESPONSE"
fi
echo ""
# Test 2: Block Number
echo "Test 2: Get Latest Block Number"
RESPONSE=$(curl -k -s -X POST "$RPC_URL" \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":2}')
if echo "$RESPONSE" | jq -e '.result' >/dev/null 2>&1; then
BLOCK_HEX=$(echo "$RESPONSE" | jq -r '.result')
BLOCK_DEC=$((16#${BLOCK_HEX#0x}))
echo "✅ Latest Block: $BLOCK_DEC ($BLOCK_HEX)"
else
echo "❌ Block number test failed"
echo "$RESPONSE" | jq '.' 2>/dev/null || echo "$RESPONSE"
fi
echo ""
# Test 3: Network ID
echo "Test 3: Get Network ID"
RESPONSE=$(curl -k -s -X POST "$RPC_URL" \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"net_version","params":[],"id":3}')
if echo "$RESPONSE" | jq -e '.result == "138"' >/dev/null 2>&1; then
echo "✅ Network ID: $(echo "$RESPONSE" | jq -r '.result')"
else
echo "❌ Network ID test failed"
echo "$RESPONSE" | jq '.' 2>/dev/null || echo "$RESPONSE"
fi
echo ""
# Test 4: CORS Headers
echo "Test 4: Check CORS Headers"
CORS_HEADERS=$(curl -k -s -I -X OPTIONS "$RPC_URL" \
-H 'Origin: https://thirdweb.com' \
-H 'Access-Control-Request-Method: POST' \
-H 'Access-Control-Request-Headers: Content-Type' 2>&1 | grep -i "access-control" || echo "")
if echo "$CORS_HEADERS" | grep -qi "access-control-allow-origin"; then
echo "✅ CORS headers present"
echo "$CORS_HEADERS"
else
echo "⚠️ CORS headers not found (may still work)"
fi
echo ""
echo "=================================="
echo "RPC Endpoint Tests Complete"
echo ""