"use strict";(self.webpackChunkwaku_guide=self.webpackChunkwaku_guide||[]).push([[1201],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>h});vara=r(67294);functionn(e,t,r){returntine?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}functiono(e,t){varr=Object.keys(e);if(Object.getOwnPropertySymbols){vara=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){returnObject.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}returnr}functioni(e){for(vart=1;t<arguments.length;t++){varr=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}returne}functions(e,t){if(null==e)return{};varr,a,n=function(e,t){if(null==e)return{};varr,a,n={},o=Object.keys(e);for(a=0;a<o.length;a++)r=o[a],t.indexOf(r)>=0||(n[r]=e[r]);returnn}(e,t);if(Object.getOwnPropertySymbols){varo=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)r=o[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}returnn}varu=a.createContext({}),l=function(e){vart=a.useContext(u),r=t;returne&&(r="function"==typeofe?e(t):i(i({},t),e)),r},c=function(e){vart=l(e.components);returna.createElement(u.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){vart=e.children;returna.createElement(a.Fragment,{},t)}},k=a.forwardRef((function(e,t){varr=e.components,n=e.mdxType,o=e.originalType,u=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=l(r),k=n,h=p["".concat(u,".").concat(k)]||p[k]||d[k]||o;returnr?a.createElement(h,i(i({ref:t},c),{},{components:r})):a.createElement(h,i({ref:t},c))}));functionh(e,t){varr=arguments,n=t&&t.mdxType;if("string"==typeofe||n){varo=r.length,i=newArray(o);i[0]=k;vars={};for(varuint)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[p]="string"==typeofe?e:n,i[1]=s;for(varl=2;l<o;l++)i[l]=r[l];returna.createElement.apply(null,i)}returna.createElement.apply(null,r)}k.displayName="MDXCreateElement"},34765:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>l});vara=r(87462),n=(r(67294),r(3905));consto={title:"The Waku Network",hide_table_of_contents:!0},i=void0,s={unversionedId:"learn/waku-network",id:"learn/waku-network",title:"The Waku Network",description:"The Waku Network is a shared p2p messaging network that is open-access, useful for generalized messaging, privacy-preserving, scalable and accessible even to resource-restricted devices. Some of the most prominent features include:",source:"@site/docs/learn/waku-network.md",sourceDirName:"learn",slug:"/learn/waku-network",permalink:"/learn/waku-network",draft:!1,editUrl:"https://github.com/waku-org/docs.waku.org/tree/develop/docs/learn/waku-network.md",tags:[],version:"current",lastUpdatedAt:1722006776,formattedLastUpdatedAt:"26 Jul 2024",frontMatter:{title:"The Waku Network",hide_table_of_contents:!0},sidebar:"learn",next:{title:"Protocols",permalink:"/learn/concepts/protocols"}},u={},l=[{value:"Why join the Waku network?",id:"why-join-the-waku-network",level:2},{value:"Prerequisites",id:"prerequisites",level:2},{value:"Running a Waku network node",id:"running-a-waku-network-node",level:2}],c={toc:l},p="wrapper";functiond(e){let{components:t,...r}=e;return(0,n.kt)(p,(0,a.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"The Waku Network is a shared p2p messaging network that is open-access, useful for generalized messaging, privacy-preserving, scalable and accessible even to resource-restricted devices. Some of the most prominent features include:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"DoS/spam protection with privacy-preserving Rate-Limiting Nullifiers."),(0,n.kt)("li",{parentName:"ol"},"Scalability by sharding traffic into 8 pubsub topics."),(0,n.kt)("li",{parentName:"ol"},"Automaticshardselection