feat(demos): add VHS terminal demo GIFs for node, exit node, and health check
Some checks are pending
Build & Release / Linux x86_64 (push) Waiting to run
Build & Release / macOS ARM64 (push) Waiting to run
Build & Release / Create Release (push) Blocked by required conditions

Rendered with charmbracelet/vhs. Tape scripts included for re-rendering.

Co-Authored-By: Charon <charon@lethean.io>
This commit is contained in:
Claude 2026-04-03 12:25:51 +01:00
parent 7af620e7f6
commit eebfb3f1f1
No known key found for this signature in database
GPG key ID: AF404715446AEB41
6 changed files with 133 additions and 0 deletions

BIN
docker/demos/exit-node.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 829 KiB

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 646 KiB

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

View 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