Skip to content

Sentriscloud/sentrix-explorer-v2

Repository files navigation

Sentrix Explorer V2 — Obsidian Engine

CI License Latest release

Full-Rust block explorer for Sentrix Chain. Browser-side WASM bundle talks to the chain over gRPC-Web (grpc.sentrixchain.com (mainnet) / grpc-testnet.sentrixchain.com (testnet)); zero JSON-RPC, zero JavaScript glue.

Live:

Two explorers coexist by design. This is the WASM V2 Obsidian — full-Rust + tonic-web, near-native parse cost, signal-driven UI. For the Next.js V1 alternative — feature-rich (validator pages, leaderboard, EIP-3091 deeplinks, contract verification panel, multi-locale i18n) — see Sentriscloud/frontend/apps/scan at scan.sentrixchain.com / scan-testnet.sentrixchain.com. Pick whichever fits the workflow; neither replaces the other.

The gRPC-Web wrapper used here has been extracted into a standalone crate — see Sentriscloud/sentrix-grpc-wasm — so other browser dApps (Yew, plain wasm-bindgen) can reuse it without re-implementing the tonic-web-wasm-client glue.

Architecture

sentrix-proto crate        single source of truth (crates.io, default-features = false to drop tonic-transport for wasm)
   │
   ▼  re-exported as `pb` in src/grpc/mod.rs
src/grpc/pb                prost types + tonic client stubs (now from sentrix-proto, no local codegen)
   │
   ▼
src/grpc/client.rs         SentrixGrpcClient — wraps tonic-web-wasm-client transport
   │
   ▼
src/components/live_feed   signal-driven LiveBlockFeed (stream → poll fallback)
   │
   ▼
src/screens/dashboard      route view

Why this beats Etherscan-class explorers

Surface React/Next stack Obsidian Engine
Wire format JSON-RPC (text, verbose) gRPC-Web (binary, ~3-5× smaller)
Render path Virtual DOM diff Fine-grained signals
Parse cost JS interpreter WASM near-native
Type safety Runtime Compile-time (proto ↔ struct)

If the chain proto changes, this crate fails to compile — the UI literally cannot drift from the wire contract.

Build & run

One-time

cargo install cargo-leptos --locked
rustup target add wasm32-unknown-unknown

Dev

cargo leptos watch       # SSR on :3000, HMR on :3001

Release

cargo leptos build --release
# binary:  target/release/sentrix-explorer-v2
# assets:  target/site/

Production URLs

Deploy artifacts (Caddyfile, systemd unit, deploy.sh) live in deploy/.

Streaming status

Chain gRPC v0.2 (active 2026-05-04) ships only GetBlock + GetBalance. StreamEvents returns Status::unimplemented; LiveBlockFeed falls back to a 2 s GetBlock(latest) poll. The streaming arm activates automatically when chain v0.3 ships — no client change needed.

About

Obsidian Engine — Rust + WASM block explorer for Sentrix Chain

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors