This page explains how to run and operate an MSB (Main Settlement Bus) node locally so you can:
fund accounts (peer MSB addresses + wallet MSB addresses)
deploy/check subnet registrations
inspect txs and debug settlement
It does not modify the MSB repo; it only documents how to use it.
0) Glossary (quick)
bootstrap: 32-byte hex id (64 hex chars) identifying the MSB Autobase.
channel: discovery topic (string) that MSB nodes must share to find each other.
store: local persisted data for one node (usually stores/<name>/...).
MSB address: bech32m address like trac1....
fee: MSB-level fee required to broadcast a transaction.
confirmed vs unconfirmed (MSB): confirmed = signed state, unconfirmed = local unsigned view.
1) Prereqs
Node.js + npm
Pear (MSB scripts typically use Pear)
Optional (if you run MSB tests):
2) Install MSB repo
From your workspace root:
3) Run MSB locally
3.1 Interactive CLI node (recommended)
This starts an interactive MSB node and stores data under main_settlement_bus/stores/node1/.
3.2 RPC node (optional)
4) Admin mode (if you need whitelisting/init)
MSB has extra admin-only commands (whitelisting, initialization migrations, banning). In the current MSB codebase, admin mode is inferred by store name:
5) MSB commands you’ll use most
Inside the MSB terminal, run /help for the full list. Common ones:
Network/state inspection
/stats
/confirmed_length
/unconfirmed_length
/get_fee
/get_txv
Account inspection
/get_balance <address> <confirmed> (confirmed defaults to true)
/node_status <address>
Funding (critical for trac-peer)
To make an address “exist” in MSB state and have fee balance:
You must fund:
each peer’s printed Peer MSB address (peer node operations)
each wallet user MSB address (the requester) that will sign contract txs