Learn to build web applications with Taproot Assets by solving CORS and authentication barriers.
  • TypeScript 63.2%
  • HTML 33%
  • CSS 1.9%
  • Shell 1.7%
  • JavaScript 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2025-12-07 21:48:58 -05:00
part0-setup minor update for polar setup 2025-10-13 19:12:19 -04:00
part1-cors-demo update logos 2025-10-12 22:59:32 -04:00
part2-gateway-connection update logos 2025-10-12 22:59:32 -04:00
part3-react fix: error handling for burn hook 2025-10-15 18:36:44 -04:00
part3-setup update logos 2025-10-12 22:59:32 -04:00
part3-starter update logos 2025-10-12 22:59:32 -04:00
scripts minor updates for easier UX 2025-10-12 21:53:12 -04:00
LICENSE Update copyright holder to PrivKey LLC 2025-12-07 21:48:58 -05:00
README.md update polar init docs 2025-10-04 19:51:44 -04:00

Taproot Assets Web Development Workshop

Learn to build web applications with Taproot Assets by solving CORS and authentication barriers.

🚀 Quick Start

# Clone the workshop
git clone https://github.com/privkeyio/taproot-assets-webdev-examples.git
cd taproot-assets-webdev-examples

# Start all demos
./scripts/start-workshop.sh

Then visit http://localhost:8999/part0-setup/ to begin!

All workshop parts run on one server (port 8999):

Navigate seamlessly between parts using the built-in navigation buttons!


Prerequisites

  • Polar with TAPD-enabled LND node running
  • Rust installed (rustup.rs)
  • Python 3

What You'll Build

  • Part 0: REST Gateway setup walkthrough
  • Part 1: Experience CORS/auth barriers firsthand
  • Part 2: Mint, send, and receive assets via gateway
  • Part 3: Build a live portfolio viewer
  • Part 3 React: Modern framework integration with React + Vite

Duration: ~90 minutes

💡 The Problem & Solution

The Problem:

  • Browsers block direct TAPD API calls (CORS)
  • Macaroon authentication is complex
  • TLS certificates cause issues

The Solution:

  • REST Gateway acts as a proxy
  • Handles CORS and auth automatically
  • Clean REST API for browsers

🔗 Resources

🤝 Contributing

Found a bug? Have an improvement? Contributions are welcome!

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

Built with ❤️ by Kyle Santiago / PrivKey

Ready? Run ./scripts/start-workshop.sh and visit http://localhost:8999/part0-setup/