Skip to content

zappi-org/zappi-link

Repository files navigation

zappi-link

Nostr Lightning Address → Cashu 브리지. 노스터 사용자에게 Lightning Address를 부여하고, 수신된 sats를 P2PK 잠긴 Cashu 토큰으로 전환하여 NIP-17 DM으로 전달한다.

핵심 흐름

  1. 사용자가 NIP-98 인증으로 Lightning Address 등록
  2. 발신자가 LNURL-pay로 Lightning 결제
  3. 서버가 Cashu 토큰을 민트하고 NIP-17 DM으로 수신자에게 전달
  4. 수신자가 P2PK 키로 토큰 언락 또는 API로 클레임

기술 스택

  • Runtime: Bun
  • Framework: Elysia
  • DB: PostgreSQL + Drizzle ORM
  • Auth: NIP-98 (kind:27235)
  • Cashu: @cashu/cashu-ts (P2PK, NUT-18)
  • Nostr: nostr-tools (NIP-05, NIP-17, NIP-65, K10019)

시작하기

cp .env.example .env
# .env 편집: DATABASE_URL, SERVER_PRIVATE_KEY, DEFAULT_MINT_URL 등
docker compose up -d   # PostgreSQL
bun install
bun run drizzle-kit push
bun run src/index.ts

개발

bun test test/unit/       # 단위 테스트
bun scripts/debugger.ts   # 통합 디버거 (Nostr + API)
bun scripts/admin-debugger.ts  # 어드민 디버거

문서

  • Integration Guide — API 연동 가이드 (NIP-98 인증, 엔드포인트, 코드 예제)

라이선스

MIT

About

npub.cash-ish service but using nip-17 private DM to deliver token

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors