diff --git a/docker/demos/exit-node.gif b/docker/demos/exit-node.gif new file mode 100644 index 00000000..62c2a3ed Binary files /dev/null and b/docker/demos/exit-node.gif differ diff --git a/docker/demos/exit-node.tape b/docker/demos/exit-node.tape new file mode 100644 index 00000000..639888f6 --- /dev/null +++ b/docker/demos/exit-node.tape @@ -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 diff --git a/docker/demos/health-check.gif b/docker/demos/health-check.gif new file mode 100644 index 00000000..7baad7c5 Binary files /dev/null and b/docker/demos/health-check.gif differ diff --git a/docker/demos/health-check.tape b/docker/demos/health-check.tape new file mode 100644 index 00000000..548e9ca8 --- /dev/null +++ b/docker/demos/health-check.tape @@ -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 diff --git a/docker/demos/node-quickstart.gif b/docker/demos/node-quickstart.gif new file mode 100644 index 00000000..9c3c02d1 Binary files /dev/null and b/docker/demos/node-quickstart.gif differ diff --git a/docker/demos/node-quickstart.tape b/docker/demos/node-quickstart.tape new file mode 100644 index 00000000..4d043f21 --- /dev/null +++ b/docker/demos/node-quickstart.tape @@ -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