Skip to content

Commit 74047b0

Browse files
committed
Rebranding
1 parent 0120421 commit 74047b0

File tree

6 files changed

+100
-68
lines changed

6 files changed

+100
-68
lines changed

CLAUDE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ go test -cover ./...
9797

9898
## Architecture Overview
9999

100-
This is a Bitcoin SV P2P networking component that provides:
100+
This is a BSV Blockchain P2P networking component that provides:
101101

102102
### Core Components
103103
- **P2P Node** (`pkg/p2p/`): LibP2P-based peer-to-peer networking with private DHT support
@@ -125,7 +125,7 @@ This is a Bitcoin SV P2P networking component that provides:
125125
The application requires `config.yaml` with these key sections:
126126
- `p2p`: Network configuration (bootstrap addresses, shared key, DHT protocol)
127127
- `database`: SQLite file path
128-
- `topics`: List of Bitcoin SV topics to subscribe to
128+
- `topics`: List of BSV Blockchain topics to subscribe to
129129

130130
Environment variables can override config values using `TERANODE_P2P_` prefix with underscores replacing dots.
131131

DASHBOARD_FEATURES.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Dashboard Features Summary
22

33
## New Dashboard Overview
4-
The frontend has been completely transformed into a modern dashboard interface for exploring Bitcoin SV P2P network messages.
4+
The frontend has been completely transformed into a modern dashboard interface for exploring BSV Blockchain P2P network messages.
55

66
## 🎯 Key Features
77

@@ -150,4 +150,4 @@ The frontend has been completely transformed into a modern dashboard interface f
150150
- **Visual Feedback**: New message indicators and loading states
151151
- **Smooth Interactions**: Transitions and hover effects
152152

153-
This dashboard transforms the P2P message monitoring from a simple message list into a comprehensive network exploration tool, making it easy to understand and analyze Bitcoin SV network activity in real-time.
153+
This dashboard transforms the P2P message monitoring from a simple message list into a comprehensive network exploration tool, making it easy to understand and analyze BSV Blockchain network activity in real-time.

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# Teranode P2P POC
22

3-
Teranode P2P is a peer-to-peer networking component for the Bitcoin SV ecosystem. It now includes message persistence, a realtime websocket API, and a lightweight frontend for viewing/searching messages.
3+
Teranode P2P is a peer-to-peer networking component for the BSV Blockchain ecosystem. It now includes message persistence, a realtime websocket API, and a lightweight frontend for viewing/searching messages.
44

55
## Features
66

77
- **Decentralized Networking:** Connects to other nodes using a secure, private DHT (Distributed Hash Table).
8-
- **Configurable Topics:** Subscribes to and handles key Bitcoin SV network topics (blocks, transactions, mining status, etc.).
8+
- **Configurable Topics:** Subscribes to and handles key BSV Blockchain network topics (blocks, transactions, mining status, etc.).
99
- **Message Persistence:** All received messages are stored in a SQLite database (configurable path).
1010
- **Realtime Websocket:** All new messages are broadcast to connected websocket clients.
1111
- **Searchable API:** Query messages by topic or peer via a REST API.
@@ -145,7 +145,7 @@ npx wscat -c ws://localhost:8080/ws
145145
- `bitcoin/mainnet-rejected_tx`
146146

147147
## License
148-
This project is part of the BSV Blockchain initiative. See [Bitcoin SV License](https://bitcoinsv.io/terms-of-use/) for details.
148+
This project is part of the BSV Blockchain initiative. See [BSV Blockchain License](https://bitcoinsv.io/terms-of-use/) for details.
149149

150150
## Credits
151151
- BSV Blockchain community

frontend-react/public/index.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
<head>
44
<meta charset="utf-8" />
55
<link rel="icon" href="%PUBLIC_URL%/bsv-favicon.svg" type="image/svg+xml" />
6+
<link rel="shortcut icon" href="%PUBLIC_URL%/bsv-favicon.svg" type="image/svg+xml" />
67
<link rel="alternate icon" href="%PUBLIC_URL%/favicon.ico" />
78
<meta name="viewport" content="width=device-width, initial-scale=1" />
89
<meta name="theme-color" content="#1B1EA9" />
910
<meta
1011
name="description"
11-
content="Teranode P2P Network Monitor - Real-time monitoring of Bitcoin SV network messages. Powered by BSV Association."
12+
content="Teranode P2P Network Monitor - Real-time monitoring of BSV Blockchain network messages. Powered by BSV Association."
1213
/>
13-
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
14+
<link rel="apple-touch-icon" href="%PUBLIC_URL%/bsv-favicon.svg" />
1415
<link rel="preconnect" href="https://fonts.googleapis.com">
1516
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
1617
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans:wght@300;400;500;600;700&display=swap" rel="stylesheet">

frontend-react/src/components/Dashboard.tsx

Lines changed: 68 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -188,11 +188,11 @@ export const Dashboard: React.FC = () => {
188188
};
189189

190190
return (
191-
<div className="min-h-screen bg-gradient-to-br from-slate-50 via-blue-50 to-indigo-100">
191+
<div className="min-h-screen bg-[#F9F9F9]">
192192
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-6 sm:py-8">
193193
{/* Hero Section */}
194194
<div className="mb-10">
195-
<div className="bg-gradient-to-r from-blue-600 via-indigo-600 to-purple-600 rounded-3xl shadow-2xl p-8 sm:p-12 text-white relative overflow-hidden">
195+
<div className="bg-gradient-to-r from-[#1B1EA9] via-[#1B1EA9] to-[#FF2DAF] rounded-3xl shadow-2xl p-8 sm:p-12 text-white relative overflow-hidden">
196196
{/* Background Pattern */}
197197
<div className="absolute inset-0 opacity-10">
198198
<div className="absolute -top-4 -right-4 w-72 h-72 bg-white rounded-full blur-3xl"></div>
@@ -201,50 +201,81 @@ export const Dashboard: React.FC = () => {
201201

202202
{/* Content */}
203203
<div className="relative z-10">
204-
<div className="flex flex-col lg:flex-row lg:items-start lg:justify-between gap-6">
205-
<div className="flex-1">
204+
<div className="flex flex-col lg:flex-row lg:items-center lg:justify-between gap-8">
205+
<div className="flex-1 max-w-3xl">
206206
<div className="flex items-center gap-4 mb-6">
207-
<div className="w-16 h-16 bg-white/20 backdrop-blur rounded-2xl flex items-center justify-center">
208-
<svg className="w-10 h-10 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
209-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 10V3L4 14h7v7l9-11h-7z" />
210-
</svg>
207+
<div className="w-16 h-16 bg-white rounded-2xl flex items-center justify-center p-3">
208+
<img src="https://bsvassociation.org/wp-content/uploads/2025/05/logo-footer.svg" alt="BSV Logo" className="w-full h-full" />
211209
</div>
212210
<div>
213211
<h1 className="text-3xl sm:text-4xl lg:text-5xl font-bold mb-2">Teranode P2P Monitor</h1>
214-
<p className="text-lg sm:text-xl text-blue-100">Real-time Bitcoin SV Network Intelligence</p>
212+
<p className="text-lg sm:text-xl text-white/90">Real-time BSV Blockchain Network Intelligence</p>
215213
</div>
216214
</div>
217215

218-
<p className="text-base sm:text-lg text-blue-50 leading-relaxed mb-6 max-w-3xl">
219-
Welcome to the Teranode P2P Monitor, your window into the Bitcoin SV network's peer-to-peer communication layer.
216+
<p className="text-base sm:text-lg text-white/80 leading-relaxed mb-6 max-w-3xl">
217+
Welcome to the Teranode P2P Monitor, your window into the BSV Blockchain network's peer-to-peer communication layer.
220218
This platform provides real-time visibility into network messages, peer interactions, and blockchain activity across
221219
multiple BSV networks. Monitor block propagation, transaction flows, and network health metrics as they happen,
222220
giving developers and operators unprecedented insight into the Teranode infrastructure.
223221
</p>
224222

225-
<div className="flex flex-wrap gap-4">
226-
<div className="flex items-center gap-2 bg-white/20 backdrop-blur px-4 py-2 rounded-full">
227-
<div className="w-2 h-2 bg-green-400 rounded-full animate-pulse"></div>
228-
<span className="text-sm font-medium">Live Monitoring</span>
223+
<div className="inline-flex items-center gap-3 bg-white/10 backdrop-blur-md px-5 py-3 rounded-full border border-white/20 shadow-lg">
224+
<div className="relative flex items-center justify-center">
225+
<div className="absolute w-3 h-3 bg-green-400 rounded-full animate-ping"></div>
226+
<div className="relative w-3 h-3 bg-green-500 rounded-full animate-pulse"></div>
229227
</div>
230-
<div className="flex items-center gap-2 bg-white/20 backdrop-blur px-4 py-2 rounded-full">
231-
<svg className="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
232-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6" />
233-
</svg>
234-
<span className="text-sm font-medium">{stats.totalMessages.toLocaleString()} Messages</span>
235-
</div>
236-
<div className="flex items-center gap-2 bg-white/20 backdrop-blur px-4 py-2 rounded-full">
237-
<svg className="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
238-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z" />
239-
</svg>
240-
<span className="text-sm font-medium">{stats.uniquePeers} Active Peers</span>
228+
<span className="text-sm font-semibold text-white">Live Monitoring</span>
229+
<div className="flex gap-1">
230+
<div className="w-1 h-4 bg-green-400 rounded-full animate-pulse" style={{ animationDelay: '0ms' }}></div>
231+
<div className="w-1 h-4 bg-green-400 rounded-full animate-pulse" style={{ animationDelay: '150ms' }}></div>
232+
<div className="w-1 h-4 bg-green-400 rounded-full animate-pulse" style={{ animationDelay: '300ms' }}></div>
241233
</div>
242234
</div>
243235
</div>
244236

245-
{/* WebSocket Status */}
246-
<div className="lg:absolute lg:top-8 lg:right-8">
247-
<WebSocketStatusComponent status={wsStatus} onReconnect={reconnect} />
237+
{/* Right Side - Network Stats */}
238+
<div className="lg:flex-shrink-0 lg:w-96">
239+
<div className="bg-white/10 backdrop-blur-md rounded-3xl p-6 border border-white/20">
240+
<h3 className="text-lg font-semibold text-white/90 mb-4">Network Overview</h3>
241+
242+
{/* Stats Grid */}
243+
<div className="grid grid-cols-2 gap-4 mb-4">
244+
<div className="bg-white/10 rounded-xl p-4">
245+
<div className="text-3xl font-bold text-white">{stats.totalMessages.toLocaleString()}</div>
246+
<div className="text-sm text-white/70">Total Messages</div>
247+
</div>
248+
<div className="bg-white/10 rounded-xl p-4">
249+
<div className="text-3xl font-bold text-white">{stats.uniquePeers}</div>
250+
<div className="text-sm text-white/70">Active Peers</div>
251+
</div>
252+
</div>
253+
254+
{/* Network Activity Visualization */}
255+
<div className="bg-white/10 rounded-xl p-4">
256+
<div className="flex items-center justify-between mb-2">
257+
<span className="text-sm text-white/70">Network Activity</span>
258+
<span className="text-xs text-green-400">● Live</span>
259+
</div>
260+
<div className="flex items-end gap-1 h-12">
261+
{[40, 70, 55, 85, 60, 90, 45, 75, 65, 50, 80, 55].map((height, i) => (
262+
<div
263+
key={i}
264+
className="flex-1 bg-gradient-to-t from-[#FF2DAF] to-[#1B1EA9] rounded-t animate-pulse opacity-80"
265+
style={{
266+
height: `${height}%`,
267+
animationDelay: `${i * 100}ms`
268+
}}
269+
/>
270+
))}
271+
</div>
272+
</div>
273+
274+
{/* WebSocket Status */}
275+
<div className="mt-4 pt-4 border-t border-white/10">
276+
<WebSocketStatusComponent status={wsStatus} onReconnect={reconnect} />
277+
</div>
278+
</div>
248279
</div>
249280
</div>
250281
</div>
@@ -255,7 +286,7 @@ export const Dashboard: React.FC = () => {
255286
<div className="mb-8">
256287
<div className="bg-white/80 backdrop-blur-xl rounded-2xl shadow-xl border border-white/50 p-6 sm:p-8">
257288
<div className="flex items-center gap-3 mb-4">
258-
<div className="w-10 h-10 bg-gradient-to-br from-blue-500 to-indigo-600 rounded-xl flex items-center justify-center">
289+
<div className="w-10 h-10 bg-gradient-to-br from-[#1B1EA9] to-[#FF2DAF] rounded-xl flex items-center justify-center">
259290
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
260291
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9" />
261292
</svg>
@@ -274,7 +305,7 @@ export const Dashboard: React.FC = () => {
274305
{/* Secondary Filters */}
275306
<div className="bg-white/80 backdrop-blur-xl rounded-2xl shadow-xl border border-white/50 p-6 sm:p-8 mb-8">
276307
<div className="flex items-center gap-3 mb-6">
277-
<div className="w-10 h-10 bg-gradient-to-br from-purple-500 to-pink-600 rounded-xl flex items-center justify-center">
308+
<div className="w-10 h-10 bg-gradient-to-br from-[#FF2DAF] to-[#FF2DAF]/80 rounded-xl flex items-center justify-center">
278309
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
279310
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z" />
280311
</svg>
@@ -322,7 +353,7 @@ export const Dashboard: React.FC = () => {
322353
<div>
323354
<h2 className="text-2xl font-bold text-gray-900 mb-2">
324355
{selectedNetwork !== 'all' && (
325-
<span className="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-gradient-to-r from-blue-500 to-indigo-600 text-white mr-2">
356+
<span className="inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-gradient-to-r from-[#1B1EA9] to-[#FF2DAF] text-white mr-2">
326357
{selectedNetwork.toUpperCase()}
327358
</span>
328359
)}
@@ -341,9 +372,9 @@ export const Dashboard: React.FC = () => {
341372
</div>
342373

343374
{loading && (
344-
<div className="flex items-center gap-3 bg-blue-50 px-4 py-2 rounded-full">
345-
<div className="animate-spin rounded-full h-5 w-5 border-2 border-blue-600 border-t-transparent"></div>
346-
<span className="text-sm font-medium text-blue-700">Updating...</span>
375+
<div className="flex items-center gap-3 bg-[#1B1EA9]/10 px-4 py-2 rounded-full">
376+
<div className="animate-spin rounded-full h-5 w-5 border-2 border-[#1B1EA9] border-t-transparent"></div>
377+
<span className="text-sm font-medium text-[#1B1EA9]">Updating...</span>
347378
</div>
348379
)}
349380
</div>
@@ -360,7 +391,7 @@ export const Dashboard: React.FC = () => {
360391
</div>
361392
) : loading ? (
362393
<div className="bg-white/80 backdrop-blur-xl rounded-2xl shadow-xl border border-white/50 p-16 text-center">
363-
<div className="inline-flex items-center justify-center w-20 h-20 bg-gradient-to-br from-blue-500 to-indigo-600 rounded-full mb-6">
394+
<div className="inline-flex items-center justify-center w-20 h-20 bg-gradient-to-br from-[#1B1EA9] to-[#FF2DAF] rounded-full mb-6">
364395
<div className="animate-spin rounded-full h-12 w-12 border-4 border-white border-t-transparent"></div>
365396
</div>
366397
<p className="text-lg font-medium text-gray-700">Loading messages...</p>
@@ -386,7 +417,7 @@ export const Dashboard: React.FC = () => {
386417
setSelectedMessageType('all');
387418
setPeerFilter('');
388419
}}
389-
className="mt-6 px-6 py-3 bg-gradient-to-r from-blue-500 to-indigo-600 text-white rounded-xl font-medium hover:from-blue-600 hover:to-indigo-700 transition-all transform hover:scale-105"
420+
className="mt-6 px-6 py-3 bg-gradient-to-r from-[#1B1EA9] to-[#FF2DAF] text-white rounded-xl font-medium hover:from-[#1515A0] hover:to-[#FF1FA0] transition-all transform hover:scale-105"
390421
>
391422
Clear All Filters
392423
</button>

0 commit comments

Comments
 (0)