SB Core
API Servers
Node types, API interfaces, and transaction flow
Node Types
| Node Type | Role |
|---|---|
| Witness node | Produces blocks, signs blocks, participates in consensus |
| Full node (API node) | Maintains full state, serves API queries, does not produce blocks |
| Seed node | Maintains peer connections, assists network discovery |
API Interfaces
Nodes expose two data interfaces. The WebSocket API provides real-time streaming of blocks, transactions, and order book updates, and is used for submitting transactions. The HTTP API handles stateless REST queries for account state, order books, asset info, and history.
API Modules
| Module | Description |
|---|---|
| database_api | Query chain state: accounts, assets, orders, global properties |
| history_api | Account operation history, fill history, market history |
| network_broadcast_api | Submit signed transactions to the network |
| network_node_api | Peer connection management (admin) |
| asset_api | Asset holder lists and asset-specific queries |
| orders_api | Grouped order book queries |
Transaction Flow
- Client constructs and signs a transaction locally
- Signed transaction is submitted to any API node via WebSocket or HTTP
- The node validates and broadcasts the transaction to connected peers
- A witness includes the transaction in the next block
- On block confirmation the state change is finalised and visible to all nodes