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.

Architecture

proto/sentrix.proto       single source of truth (mirrored from sentrix/crates/sentrix-grpc)
   │
   ▼  build.rs / tonic-build
src/grpc/pb               prost types + tonic client stubs
   │
   ▼
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

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors