2022-01-27 00:19:14 +00:00

856 lines
17 KiB
HTML

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Use Cases # Waku is a generalized communication network. It can enable numerous use cases, both person-to-person (e.g. messenger) and machine-to-machine (e.g. state channels).
This is a non-exhaustive list of use cases that we have considered and their current status.
If we are aware of other projects using js-waku and other use cases that could be implemented, feel free to open a PR.
Legend:
Live: We are aware of projects who have implemented this use case.">
<meta name="theme-color" content="#FFFFFF">
<meta name="color-scheme" content="light dark"><meta property="og:title" content="Use Cases" />
<meta property="og:description" content="Use Cases # Waku is a generalized communication network. It can enable numerous use cases, both person-to-person (e.g. messenger) and machine-to-machine (e.g. state channels).
This is a non-exhaustive list of use cases that we have considered and their current status.
If we are aware of other projects using js-waku and other use cases that could be implemented, feel free to open a PR.
Legend:
Live: We are aware of projects who have implemented this use case." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://docs.wakuconnect.dev/docs/use_cases/" /><meta property="article:section" content="docs" />
<meta property="article:published_time" content="2022-01-05T00:00:00+00:00" />
<meta property="article:modified_time" content="2022-01-27T11:18:41+11:00" />
<title>Use Cases | Waku Connect Docs</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" type="image/x-icon">
<link rel="stylesheet" href="/book.min.89a77f7e702a8626749b948bbfb01109823daf6c1246ca407d1378833494c402.css" integrity="sha256-iad/fnAqhiZ0m5SLv7ARCYI9r2wSRspAfRN4gzSUxAI=" crossorigin="anonymous">
<script defer src="/flexsearch.min.js"></script>
<script defer src="/en.search.min.342db369b6a06ae4be84eda73ad08c0914f079f996313e0a0c1f709574dff631.js" integrity="sha256-NC2zabagauS&#43;hO2nOtCMCRTwefmWMT4KDB9wlXTf9jE=" crossorigin="anonymous"></script>
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
</head>
<body dir="ltr">
<input type="checkbox" class="hidden toggle" id="menu-control" />
<input type="checkbox" class="hidden toggle" id="toc-control" />
<main class="container flex">
<aside class="book-menu">
<div class="book-menu-content">
<nav>
<h2 class="book-brand">
<a class="flex align-center" href="/"><span>Waku Connect Docs</span>
</a>
</h2>
<div class="book-search">
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
<ul class="book-languages">
<li>
<input type="checkbox" id="languages" class="toggle" />
<label for="languages" class="flex justify-between">
<a role="button" class="flex align-center">
<img src="/svg/translate.svg" class="book-icon" alt="Languages" />
English
</a>
</label>
<ul>
<li>
<a href="https://docs.wakuconnect.dev/es/">
Español
</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/pt/">
Português
</a>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<a href="https://docs.wakuconnect.dev/docs/introduction/" class="">Introduction</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/quick_start/" class="">Quick Start</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/use_cases/" class=" active">Use Cases</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/presentations/" class="">Presentations &amp; Videos</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/guides/" class="">Guides</a>
<ul>
<li>
<a href="https://docs.wakuconnect.dev/docs/guides/01_choose_content_topic/" class="">How to Choose a Content Topic</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/guides/02_relay_receive_send_messages/" class="">Receive and Send Messages Using Waku Relay</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/guides/03_store_retrieve_messages/" class="">Retrieve Messages Using Waku Store</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/guides/04_encrypt_messages_version_1/" class="">Encrypt Messages Using Waku Message Version 1</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/guides/05_sign_messages_version_1/" class="">Sign Messages Using Waku Message Version 1</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/guides/06_light_push_send_messages/" class="">Send Messages Using Waku Light Push</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/guides/07_reactjs_relay/" class="">Receive and Send Messages Using Waku Relay With ReactJS</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/guides/08_reactjs_store/" class="">Retrieve Messages Using Waku Store With ReactJS</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/guides/vote_poll_sdk/" class="">Vote Poll Sdk</a>
<ul>
<li>
<a href="https://docs.wakuconnect.dev/docs/guides/vote_poll_sdk/poll_sdk/" class="">Poll SDK</a>
<ul>
<li>
<a href="https://docs.wakuconnect.dev/docs/guides/vote_poll_sdk/poll_sdk/01_create_dapp/" class="">Create the DApp and Install Dependencies</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/guides/vote_poll_sdk/poll_sdk/02_connect_wallet/" class="">Connect to the Ethereum Wallet</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/guides/vote_poll_sdk/poll_sdk/03_create-a-poll_button/" class="">Create-A-Poll Button</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/guides/vote_poll_sdk/poll_sdk/04_poll_creation/" class="">Poll Creation Component</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/guides/vote_poll_sdk/poll_sdk/05_poll_list/" class="">Poll List Component</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/examples/" class="">Examples</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/crypto_libraries/" class="">Cryptographic Libraries</a>
</li>
<li>
<a href="https://docs.wakuconnect.dev/docs/waku_protocols/" class="">Implemented Waku Protocols</a>
</li>
</ul>
<ul>
<li>
<a href="https://js-waku.wakuconnect.dev/" target="_blank" rel="noopener">
JS-Waku API Doc
</a>
</li>
<li>
<a href="https://vac.dev/" target="_blank" rel="noopener">
Vac Team
</a>
</li>
<li>
<a href="https://rfc.vac.dev/" target="_blank" rel="noopener">
Vac RFCs
</a>
</li>
<li>
<a href="https://status.im/" target="_blank" rel="noopener">
Status.im
</a>
</li>
</ul>
</nav>
<script>(function(){var a=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(b){localStorage.setItem("menu.scrollTop",a.scrollTop)}),a.scrollTop=localStorage.getItem("menu.scrollTop")})()</script>
</div>
</aside>
<div class="book-page">
<header class="book-header">
<div class="flex align-center justify-between">
<label for="menu-control">
<img src="/svg/menu.svg" class="book-icon" alt="Menu" />
</label>
<strong>Use Cases</strong>
<label for="toc-control">
<img src="/svg/toc.svg" class="book-icon" alt="Table of Contents" />
</label>
</div>
<aside class="hidden clearfix">
<nav id="TableOfContents">
<ul>
<li><a href="#use-cases">Use Cases</a></li>
</ul>
</nav>
</aside>
</header>
<article class="markdown"><h1 id="use-cases">
Use Cases
<a class="anchor" href="#use-cases">#</a>
</h1>
<p>Waku is a generalized communication network.
It can enable numerous use cases, both person-to-person (e.g. messenger) and machine-to-machine (e.g. state channels).</p>
<p>This is a non-exhaustive list of use cases that we have considered and their current status.</p>
<p>If we are aware of other projects using js-waku and other use cases that could be implemented,
feel free to open a <a href="https://github.com/vacp2p/docs.wakuconnect.dev">PR</a>.</p>
<p>Legend:</p>
<ul>
<li><em>Live</em>: We are aware of projects who have implemented this use case.</li>
<li><em>SDK Available</em>: An SDK is available to easily implement this use case.</li>
<li><em>Work In Progress</em>: We are aware of projects working to implement this use case.</li>
<li><em>Proof of Concept</em>: A Proof of concept was created, sometimes as part of a hackathon.</li>
<li><em>Idea</em>: This is an unexplored use case, more research and work may be needed.</li>
</ul>
<hr>
<div class="book-columns flex flex-wrap">
<div class="flex-even markdown-inner">
<h2 id="chat-messenger">
Chat Messenger
<a class="anchor" href="#chat-messenger">#</a>
</h2>
<table>
<thead>
<tr>
<th><em>Work In Progress</em></th>
</tr>
</thead>
</table>
<p>Waku can be used as the communication layer to a private, decentralized, censorship-resistant messenger.</p>
<ul>
<li>Waku Connect Chat SDK: <a href="https://github.com/status-im/wakuconnect-chat-sdk">repo</a></li>
</ul>
</div>
<div class="flex-even markdown-inner">
<h2 id="polls">
Polls
<a class="anchor" href="#polls">#</a>
</h2>
<table>
<thead>
<tr>
<th><em>SDK Available</em></th>
</tr>
</thead>
</table>
<p>Create, answer and view polls which are censorship-resistant.</p>
<ul>
<li>Waku Connect Poll SDK:
<a href="/docs/guides/vote_poll_sdk/#wakuconnect-poll-sdk">docs</a>,
<a href="https://github.com/status-im/wakuconnect-vote-poll-sdk">repo</a></li>
</ul>
</div>
<div class="flex-even markdown-inner">
<h2 id="nft-marketplace">
NFT Marketplace
<a class="anchor" href="#nft-marketplace">#</a>
</h2>
<table>
<thead>
<tr>
<th><em>Live</em></th>
</tr>
</thead>
</table>
<p>Use Waku to take NFT bids and offers off-chain and save gas.
Add a social media layer, allowing NFT owners to like, comments, etc.</p>
<ul>
<li><a href="https://smolpuddle.io/">https://smolpuddle.io/</a> <a href="https://github.com/Agusx1211/smolpuddle-web">repo</a></li>
</ul>
</div>
</div>
<hr>
<div class="book-columns flex flex-wrap">
<div class="flex-even markdown-inner">
<h2 id="state-channels">
State Channels
<a class="anchor" href="#state-channels">#</a>
</h2>
<table>
<thead>
<tr>
<th><em>Idea</em></th>
</tr>
</thead>
</table>
<p>Use Waku to enable two parties to setup and maintain a state channel.</p>
<ul>
<li>Discussion: <a href="https://statechannels.discourse.group/t/using-waku-as-communication-layer/172/3">statechannels.org Discourse</a></li>
</ul>
</div>
<div class="flex-even markdown-inner">
<h2 id="voting-and-proposals">
Voting and Proposals
<a class="anchor" href="#voting-and-proposals">#</a>
</h2>
<table>
<thead>
<tr>
<th><em>SDK Available</em></th>
</tr>
</thead>
</table>
<p>For proposals submitted on the blockchain,
exchange votes over Waku to save gas.
Votes can then be aggregated and submitted to the blockchain to commit the result.</p>
<p>Create, answer and view polls which are censorship-resistant.</p>
<ul>
<li>Waku Connect Vote SDK:
<a href="/docs/guides/vote_poll_sdk/#wakuconnect-vote-sdk">docs</a>,
<a href="https://github.com/status-im/wakuconnect-vote-poll-sdk">repo</a></li>
</ul>
</div>
<div class="flex-even markdown-inner">
<h2 id="signature-exchange-for-multi-sig-wallets">
Signature Exchange for Multi-Sig Wallets
<a class="anchor" href="#signature-exchange-for-multi-sig-wallets">#</a>
</h2>
<table>
<thead>
<tr>
<th><em>Idea</em></th>
</tr>
</thead>
</table>
<p>Use Waku to enable several owners of a given multi-sig wallets to exchange signatures in a decentralized,
private &amp; censorship-resistant manner to approve transactions.
</div>
</div>
<hr>
<div class="book-columns flex flex-wrap">
<div class="flex-even markdown-inner">
<h2 id="gameplay-communication">
Gameplay Communication
<a class="anchor" href="#gameplay-communication">#</a>
</h2>
<table>
<thead>
<tr>
<th><em>Proof of Concept</em></th>
</tr>
</thead>
</table>
<p>Use Waku as the communication layer for a peer-to-peer, decentralize game.
Remove the need of a centralized infrastructure for gameplay communications.</p>
<ul>
<li><a href="https://github.com/fjij/ethonline-2021">Super Card Game</a></li>
</ul>
</div>
<div class="flex-even markdown-inner">
<h2 id="dapp-to-wallet-communication">
dApp to Wallet Communication
<a class="anchor" href="#dapp-to-wallet-communication">#</a>
</h2>
<table>
<thead>
<tr>
<th><em>Live</em></th>
</tr>
</thead>
</table>
<p>Communication between a user&rsquo;s wallet and a dApp can be used by dApp operators to notify users
(e.g. governance token holders get notified to vote on a proposal),
or for a dApp to request transaction signature to the wallet.</p>
<ul>
<li><a href="https://walletconnect.com/">WalletConnect 2.0</a></li>
<li><a href="https://www.hashpack.app/hashconnect">HashPack</a></li>
</ul>
</div>
<div class="flex-even markdown-inner">
<h2 id="layer-2-communication">
Layer 2 Communication
<a class="anchor" href="#layer-2-communication">#</a>
</h2>
<table>
<thead>
<tr>
<th><em>Idea</em></th>
</tr>
</thead>
</table>
<p>Use Waku as an existing communication network to broadcast and aggregate layer 2 transactions.
Possibly increasing privacy, anonymity and resilience.
</div>
</div>
<hr>
<div class="book-columns flex flex-wrap">
<div class="flex-even markdown-inner">
<h2 id="generalized-marketplace">
Generalized Marketplace
<a class="anchor" href="#generalized-marketplace">#</a>
</h2>
<table>
<thead>
<tr>
<th><em>Proof of Concept</em></th>
</tr>
</thead>
</table>
<p>Use Waku to enable users to offer, bid, accept and trade goods and services
to create a ride-sharing or tradings apps.</p>
<ul>
<li>Waku-Uber:
<a href="https://hackernoon.com/decentralized-uber-heres-how-i-built-it-with-statusim-waku-and-vuejs">article</a>,
<a href="https://github.com/TheBojda/waku-uber">repo</a></li>
</ul>
</div>
<div class="flex-even markdown-inner">
<h2 id="social-media-platform">
Social Media Platform
<a class="anchor" href="#social-media-platform">#</a>
</h2>
<table>
<thead>
<tr>
<th><em>Idea</em></th>
</tr>
</thead>
</table>
<p><a href="#chat-messenger">Chat Messenger</a> is one form of social media that can be empowered by Waku to be decentralized
and censorship-resistant.
Other form of social media: news feed, blogposts, audio or video sharing, can also benefit of Waku.
</div>
</div>
</article>
<footer class="book-footer">
<div class="flex flex-wrap justify-between">
<div><a class="flex align-center" href="https://github.com/vacp2p/docs.wakuconnect.dev/commit/02d5ab77d041a7324a534578b8604b82cc61deec" title='Last modified by Franck R | Jan 27, 2022' target="_blank" rel="noopener">
<img src="/svg/calendar.svg" class="book-icon" alt="Calendar" />
<span>Jan 27, 2022</span>
</a>
</div>
<div>
<a class="flex align-center" href="https://github.com/vacp2p/docs.wakuconnect.dev/edit/develop/content/docs/use_cases.md" target="_blank" rel="noopener">
<img src="/svg/edit.svg" class="book-icon" alt="Edit" />
<span>Edit this page</span>
</a>
</div>
</div>
<script>(function(){function a(c){const a=window.getSelection(),b=document.createRange();b.selectNodeContents(c),a.removeAllRanges(),a.addRange(b)}document.querySelectorAll("pre code").forEach(b=>{b.addEventListener("click",function(c){a(b.parentElement),navigator.clipboard&&navigator.clipboard.writeText(b.parentElement.textContent)})})})()</script>
</footer>
<div class="book-comments">
</div>
<label for="menu-control" class="hidden book-menu-overlay"></label>
</div>
<aside class="book-toc">
<div class="book-toc-content">
<nav id="TableOfContents">
<ul>
<li><a href="#use-cases">Use Cases</a></li>
</ul>
</nav>
</div>
</aside>
</main>
</body>
</html>