txo_parser
Version:
Parser for TXO URI Specification (v0.2)
83 lines (75 loc) • 3.68 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>TXO — Voucher Management & Bitcoin Anchoring</title>
<meta name="description" content="Parse, build, and manage TXO URIs. Voucher pool, faucet, blocktrails anchoring on Bitcoin, web ledger with history.">
<!-- Open Graph -->
<meta property="og:title" content="TXO — Voucher Management & Bitcoin Anchoring">
<meta property="og:description" content="Interactive demo for TXO URIs. Manage vouchers, anchor state to Bitcoin via blocktrails, track web ledger evolution.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://sandy-mount.github.io/txo_parser/demo/">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="TXO — Voucher Management & Bitcoin Anchoring">
<meta name="twitter:description" content="Interactive demo for TXO URIs. Manage vouchers, anchor state to Bitcoin, track ledger evolution.">
<style>
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
background: linear-gradient(160deg, #0a0f1a 0%, #1a1a3e 50%, #0f172a 100%);
color: rgba(255,255,255,0.9);
min-height: 100vh;
}
#losos { max-width: 100% ; }
#losos > div { max-width: 100% ; width: 100% ; }
button.pane-tab {
color: rgba(255,255,255,0.45) ;
font-weight: 600 ;
font-size: 0.85em ;
padding: 12px 20px ;
}
button.pane-tab[aria-selected="true"] {
color: rgba(255,255,255,0.95) ;
}
#pane-tabs { max-width: 960px ; margin: 0 auto ; border-bottom-color: rgba(255,255,255,0.06) ; }
#pane-container { max-width: 960px ; margin: 0 auto ; }
.boot { display: flex; align-items: center; justify-content: center; height: 40vh; color: rgba(255,255,255,0.25); font-size: 0.9rem; }
.txo-footer { text-align: center; padding: 32px 16px; font-size: 0.75rem; color: rgba(255,255,255,0.2); }
.txo-footer a { color: rgba(255,255,255,0.3); text-decoration: none; }
.txo-footer a:hover { color: rgba(255,255,255,0.5); }
</style>
</head>
<body>
<script src="https://unpkg.com/xlogin"></script>
<script id="data" type="application/ld+json" src="voucher-data.jsonld"></script>
<script type="module" data-pane src="panes/parser-pane.js"></script>
<script type="module" data-pane src="panes/builder-pane.js"></script>
<script type="module" data-pane src="panes/voucher-pane.js"></script>
<script type="module" data-pane src="panes/faucet-pane.js"></script>
<script type="module" data-pane src="panes/blocktrails-pane.js"></script>
<script type="module" data-pane src="panes/ledger-pane.js"></script>
<script type="module" data-pane src="panes/spec-pane.js"></script>
<div id="losos"><div class="boot">Loading...</div></div>
<footer class="txo-footer">
Powered by <a href="https://losos.org/">LOSOS</a> ·
<a href="https://nostrcg.github.io/did-nostr/">did:nostr</a>
</footer>
<script>
(function() {
// Capture ?key= for auto-import
var params = new URLSearchParams(location.search)
if (params.has('key')) {
window.__pendingImport = params.get('key')
history.replaceState({}, '', location.pathname)
}
// Boot shell
var s = document.createElement('script')
s.type = 'module'
s.src = 'https://losos.org/losos/shell.js'
document.body.appendChild(s)
})()
</script>
</body>
</html>