Skip to content

Commit dc7460f

Browse files
committed
feat: add local RPC management script
- Add manage-local-rpc.sh utility script for Solana test validator management - Support start, stop, status, and logs commands - Include health checks and user-friendly status messages - Provide RPC and WebSocket URLs for easy connection
1 parent 83f3597 commit dc7460f

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

β€Žmanage-local-rpc.shβ€Ž

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#!/bin/bash
2+
3+
# Script to manage local Solana RPC node
4+
5+
case "$1" in
6+
start)
7+
if pgrep -f "solana-test-validator" > /dev/null; then
8+
echo "❌ Solana test validator is already running"
9+
exit 1
10+
fi
11+
echo "πŸš€ Starting Solana test validator..."
12+
nohup solana-test-validator --reset > /tmp/solana-test-validator.log 2>&1 &
13+
echo "βœ… Started with PID: $!"
14+
echo "πŸ“ RPC URL: http://127.0.0.1:8899"
15+
echo "πŸ”Œ WebSocket URL: ws://127.0.0.1:8900"
16+
echo "πŸ“„ Log file: /tmp/solana-test-validator.log"
17+
;;
18+
stop)
19+
echo "πŸ›‘ Stopping Solana test validator..."
20+
pkill -f solana-test-validator
21+
echo "βœ… Stopped"
22+
;;
23+
status)
24+
if pgrep -f "solana-test-validator" > /dev/null; then
25+
echo "βœ… Solana test validator is running"
26+
echo "πŸ“ RPC URL: http://127.0.0.1:8899"
27+
echo "πŸ”Œ WebSocket URL: ws://127.0.0.1:8900"
28+
# Check health
29+
if curl -s -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"getHealth"}' http://127.0.0.1:8899 | grep -q '"result":"ok"'; then
30+
echo "πŸ’š Health: OK"
31+
else
32+
echo "❌ Health: Not responding"
33+
fi
34+
else
35+
echo "❌ Solana test validator is not running"
36+
fi
37+
;;
38+
logs)
39+
if [ -f /tmp/solana-test-validator.log ]; then
40+
tail -f /tmp/solana-test-validator.log
41+
else
42+
echo "❌ No log file found"
43+
fi
44+
;;
45+
*)
46+
echo "Usage: $0 {start|stop|status|logs}"
47+
exit 1
48+
;;
49+
esac

0 commit comments

Comments
Β (0)