mirror of
https://github.com/logos-messaging/docs.waku.org.git
synced 2026-01-05 22:33:06 +00:00
1 line
9.3 KiB
JavaScript
1 line
9.3 KiB
JavaScript
|
|
"use strict";(self.webpackChunkwaku_guide=self.webpackChunkwaku_guide||[]).push([[2636],{28453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>c});var i=t(96540);const o={},s=i.createContext(o);function r(e){const n=i.useContext(s);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(s.Provider,{value:n},e.children)}},72898:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>r,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"learn/concepts/content-topics","title":"Content Topics","description":"Content Topics are metadata strings set by developers on outgoing messages to facilitate protocol-level features like selectively processing incoming messages (Relay or Filter) and retrieving historical messages (Store) that meet specific filtering criteria. Have a look at the WAKU2-TOPICS specification to learn more.","source":"@site/docs/learn/concepts/content-topics.md","sourceDirName":"learn/concepts","slug":"/learn/concepts/content-topics","permalink":"/learn/concepts/content-topics","draft":false,"unlisted":false,"editUrl":"https://github.com/waku-org/docs.waku.org/tree/develop/docs/learn/concepts/content-topics.md","tags":[],"version":"current","lastUpdatedAt":null,"frontMatter":{"title":"Content Topics","hide_table_of_contents":true},"sidebar":"learn","previous":{"title":"Protocols","permalink":"/learn/concepts/protocols"},"next":{"title":"Network Domains","permalink":"/learn/concepts/network-domains"}}');var o=t(74848),s=t(28453);const r={title:"Content Topics",hide_table_of_contents:!0},c=void 0,a={},l=[{value:"Naming format",id:"naming-format",level:2},{value:"Naming considerations",id:"naming-considerations",level:2},{value:"Protocols disclose content topics to peers",id:"protocols-disclose-content-topics-to-peers",level:3},{value:"Increasing k-anonymity preserves user anonymity",id:"increasing-k-anonymity-preserves-user-anonymity",level:3},{value:"Creating buckets help in distributing traffic",id:"creating-buckets-help-in-distributing-traffic",level:3}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"Content Topics"})," are metadata strings set by developers on outgoing messages to facilitate protocol-level features like selectively processing incoming messages (",(0,o.jsx)(n.a,{href:"/learn/concepts/protocols#relay",children:"Relay"})," or ",(0,o.jsx)(n.a,{href:"/learn/concepts/protocols#filter",children:"Filter"}),") and retrieving historical messages (",(0,o.jsx)(n.a,{href:"/learn/concepts/protocols#store",children:"Store"}),") that meet specific filtering criteria. Have a look at the ",(0,o.jsx)(n.a,{href:"https://rfc.vac.dev/waku/informational/23/topics#content-topics",children:"WAKU2-TOPICS"})," specification to learn more."]}),"\n",(0,o.jsx)(n.h2,{id:"naming-format",children:"Naming format"}),"\n",(0,o.jsx)(n.p,{children:"Here is the recommended format for content topics:"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.code,{children:"/{application-name}/{version}/{content-topic-name}/{encoding}"})}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"application-name"}),": This is the unique name of your decentralised application (DApp) to prevent conflicts with other DApps."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"version"}),": Typically starting at ",(0,o.jsx)(n.code,{children:"1"}),", this field helps track breaking changes in your messages."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"content-topic-name"}),": The specific name of the content topic used for filtering."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"encoding"}),": The message encoding or serialisation format, with ",(0,o.jsx)(n.a,{href:"https://protobuf.d
|