Statement Store¶
Introduction¶
The Statement Store method group lets a Product publish and subscribe to signed, gossip-distributed statements on the People Chain. The Statement Store itself, including the pallet, gossip layer, lifecycle, and validation rules, is a network-layer pub/sub primitive. It is short-lived, allowance-gated, and propagated peer-to-peer. This TrUAPI group is how a Product reaches it through the Host.
The Product SDK wraps this surface as StatementStoreClient from @parity/product-sdk-statement-store. For the conceptual model of what statements are good for (versus the Bulletin Chain or local storage), see Storage options for your Product.
Conceptual Contract¶
The group exposes the standard pub/sub surface with the Host filling in the parts a Product cannot do safely on its own:
- Publishing a statement: The Product hands the Host a payload (under the per-statement 512-byte limit), a topic, a channel, a time to live (TTL), and any options. The Host requests an authentication proof from the paired App, attaches the per-Product account context and primary topic (
blake2b(appName)), and submits to the People Chain node'sstatement_submitJSON-RPC. - Subscribing to a topic filter: The Product registers a callback for statements matching its primary topic plus any secondary
topic2. The Host opens the underlyingstatement_subscribeStatementJSON-RPC, decodes payloads, and deduplicates by content hash before invoking the callback. - Channel-based last-write-wins: When a statement carries a
channel, the pallet replaces older statements from the same account on the same channel. The SDK abstracts this asChannelStore<T>on top of the underlying method group.
Delivery is best-effort gossip, with no retry, acknowledgment, or ordering guarantee. Reliability is composed at the application layer. For example, if a recipient needs to confirm receipt, they publish an acknowledgment statement back.
For the Desktop-side mediation perspective, see Statement Store via Host API.
Provisional
Detailed error taxonomy, allowance-management primitives, and any direct topic-walking API remain provisional.
Where to Go Next¶
-
Guide Exchange Ephemeral Messages
The Product-side how-to: setting up the client, subscribing, publishing typed statements, and using channels.
-
Learn Statement Store via Host API
What Polkadot Desktop adds when mediating Statement Store traffic, including proof routing, account context, and per-Product topic scoping.
| Created: June 16, 2026