-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
29 lines (29 loc) · 2.32 KB
/
index.html
File metadata and controls
29 lines (29 loc) · 2.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Bitcoin Script Lab</title>
<link rel="stylesheet" href="styles.css" />
</head>
<body>
<main class="terminal-shell">
<header class="terminal-header">
<div>
<p class="eyebrow">POLYDEUCES32 / BTC DEV LAB</p>
<h1>Bitcoin Script Lab<span class="cursor">_</span></h1>
<p class="subtitle">Trace Bitcoin Script concepts opcode by opcode with live stack state.</p>
</div>
<div class="status-pill">EDUCATIONAL SIMULATOR</div>
</header>
<section class="notice">This lab uses a simplified JavaScript interpreter. It is not Bitcoin Core-compatible and must not be used to validate real transactions.</section>
<section class="lab-grid">
<article class="panel editor-panel"><div class="panel-title">01 / SCRIPT INPUT</div><label class="sr-only" for="scriptInput">Bitcoin Script input</label><textarea id="scriptInput" class="script-input" spellcheck="false">OP_1 OP_2 OP_ADD OP_DUP</textarea><div class="controls"><button class="btn primary" type="button" data-action="run">Run All</button><button class="btn" type="button" data-action="step">Step</button><button class="btn" type="button" data-action="reset">Reset Trace</button><button class="btn ghost" type="button" data-action="clear">Clear</button><button class="btn ghost" type="button" data-action="share">Share</button></div><div class="samples"><button type="button" data-sample="basic">Basic</button><button type="button" data-sample="comparison">Compare</button><button type="button" data-sample="stack">Stack</button><button type="button" data-sample="verify">Verify</button></div><div id="status" class="status-line" role="status" aria-live="polite"></div></article>
<article class="panel trace-panel"><div class="panel-title">02 / EXECUTION TRACE</div><div id="traceContainer" class="trace-container"></div></article>
<article class="panel stack-panel"><div class="panel-title">03 / STACK STATE</div><div id="stackContainer" class="stack-container"></div></article>
</section>
<section class="panel opcode-panel"><div class="panel-title">04 / OPCODE REFERENCE</div><div id="opcodesGrid" class="opcodes-grid"></div></section>
</main>
<script src="script.js"></script>
</body>
</html>