miniledger 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +165 -35
- package/dashboard/app.js +744 -156
- package/dashboard/index.html +33 -84
- package/dashboard/style.css +500 -75
- package/dist/bin/miniledger.cjs +135 -23
- package/dist/bin/miniledger.cjs.map +1 -1
- package/package.json +33 -9
package/dashboard/index.html
CHANGED
|
@@ -3,97 +3,46 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>MiniLedger
|
|
6
|
+
<title>MiniLedger Explorer</title>
|
|
7
7
|
<link rel="stylesheet" href="/dashboard/style.css">
|
|
8
8
|
</head>
|
|
9
9
|
<body>
|
|
10
|
-
<
|
|
11
|
-
|
|
12
|
-
<
|
|
13
|
-
<
|
|
14
|
-
<
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
<div class="
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
</
|
|
32
|
-
<div class="stat">
|
|
33
|
-
<div class="stat-value" id="stat-state">0</div>
|
|
34
|
-
<div class="stat-label">State Keys</div>
|
|
35
|
-
</div>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
<div class="grid">
|
|
39
|
-
<!-- Blocks -->
|
|
40
|
-
<div class="card">
|
|
41
|
-
<div class="card-header">
|
|
42
|
-
Recent Blocks
|
|
43
|
-
<span class="badge" id="block-count">0</span>
|
|
44
|
-
</div>
|
|
45
|
-
<div class="card-body" id="blocks-list">
|
|
46
|
-
<div class="empty-state">Loading blocks...</div>
|
|
47
|
-
</div>
|
|
48
|
-
</div>
|
|
49
|
-
|
|
50
|
-
<!-- Transactions -->
|
|
51
|
-
<div class="card">
|
|
52
|
-
<div class="card-header">
|
|
53
|
-
Recent Transactions
|
|
54
|
-
<span class="badge" id="tx-count">0</span>
|
|
55
|
-
</div>
|
|
56
|
-
<div class="card-body" id="tx-list">
|
|
57
|
-
<div class="empty-state">No transactions yet</div>
|
|
58
|
-
</div>
|
|
59
|
-
</div>
|
|
10
|
+
<div class="layout">
|
|
11
|
+
<!-- Sidebar -->
|
|
12
|
+
<aside class="sidebar">
|
|
13
|
+
<div class="sidebar-logo"><span>Mini</span>Ledger</div>
|
|
14
|
+
<nav class="sidebar-nav">
|
|
15
|
+
<div class="nav-section">Explorer</div>
|
|
16
|
+
<a class="nav-link" href="#/" data-route="/"><span class="nav-icon">■</span> Overview</a>
|
|
17
|
+
<a class="nav-link" href="#/blocks" data-route="/blocks"><span class="nav-icon">▦</span> Blocks</a>
|
|
18
|
+
<a class="nav-link" href="#/transactions" data-route="/transactions"><span class="nav-icon">⇄</span> Transactions</a>
|
|
19
|
+
<a class="nav-link" href="#/state" data-route="/state"><span class="nav-icon">⚙</span> State</a>
|
|
20
|
+
<div class="nav-section">Smart Contracts</div>
|
|
21
|
+
<a class="nav-link" href="#/contracts" data-route="/contracts"><span class="nav-icon">❖</span> Contracts</a>
|
|
22
|
+
<a class="nav-link" href="#/governance" data-route="/governance"><span class="nav-icon">⚖</span> Governance</a>
|
|
23
|
+
<div class="nav-section">Network</div>
|
|
24
|
+
<a class="nav-link" href="#/network" data-route="/network"><span class="nav-icon">⋯</span> Network</a>
|
|
25
|
+
</nav>
|
|
26
|
+
<div class="sidebar-footer">
|
|
27
|
+
<span class="dot green" id="status-dot"></span>
|
|
28
|
+
<span id="status-text">Connecting...</span>
|
|
29
|
+
<div style="margin-top:4px" id="node-id-short">—</div>
|
|
30
|
+
</div>
|
|
31
|
+
</aside>
|
|
60
32
|
|
|
61
|
-
<!--
|
|
62
|
-
<div class="
|
|
63
|
-
<div class="
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
<div class="card-body">
|
|
68
|
-
<div class="query-area">
|
|
69
|
-
<input type="text" id="sql-input" placeholder="SELECT * FROM world_state LIMIT 20" value="SELECT * FROM world_state ORDER BY updated_at DESC LIMIT 20">
|
|
70
|
-
<button onclick="runQuery()">Run Query</button>
|
|
33
|
+
<!-- Main -->
|
|
34
|
+
<div class="main">
|
|
35
|
+
<div class="topbar">
|
|
36
|
+
<div class="topbar-left">
|
|
37
|
+
<span>Height: <strong id="tb-height">0</strong></span>
|
|
38
|
+
<span>Uptime: <strong id="tb-uptime">—</strong></span>
|
|
71
39
|
</div>
|
|
72
|
-
<div
|
|
73
|
-
<
|
|
40
|
+
<div class="search-box">
|
|
41
|
+
<span class="search-icon">🔍</span>
|
|
42
|
+
<input type="text" id="search-input" placeholder="Search block, tx, address, state key...">
|
|
74
43
|
</div>
|
|
75
44
|
</div>
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
<!-- Peers -->
|
|
79
|
-
<div class="card">
|
|
80
|
-
<div class="card-header">
|
|
81
|
-
Network Peers
|
|
82
|
-
<span class="badge" id="peer-badge">0</span>
|
|
83
|
-
</div>
|
|
84
|
-
<div class="card-body" id="peers-list">
|
|
85
|
-
<div class="empty-state">No peers connected</div>
|
|
86
|
-
</div>
|
|
87
|
-
</div>
|
|
88
|
-
|
|
89
|
-
<!-- Contracts & Governance -->
|
|
90
|
-
<div class="card">
|
|
91
|
-
<div class="card-header">
|
|
92
|
-
Contracts & Governance
|
|
93
|
-
</div>
|
|
94
|
-
<div class="card-body" id="contracts-gov">
|
|
95
|
-
<div class="empty-state">Loading...</div>
|
|
96
|
-
</div>
|
|
45
|
+
<div class="content" id="app"></div>
|
|
97
46
|
</div>
|
|
98
47
|
</div>
|
|
99
48
|
|