feat(demos): add VHS terminal demo GIFs for node, exit node, and health check
Rendered with charmbracelet/vhs. Tape scripts included for re-rendering. Co-Authored-By: Charon <charon@lethean.io>
This commit is contained in:
parent
7af620e7f6
commit
eebfb3f1f1
6 changed files with 133 additions and 0 deletions
BIN
docker/demos/exit-node.gif
Normal file
BIN
docker/demos/exit-node.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 829 KiB |
58
docker/demos/exit-node.tape
Normal file
58
docker/demos/exit-node.tape
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
# Lethean Exit Node — Quick Start Demo
|
||||
|
||||
Output demos/exit-node.gif
|
||||
|
||||
Set FontSize 14
|
||||
Set Width 900
|
||||
Set Height 550
|
||||
Set Theme "Dracula"
|
||||
Set TypingSpeed 45ms
|
||||
Set Padding 15
|
||||
|
||||
Type "# Lethean VPN Exit Node — Earn LTHN from Home"
|
||||
Enter
|
||||
Sleep 1s
|
||||
|
||||
Type "# Configure"
|
||||
Enter
|
||||
Type "cp .env.example .env"
|
||||
Enter
|
||||
Type 'echo "WALLET_PASSWORD=my-secure-pass" >> .env'
|
||||
Enter
|
||||
Type 'echo "EXIT_PUBLIC_IP=$(curl -s ifconfig.me)" >> .env'
|
||||
Enter
|
||||
Type 'echo "EXIT_NAME=my-exit-node" >> .env'
|
||||
Enter
|
||||
Sleep 500ms
|
||||
|
||||
Type ""
|
||||
Enter
|
||||
Type "# Start exit node stack"
|
||||
Enter
|
||||
Type "docker compose -f docker-compose.exit.yml up -d"
|
||||
Enter
|
||||
Sleep 2s
|
||||
|
||||
Type ""
|
||||
Enter
|
||||
Type "# Check WireGuard VPN server"
|
||||
Enter
|
||||
Type "docker exec lthn-exit-wireguard wg show"
|
||||
Enter
|
||||
Sleep 2s
|
||||
|
||||
Type ""
|
||||
Enter
|
||||
Type "# Check controller status"
|
||||
Enter
|
||||
Type "docker logs lthn-exit-controller --tail 3"
|
||||
Enter
|
||||
Sleep 2s
|
||||
|
||||
Type ""
|
||||
Enter
|
||||
Type "# Your node is live — gateways will discover it on-chain"
|
||||
Enter
|
||||
Type "# Open ports 46942/tcp and 51820/udp on your router"
|
||||
Enter
|
||||
Sleep 2s
|
||||
BIN
docker/demos/health-check.gif
Normal file
BIN
docker/demos/health-check.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 646 KiB |
32
docker/demos/health-check.tape
Normal file
32
docker/demos/health-check.tape
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# Lethean Ecosystem — Health Check Demo
|
||||
|
||||
Output demos/health-check.gif
|
||||
|
||||
Set FontSize 14
|
||||
Set Width 900
|
||||
Set Height 500
|
||||
Set Theme "Dracula"
|
||||
Set TypingSpeed 40ms
|
||||
Set Padding 15
|
||||
|
||||
Type "# Lethean Testnet — All Services Running"
|
||||
Enter
|
||||
Sleep 500ms
|
||||
|
||||
Type "bash health.sh"
|
||||
Enter
|
||||
Sleep 3s
|
||||
|
||||
Type ""
|
||||
Enter
|
||||
Type "# 14 on-chain aliases registered"
|
||||
Enter
|
||||
Type@80ms 'curl -s http://localhost:46941/json_rpc -d '"'"'{"jsonrpc":"2.0","id":"0","method":"get_all_alias_details"}'"'"' -H "Content-Type: application/json" | python3 -c "import sys,json; aliases=json.load(sys.stdin).get('"'"'result'"'"',{}).get('"'"'aliases'"'"',[]); [print(f'"'"' @{a[\"alias\"]:12s} {a.get(\"comment\",\"\")[:50]}'"'"') for a in aliases[:5]]; print(f'"'"' ... {len(aliases)} total'"'"')"'
|
||||
Enter
|
||||
Sleep 3s
|
||||
|
||||
Type ""
|
||||
Enter
|
||||
Type "# Lethean — Privacy by default. Earn by participating."
|
||||
Enter
|
||||
Sleep 2s
|
||||
BIN
docker/demos/node-quickstart.gif
Normal file
BIN
docker/demos/node-quickstart.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 MiB |
43
docker/demos/node-quickstart.tape
Normal file
43
docker/demos/node-quickstart.tape
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
# Lethean Home Node — Quick Start Demo
|
||||
# Renders to GIF showing how easy it is to run a node
|
||||
|
||||
Output demos/node-quickstart.gif
|
||||
|
||||
Set FontSize 16
|
||||
Set Width 1000
|
||||
Set Height 600
|
||||
Set Theme "Dracula"
|
||||
Set TypingSpeed 50ms
|
||||
Set Padding 20
|
||||
|
||||
Type "# Lethean Home Node — Quick Start"
|
||||
Enter
|
||||
Sleep 1s
|
||||
|
||||
Type "# Step 1: Configure"
|
||||
Enter
|
||||
Type "cp .env.example .env"
|
||||
Enter
|
||||
Sleep 500ms
|
||||
|
||||
Type "# Step 2: Start the node"
|
||||
Enter
|
||||
Type "docker compose -f docker-compose.node.yml up -d"
|
||||
Enter
|
||||
Sleep 2s
|
||||
|
||||
Type "# Step 3: Check chain sync"
|
||||
Enter
|
||||
Type@100ms 'curl -s http://localhost:46941/json_rpc -d '"'"'{"jsonrpc":"2.0","id":"0","method":"getinfo"}'"'"' -H "Content-Type: application/json" | python3 -c "import sys,json; d=json.load(sys.stdin)['"'"'result'"'"']; print(f'"'"'Height: {d[\"height\"]}, Status: {d[\"status\"]}'"'"')"'
|
||||
Enter
|
||||
Sleep 2s
|
||||
|
||||
Type "# Step 4: Check wallet balance"
|
||||
Enter
|
||||
Type@100ms 'curl -s http://localhost:46944/json_rpc -d '"'"'{"jsonrpc":"2.0","id":"0","method":"getbalance"}'"'"' -H "Content-Type: application/json" | python3 -c "import sys,json; d=json.load(sys.stdin)['"'"'result'"'"']; print(f'"'"'Balance: {d[\"balance\"]/1e12:.4f} LTHN'"'"')"'
|
||||
Enter
|
||||
Sleep 2s
|
||||
|
||||
Type "# Node is running, staking automatically!"
|
||||
Enter
|
||||
Sleep 2s
|
||||
Loading…
Add table
Reference in a new issue