Protocol
Architecture
Control plane, data plane, indexer and web apps, and how they connect.
Bashard separates a small on-chain control plane from an off-chain data plane. The chain decides who stores what and who gets paid; nodes move the bytes.
+------------- BNB Smart Chain --------------+
| BashardToken (BSHD) Staking Bashard core |
+-----^---------------^--------------^-------+
register/certify| events | slash / advance epoch
| | |
App / SDK --shards--> storage nodes <--challenges--> storage nodes
| | health
+---- reads <-- indexer API (REST + SSE) --> explorerComponents
| Component | Role | State |
|---|---|---|
| Contracts | Tokens, stake, epochs, committees, track roots, fees, slashing | On chain |
| Core library | Reed-Solomon (20, 7), merkle commitments, placement, signed digests, ABIs | Shared code |
| Storage node | Shard store, certification, challenges, sync, repair, slash votes, keeper, GC | Filesystem under DATA_DIR |
| Indexer | Reads contract events, serves REST and SSE | SQLite |
| Web apps | Landing, app, explorer | Static |
Hosting modes
Network mode is the mainnet configuration. It serves the web apps and indexer against BNB Smart Chain. Storage nodes are run separately by operators. Persistent data, for both the indexer database and node shard directories, requires separate durable hosting with backups; local files on an application host should not be assumed to survive a redeploy.
Finality
On public networks, nodes and the indexer default to reading only finalized blocks, so reorgs do not produce phantom tracks or committees.