Split website in 4:

- build
- run node
- learn
- research
This commit is contained in:
fryorcraken 2025-09-29 16:30:24 +10:00
parent 7b6b15aad5
commit cd64e332a7
No known key found for this signature in database
GPG Key ID: A82ED75A8DFC50A4
29 changed files with 211 additions and 122 deletions

View File

@ -1,7 +1,6 @@
---
title: Introduction to Waku
hide_table_of_contents: true
slug: /
---
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.

52
docs/landing.md Normal file
View File

@ -0,0 +1,52 @@
---
title: Introduction to Waku
hide_table_of_contents: true
slug: /
---
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.
<div class="cta-buttons">
<a href="/build/javascript/" class="button button--primary">Start Building</a>
<a href="/run-node/" class="button button--primary">Run a Node</a>
<a href="/learn/waku-network" class="button button--primary">Learn More</a>
<a href="/research" class="button button--primary">Explore Research</a>
</div>
<div class="video-container">
<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></iframe>
</div>
:::tip
Check out our [Learn section](/learn/waku-network), [YouTube channel](https://www.youtube.com/@wakuorg), and [Blog](https://blog.waku.org/) to dive into how Waku works behind the scenes!
:::
## What isnt Waku?
- Waku is not a blockchain but a network composed of protocols designed for Web3 communication, operating without the need for gas fees.
- Waku is not just for messaging applications; it supports the development of complex applications that require secure and private data transmission.
- Waku is not a long-term data storage network; it focuses on short, ephemeral, real-time messaging.
## What can Waku be used for?
1. **Chat Messengers**: Waku can be used to build private, decentralised chat apps resistant to censorship.
2. **Voting and Proposals**: Exchange votes on proposals off-chain via Waku to save gas fees, then submit aggregated results to the blockchain.
3. **NFT Marketplaces**: Use Waku to handle off-chain NFT bids and offers for gas savings, and to integrate social interactions like likes and comments.
4. **State Channels**: Establish and maintain state channels with Waku, facilitating seamless message exchanges and updates without blockchain interaction.
5. **Signature Exchange for Multi-Signature Wallets**: Allow multi-signature wallet owners to exchange signatures privately and securely through Waku.
6. **Game Mechanics Communication**: Implement Waku as a communication layer for decentralised, peer-to-peer gaming, avoiding centralised infrastructure.
7. **Layer 2 Coordination (Open Market, Spam Protected Mempool)**: Broadcast and aggregate Layer 2 transactions via Waku to enhance privacy and scalability, reducing network load.
8. **Social Media Platforms**: Beyond chat messengers, use Waku for decentralised, censorship-resistant social media platforms like news feeds and multimedia sharing.
:::tip
Looking for what to build with Waku? Discover a collection of sample ideas and use cases for inspiration, curated by our community at: [https://ideas.waku.org/](https://ideas.waku.org/) and [Awesome Waku](https://github.com/waku-org/awesome-waku/).
:::
## Case studies
<div class="case-study-container">
<a href="https://blog.waku.org/2024-05-13-the-graph-case-study/" target="_blank" rel="noopener noreferrer"><img src="/img/graph-use-case.jpeg" /></a>
<a href="https://blog.waku.org/2024-04-26-railgun-case-study/" target="_blank" rel="noopener noreferrer"><img src="/img/railgun-use-case.jpeg" /></a>
</div>

View File

@ -69,9 +69,15 @@ const config = {
},
{
position: "left",
label: "Guides",
to: "/",
activeBaseRegex: "^/$|^/guides/",
label: "Build",
to: "/build/javascript/",
activeBaseRegex: "^/build/",
},
{
position: "left",
label: "Run Node",
to: "/run-node/",
activeBaseRegex: "^/run-node/",
},
{
position: "left",
@ -101,19 +107,6 @@ const config = {
footer: {
copyright: "Waku",
links: [
{
title: "Guides",
items: [
{
to: "/guides/nwaku/run-docker-compose",
label: "Run a Nwaku Node",
},
{
to: "/guides/js-waku/",
label: "JavaScript Waku SDK",
},
],
},
{
title: "Community",
items: [
@ -158,10 +151,6 @@ const config = {
href: "https://rfc.vac.dev/waku",
label: "Waku RFCs",
},
{
href: "https://github.com/waku-org/bounties/",
label: "Bounties",
},
{
href: "https://github.com/waku-org/awesome-waku/",
label: "Awesome Waku",

View File

@ -4,7 +4,7 @@
"private": true,
"scripts": {
"docusaurus": "docusaurus",
"start": "docusaurus start",
"start": "docusaurus start --port 3001",
"build": "node fetch-content.js && docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",

View File

@ -2,54 +2,32 @@
/** @type {import("@docusaurus/plugin-content-docs").SidebarsConfig} */
const sidebars = {
guides: [
"guides/getting-started",
docs: [
{
type: "category",
label: "Run a Nwaku Node",
collapsed: true,
link: {
type: "doc",
id: "guides/nwaku/run-node",
},
items: [
"guides/nwaku/run-docker-compose",
"guides/nwaku/run-docker",
"guides/nwaku/build-source",
"guides/nwaku/configure-discovery",
"guides/nwaku/find-node-address",
"guides/nwaku/config-methods",
"guides/nwaku/config-options",
"guides/nwaku/configure-nwaku",
"guides/nwaku/faq",
"guides/nwaku/upgrade-instructions",
{
type: "html",
value:
'<a href="https://waku-org.github.io/waku-rest-api/" target="_blank" rel="noopener noreferrer" class="menu__link external-link">REST API Reference<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1918 4H3.42848V2.85715H13.1428V12.5714H11.9999V4.80813L3.83254 12.9755L3.02441 12.1674L11.1918 4Z" fill="white"/></svg>',
},
],
type: "link",
label: "Home",
href: "/",
},
{
type: "category",
label: "JavaScript Waku SDK",
collapsed: true,
label: "Build",
collapsed: false,
link: {
type: "doc",
id: "guides/js-waku/index",
id: "build/javascript/index",
},
items: [
"guides/js-waku/reliable-channels",
"guides/js-waku/light-send-receive",
"guides/js-waku/store-retrieve-messages",
"guides/js-waku/message-encryption",
"guides/js-waku/use-waku-react",
"guides/js-waku/use-waku-create-app",
"guides/js-waku/configure-discovery",
"guides/js-waku/run-waku-nodejs",
"guides/js-waku/debug-waku-dapp",
"guides/js-waku/manage-filter",
"guides/js-waku/faq",
"build/javascript/reliable-channels",
"build/javascript/light-send-receive",
"build/javascript/store-retrieve-messages",
"build/javascript/message-encryption",
"build/javascript/use-waku-react",
"build/javascript/use-waku-create-app",
"build/javascript/configure-discovery",
"build/javascript/run-waku-nodejs",
"build/javascript/debug-waku-dapp",
"build/javascript/manage-filter",
"build/javascript/faq",
{
type: "html",
value:
@ -62,76 +40,110 @@ const sidebars = {
},
],
},
{
type: "link",
label: "Learn About Waku",
href: "/learn/waku-network",
},
{
type: "link",
label: "Waku Research",
href: "/research",
},
{
type: "html",
value:
'<a href="https://discord.waku.org" target="_blank" rel="noopener noreferrer" class="menu__link external-link">Discord<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1918 4H3.42848V2.85715H13.1428V12.5714H11.9999V4.80813L3.83254 12.9755L3.02441 12.1674L11.1918 4Z" fill="white"/></svg>',
},
{
type: "html",
value:
'<a href="https://github.com/waku-org/awesome-waku/" target="_blank" rel="noopener noreferrer" class="menu__link external-link">Awesome Waku<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1918 4H3.42848V2.85715H13.1428V12.5714H11.9999V4.80813L3.83254 12.9755L3.02441 12.1674L11.1918 4Z" fill="white"/></svg>',
},
{
type: "html",
value:
'<a href="https://ideas.waku.org" target="_blank" rel="noopener noreferrer" class="menu__link external-link">Waku Idea Board<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1918 4H3.42848V2.85715H13.1428V12.5714H11.9999V4.80813L3.83254 12.9755L3.02441 12.1674L11.1918 4Z" fill="white"/></svg>',
},
{
type: "html",
value:
'<a href="https://github.com/waku-org/bounties/" target="_blank" rel="noopener noreferrer" class="menu__link external-link">Post-Hackathon Bounties<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1918 4H3.42848V2.85715H13.1428V12.5714H11.9999V4.80813L3.83254 12.9755L3.02441 12.1674L11.1918 4Z" fill="white"/></svg>',
},
],
learn: [
"learn/waku-network",
{
type: "category",
label: "Concepts",
label: "Run a Nwaku Node",
collapsed: false,
link: {
type: "doc",
id: "run-node/index",
},
items: [
"learn/concepts/protocols",
"learn/concepts/content-topics",
"learn/concepts/network-domains",
"learn/concepts/transports",
"run-node/run-docker-compose",
"run-node/run-docker",
"run-node/build-source",
"run-node/configure-discovery",
"run-node/find-node-address",
"run-node/config-methods",
"run-node/config-options",
"run-node/configure-nwaku",
"run-node/faq",
"run-node/upgrade-instructions",
{
type: "category",
label: "Peer Discovery",
link: {
type: "doc",
id: "learn/concepts/peer-discovery",
},
items: [
"learn/concepts/static-peers",
"learn/concepts/dns-discovery",
"learn/concepts/discv5",
"learn/concepts/peer-exchange",
],
type: "html",
value:
'<a href="https://waku-org.github.io/waku-rest-api/" target="_blank" rel="noopener noreferrer" class="menu__link external-link">REST API Reference<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1918 4H3.42848V2.85715H13.1428V12.5714H11.9999V4.80813L3.83254 12.9755L3.02441 12.1674L11.1918 4Z" fill="white"/></svg>',
},
],
},
"learn/security-features",
"learn/research",
"learn/waku-vs-libp2p",
"learn/glossary",
"learn/faq",
],
research: [
{
type: "autogenerated",
dirName: "research", // '.' means the current docs folder
type: "category",
label: "Learn",
collapsed: false,
items: [
"learn/waku-network",
{
type: "category",
label: "Concepts",
collapsed: false,
items: [
"learn/concepts/protocols",
"learn/concepts/content-topics",
"learn/concepts/network-domains",
"learn/concepts/transports",
{
type: "category",
label: "Peer Discovery",
link: {
type: "doc",
id: "learn/concepts/peer-discovery",
},
items: [
"learn/concepts/static-peers",
"learn/concepts/dns-discovery",
"learn/concepts/discv5",
"learn/concepts/peer-exchange",
],
},
],
},
"learn/security-features",
"learn/research",
"learn/waku-vs-libp2p",
"learn/glossary",
"learn/faq",
],
},
{
type: "category",
label: "Research",
collapsed: false,
items: [
{
type: "autogenerated",
dirName: "research",
},
],
},
{
type: "category",
label: "Resources",
collapsed: false,
items: [
"guides/getting-started",
{
type: "html",
value:
'<a href="https://discord.waku.org" target="_blank" rel="noopener noreferrer" class="menu__link external-link">Discord<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1918 4H3.42848V2.85715H13.1428V12.5714H11.9999V4.80813L3.83254 12.9755L3.02441 12.1674L11.1918 4Z" fill="white"/></svg>',
},
{
type: "html",
value:
'<a href="https://github.com/waku-org/awesome-waku/" target="_blank" rel="noopener noreferrer" class="menu__link external-link">Awesome Waku<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1918 4H3.42848V2.85715H13.1428V12.5714H11.9999V4.80813L3.83254 12.9755L3.02441 12.1674L11.1918 4Z" fill="white"/></svg>',
},
{
type: "html",
value:
'<a href="https://ideas.waku.org" target="_blank" rel="noopener noreferrer" class="menu__link external-link">Waku Idea Board<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1918 4H3.42848V2.85715H13.1428V12.5714H11.9999V4.80813L3.83254 12.9755L3.02441 12.1674L11.1918 4Z" fill="white"/></svg>',
},
{
type: "html",
value:
'<a href="https://github.com/waku-org/bounties/" target="_blank" rel="noopener noreferrer" class="menu__link external-link">Post-Hackathon Bounties<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1918 4H3.42848V2.85715H13.1428V12.5714H11.9999V4.80813L3.83254 12.9755L3.02441 12.1674L11.1918 4Z" fill="white"/></svg>',
},
],
},
],
};
module.exports = sidebars;
module.exports = sidebars;

View File

@ -78,3 +78,40 @@ html[data-theme="dark"] .header-github-link:before {
.theme-doc-toc-desktop {
display: none;
}
.cta-buttons {
display: flex;
gap: 0.75rem;
margin: 1.5rem 0;
flex-wrap: wrap;
justify-content: flex-start;
.button {
background-color: rgb(var(--lsd-text-primary));
color: rgb(var(--lsd-surface-primary));
border: 1px solid rgb(var(--lsd-text-primary));
padding: 0.5rem 1.25rem;
text-decoration: none;
border-radius: 4px;
font-weight: 500;
transition: all 0.2s ease;
display: inline-block;
&:hover {
background-color: rgb(var(--lsd-surface-primary));
color: rgb(var(--lsd-text-primary));
text-decoration: none;
}
}
}
html[data-theme="dark"] .cta-buttons .button {
background-color: rgb(var(--lsd-text-primary));
color: rgb(var(--lsd-surface-primary));
border-color: rgb(var(--lsd-text-primary));
&:hover {
background-color: rgb(var(--lsd-surface-primary));
color: rgb(var(--lsd-text-primary));
}
}