Skip to content

blurtd — Quick guide

blurtd is the Blurt node: the C++ daemon that runs the blockchain. It validates and produces blocks, holds the chain state, speaks the peer-to-peer protocol, and serves a JSON-RPC API. Everything else in the stack — nexus-go, the wallet indexer, the front-ends — is built on top of what blurtd exposes.

A node, not the network

The blockchain is the source of truth: a decentralized ledger replicated across every node on the network. blurtd is one node that validates and serves that ledger — not the network itself. Running your own blurtd gives you a local, trustless view of the same chain everyone else sees.

What Blurt is

Blurt is a public social blockchain using Larimer-style DPoS (Delegated Proof of Stake), from the Graphene/Steem lineage: C++, ~3-second blocks, and elected witnesses that produce and confirm blocks. A few things set Blurt apart:

  • No downvotes.
  • No stablecoin — the liquid token is BLURT; staked weight is held as VESTS.
  • Fees are controlled by witnesses, not hard-coded.
  • A regent account with a large but steadily decaying stake (to zero over two years) that can vote on witnesses and proposals without affecting supply, inflation, or the reward pool.

Balances, usernames, and public keys were imported from Steem at genesis; content, follows, and profiles were not.

What it serves

blurtd exposes a JSON-RPC API over HTTP and WebSocket — the raw consensus and chain interface the rest of the stack reads and writes through:

text
database_api        condenser_api        account_history_api
account_by_key_api  network_broadcast_api block_api
chain_api           rc_api               rewards_api
transaction_status_api  tags_api  follow_api

Reads return chain state (accounts, blocks, content, votes, delegations); broadcast methods submit signed transactions to the network. Writes always land here — posting, voting, and transfers are broadcast to blurtd, never to a derived service.

Where it sits

text
  blurtd  ──►  nexus-go / wallet-indexer  ──►  RPC proxy  ──►  front-ends
 (the node)   (index its blocks)              (fronts its API)  (read + broadcast)
  • nexus-go and the wallet indexer index blurtd's blocks into their own stores for fast social and wallet queries.
  • The RPC proxy fronts blurtd's API, routing consensus and broadcast calls to it and social reads to nexus-go.
  • Front-ends read through the proxy and broadcast through it to blurtd.

Run it

blurtd builds with CMake, alongside cli_wallet (the key-management and signing companion):

sh
mkdir build && cd build
cmake ..
make -j"$(nproc)" blurtd cli_wallet

A node is configured through a config.ini (which plugins/APIs to enable, the HTTP/WebSocket/P2P endpoints, and the state-store size) and syncs from the network's seed peers. A consensus node keeps recent state; a full node also keeps complete account history and needs much more storage.

For the current, authoritative build and operator guidance, follow the repository's own docs — see the Reference for the architecture and API model.

Next

  • Reference — consensus and chain model, node types, the JSON-RPC API surface, and how a node fits the stack.
  • Source: blurt/blurt (the dev branch is where work happens).

Released under the MIT License.