mirror of
https://github.com/logos-messaging/docs.waku.org.git
synced 2026-01-07 07:13:12 +00:00
1 line
12 KiB
JavaScript
1 line
12 KiB
JavaScript
"use strict";(self.webpackChunkwaku_guide=self.webpackChunkwaku_guide||[]).push([[6806],{28453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>o});var a=s(96540);const n={},r=a.createContext(n);function i(e){const t=a.useContext(r);return a.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),a.createElement(r.Provider,{value:t},e.children)}},78550:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>d});const a=JSON.parse('{"id":"guides/getting-started","title":"Introduction to Waku","description":"Waku is a family of robust, censorship-resistant, peer-to-peer communication protocols that enable privacy-focused messaging for Web3 applications, allowing you to integrate decentralised communication features into your dApp without compromising security or privacy.","source":"@site/docs/guides/getting-started.md","sourceDirName":"guides","slug":"/","permalink":"/","draft":false,"unlisted":false,"editUrl":"https://github.com/waku-org/docs.waku.org/tree/develop/docs/guides/getting-started.md","tags":[],"version":"current","lastUpdatedAt":null,"frontMatter":{"title":"Introduction to Waku","hide_table_of_contents":true,"slug":"/"},"sidebar":"guides","next":{"title":"Run a Nwaku Node","permalink":"/guides/nwaku/run-node"}}');var n=s(74848),r=s(28453);const i={title:"Introduction to Waku",hide_table_of_contents:!0,slug:"/"},o=void 0,c={},d=[{value:"What isn\u2019t Waku?",id:"what-isnt-waku",level:2},{value:"What can Waku be used for?",id:"what-can-waku-be-used-for",level:2},{value:"Case studies",id:"case-studies",level:2},{value:"Getting started",id:"getting-started",level:2},{value:"Run a Waku node",id:"run-a-waku-node",level:3},{value:"Integrate using SDKs",id:"integrate-using-sdks",level:3},{value:"Other integrations",id:"other-integrations",level:3}];function l(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",mermaid:"mermaid",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"Waku is a family of robust, censorship-resistant, peer-to-peer communication protocols that enable privacy-focused messaging for Web3 applications, allowing you to integrate decentralised communication features into your dApp without compromising security or privacy."}),"\n",(0,n.jsx)(t.mermaid,{value:"graph LR\n S1(Message Sender 1) --\x3e|Message 1| W(The Waku Network)\n S2(Message Sender 2) --\x3e|Message 2| W\n S3(Message Sender 3) --\x3e|Message 3| W\n W --\x3e|Message 1| R1(Message Receiver 1)\n W --\x3e|Message 2| R1\n W --\x3e|Message 3| R2(Message Receiver 2)"}),"\n",(0,n.jsx)("div",{class:"video-container",children:(0,n.jsx)("iframe",{class:"yt-video",src:"https://www.youtube.com/embed/nIWx5Vp_Qxk",title:"Waku Tutorial 001: Introduction to Waku",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:!0})}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["Check out our ",(0,n.jsx)(t.a,{href:"/learn/waku-network",children:"Learn section"}),", ",(0,n.jsx)(t.a,{href:"https://www.youtube.com/@wakuorg",children:"YouTube channel"}),", and ",(0,n.jsx)(t.a,{href:"https://blog.waku.org/",children:"Blog"})," to dive into how Waku works behind the scenes!"]})}),"\n",(0,n.jsx)(t.h2,{id:"what-isnt-waku",children:"What isn\u2019t Waku?"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Waku is not a blockchain but a network composed of protocols designed for Web3 communication, operating without the need for gas fees."}),"\n",(0,n.jsx)(t.li,{children:"Waku is not just for messaging applications; it supports the development of complex applications that require secure and private data transmission."}),"\n",(0,n.jsx)(t.li,{children:"Waku is not a long-term data storage network; it focuses on short, ephemeral, real-time messaging."}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"what-can-waku-be-used-for",children:"What can Waku be used for?"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Chat Messengers"}),": Waku can be used to build private, decentralised chat apps resistant to censorship."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Voting and Proposals"}),": Exchange votes on proposals off-chain via Waku to save gas fees, then submit aggregated results to the blockchain."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"NFT Marketplaces"}),": Use Waku to handle off-chain NFT bids and offers for gas savings, and to integrate social interactions like likes and comments."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"State Channels"}),": Establish and maintain state channels with Waku, facilitating seamless message exchanges and updates without blockchain interaction."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Signature Exchange for Multi-Signature Wallets"}),": Allow multi-signature wallet owners to exchange signatures privately and securely through Waku."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Game Mechanics Communication"}),": Implement Waku as a communication layer for decentralised, peer-to-peer gaming, avoiding centralised infrastructure."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Layer 2 Coordination (Open Market, Spam Protected Mempool)"}),": Broadcast and aggregate Layer 2 transactions via Waku to enhance privacy and scalability, reducing network load."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Social Media Platforms"}),": Beyond chat messengers, use Waku for decentralised, censorship-resistant social media platforms like news feeds and multimedia sharing."]}),"\n"]}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["Looking for what to build with Waku? Discover a collection of sample ideas and use cases for inspiration, curated by our community at: ",(0,n.jsx)(t.a,{href:"https://ideas.waku.org/",children:"https://ideas.waku.org/"})," and ",(0,n.jsx)(t.a,{href:"https://github.com/waku-org/awesome-waku/",children:"Awesome Waku"}),"."]})}),"\n",(0,n.jsx)(t.h2,{id:"case-studies",children:"Case studies"}),"\n",(0,n.jsxs)("div",{class:"case-study-container",children:[(0,n.jsx)("a",{href:"https://blog.waku.org/2024-05-13-the-graph-case-study/",target:"_blank",rel:"noopener noreferrer",children:(0,n.jsx)("img",{src:"/img/graph-use-case.jpeg"})}),(0,n.jsx)("a",{href:"https://blog.waku.org/2024-04-26-railgun-case-study/",target:"_blank",rel:"noopener noreferrer",children:(0,n.jsx)("img",{src:"/img/railgun-use-case.jpeg"})})]}),"\n",(0,n.jsx)(t.h2,{id:"getting-started",children:"Getting started"}),"\n",(0,n.jsxs)("div",{class:"video-container",children:[(0,n.jsx)("iframe",{class:"yt-video two-items",src:"https://www.youtube.com/embed/PYQaXCxUCwA",title:"Waku Tutorial 001: Introduction to Waku",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:!0}),(0,n.jsx)("iframe",{class:"yt-video two-items",src:"https://www.youtube.com/embed/sfmMcrbiX0c",title:"Build a game using Waku Protocol",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:!0})]}),"\n",(0,n.jsx)(t.h3,{id:"run-a-waku-node",children:"Run a Waku node"}),"\n",(0,n.jsxs)(t.p,{children:["Waku is a decentralised, permissionless system where anyone can run a node, use the network, and contribute to its support. We recommend following the ",(0,n.jsx)(t.a,{href:"/guides/nwaku/run-docker-compose",children:"Run Nwaku with Docker Compose"})," guide and ",(0,n.jsx)(t.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:s(96343).A+"",children:"Waku Node Operator Cheatsheet"})," to easily run a node."]}),"\n",(0,n.jsx)("div",{class:"video-container",children:(0,n.jsx)("iframe",{class:"yt-video",src:"https://www.youtube.com/embed/fs0ynLk4z0I",title:"How to run a Waku node using Nwaku Compose",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:!0})}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["If you encounter issues running your node or require assistance with anything, please visit the ",(0,n.jsx)(t.a,{href:"https://discord.com/channels/1110799176264056863/1216748184592711691",children:"#node-help channel"})," on our Discord."]})}),"\n",(0,n.jsx)(t.h3,{id:"integrate-using-sdks",children:"Integrate using SDKs"}),"\n",(0,n.jsx)(t.p,{children:"Waku is implemented in multiple SDKs, allowing it to integrate with different languages and address various use cases efficiently."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Documentation"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"https://github.com/waku-org/js-waku",children:"@waku/sdk"})}),(0,n.jsx)(t.td,{children:"JavaScript/TypeScript SDK designed for browser environments"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/guides/js-waku/",children:"JavaScript Waku SDK"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"https://www.npmjs.com/package/@waku/react",children:"@waku/react"})}),(0,n.jsxs)(t.td,{children:["React components and UI adapters designed for seamless integration with ",(0,n.jsx)(t.code,{children:"@waku/sdk"})]}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/guides/js-waku/use-waku-react",children:"Build React DApps Using @waku/react"})})]})]})]}),"\n",(0,n.jsx)(t.h3,{id:"other-integrations",children:"Other integrations"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Documentation"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"https://waku-org.github.io/waku-rest-api/",children:"REST API"})}),(0,n.jsxs)(t.td,{children:["REST API interface provided by ",(0,n.jsx)(t.code,{children:"nwaku"})," and ",(0,n.jsx)(t.code,{children:"go-waku"})," to interact with the Waku Network"]}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"https://waku-org.github.io/waku-rest-api/",children:"Waku Node REST API Reference"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"https://www.npmjs.com/package/@waku/create-app",children:"@waku/create-app"})}),(0,n.jsxs)(t.td,{children:["Starter kit to bootstrap your next ",(0,n.jsx)(t.code,{children:"@waku/sdk"})," project from various example templates"]}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/guides/js-waku/use-waku-create-app",children:"Scaffold DApps Using @waku/create-app"})})]})]})]}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["Explore some example apps built using Waku at ",(0,n.jsx)(t.a,{href:"https://examples.waku.org/",children:"https://examples.waku.org/"})," and view a list of projects and workshops from previous hackathons at ",(0,n.jsx)(t.a,{href:"https://github.com/waku-org/awesome-waku/",children:"Awesome Waku"}),"."]})})]})}function u(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},96343:(e,t,s)=>{s.d(t,{A:()=>a});const a=s.p+"assets/files/Waku-NodeOperator-7fabb782473f2619b0b05dc209f12f53.pdf"}}]); |