Skip to content

demos: add remote signing coordinator#129

Merged
darioAnongba merged 6 commits into
mainfrom
dario/remote-signing-coordinator
May 15, 2026
Merged

demos: add remote signing coordinator#129
darioAnongba merged 6 commits into
mainfrom
dario/remote-signing-coordinator

Conversation

@darioAnongba

@darioAnongba darioAnongba commented May 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

Closes #127.
Depends on #128.

Adds a local remote-signing coordinator demo under demos/remote-signing-coordinator with a Go SDK coordinator server and a Next.js/Tailwind dashboard.

The dashboard talks only to the local coordinator API. The Go server owns tapd connectivity, starts high-level SDK issuer calls, pauses when the SDK requests an external Issuance signature, exposes the unsigned virtual PSBT, accepts the signed virtual PSBT, and then lets the SDK finalize the Issuance.

The dashboard also includes a browser-local BDK-WASM software device. It generates/imports a BIP39 mnemonic, derives a taproot descriptor, fills the SDK external Issuance key fields from the descriptor, signs the unsigned virtual PSBT client-side, and submits the signed virtual PSBT back through the coordinator.

Changes

  • Replace the raw embedded static UI with a Yarn-managed dashboard/ package using Next.js, React, Tailwind, and lucide icons.
  • Keep the backend demo simple: one Go server package with in-memory coordinator runs, env loading, tapd client construction, JSON API routes, and the SDK signer callback bridge.
  • Add a BDK-WASM software-device panel for descriptor generation/import and browser-local signing.
  • Make fee entry wallet-friendly in sat/vB, convert to the SDK's sat/kWU fee-rate option, and validate the demo floor before calling tapd.
  • Add copy actions for AssetRefs and Issuance refs, plus a New Issuance selector populated from finalized in-memory runs.
  • Add .env.example defaults for the existing regtest Alice tapd ports and exported credential paths.
  • Add scripts to create .env automatically, fund Alice's LND wallet from the regtest miner wallet, and export Alice/Bob tapd TLS + macaroon files from the existing itest Docker Compose stack.
  • Add dashboard package scripts for server, dashboard, combined dev mode, regtest up/down, build, lint, typecheck, and demo test execution.
  • Update the README so commands are run from the demo folder and no placeholder credential paths are required.
  • Show SDK nomenclature in the UI: Asset, Issuance, AssetRef, Issuance key, script key, and anchor outpoint.

Notes

This still uses the Go SDK directly through the coordinator server. It does not try to provide a TypeScript SDK binding yet. The dashboard is intentionally a coordinator UI over the Go demo API, with BDK-WASM used only to mimic an external signing device in the browser.

Coordinator runs are in memory only. Hardware-wallet/HSM transport integration, L1 anchor PSBT review, external script-key signing, regtest block mining from the UI, wallet asset discovery, and persistent runs remain out of scope for this demo.

A small nested dashboard/go.mod keeps root go test ./... from traversing frontend node_modules after Yarn install.

@darioAnongba
darioAnongba force-pushed the dario/remote-signing-coordinator branch 5 times, most recently from bf04dea to c1b6d5d Compare May 13, 2026 14:07
@darioAnongba darioAnongba self-assigned this May 15, 2026
@darioAnongba
darioAnongba marked this pull request as ready for review May 15, 2026 12:16
@darioAnongba darioAnongba moved this from 🆕 New to 🏗 In progress in Taproot-Assets Project Board May 15, 2026
Base automatically changed from dario/external-issuance-signer to main May 15, 2026 12:27
@darioAnongba
darioAnongba force-pushed the dario/remote-signing-coordinator branch from 8d54cce to 0f88ec9 Compare May 15, 2026 12:31
@darioAnongba
darioAnongba merged commit 0309640 into main May 15, 2026
5 checks passed
@github-project-automation github-project-automation Bot moved this from 🏗 In progress to ✅ Done in Taproot-Assets Project Board May 15, 2026
@darioAnongba
darioAnongba deleted the dario/remote-signing-coordinator branch May 15, 2026 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

[demo] Remote signing coordinator UI for Taproot Assets issuance

1 participant