basharddocs
Open app
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.

text
          +------------- 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) --> explorer

Components

ComponentRoleState
ContractsTokens, stake, epochs, committees, track roots, fees, slashingOn chain
Core libraryReed-Solomon (20, 7), merkle commitments, placement, signed digests, ABIsShared code
Storage nodeShard store, certification, challenges, sync, repair, slash votes, keeper, GCFilesystem under DATA_DIR
IndexerReads contract events, serves REST and SSESQLite
Web appsLanding, app, explorerStatic

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.