diff --git a/.cspell.json b/.cspell.json
index adac157..e47111b 100644
--- a/.cspell.json
+++ b/.cspell.json
@@ -50,6 +50,9 @@
"reactjs",
"XMTP",
"permissioned",
+ "Václav",
+ "Pavlín",
+ "Revuelta",
],
"flagWords": [],
"ignorePaths": [
diff --git a/docs/guides/js-waku/index.md b/docs/guides/js-waku/index.md
index 6a2e06d..a43bfd2 100644
--- a/docs/guides/js-waku/index.md
+++ b/docs/guides/js-waku/index.md
@@ -2,11 +2,11 @@
title: JavaScript Waku SDK
---
-The [JavaScript Waku SDK](https://github.com/waku-org/js-waku) (`js-waku`) provides a TypeScript implementation of the [Waku protocol](/) designed for web browser environments. Developers can seamlessly integrate Waku functionalities into web applications, enabling efficient communication and collaboration among users using the `js-waku` SDK.
+The [JavaScript Waku SDK](https://github.com/waku-org/js-waku) (`@waku/sdk`) provides a TypeScript implementation of the [Waku protocol](/) designed for web browser environments. Developers can seamlessly integrate Waku functionalities into web applications, enabling efficient communication and collaboration among users using the `@waku/sdk` package.
## Installation
-Install the `js-waku` SDK using your preferred package manager:
+Install the `@waku/sdk` package using your preferred package manager:
```mdx-code-block
import Tabs from '@theme/Tabs';
@@ -30,26 +30,64 @@ yarn add @waku/sdk
-You can also use the `js-waku` SDK via a CDN without installing it on your system:
+You can also use the `@waku/sdk` package via a CDN without installing it on your system:
```js
import * as waku from "https://unpkg.com/@waku/sdk@latest/bundle/index.js";
```
+## Message Structure
+
+We recommend creating a message structure for your application using [Protocol Buffers](https://protobuf.dev/) for the following reasons:
+
+1. **Consistency:** Ensures uniform message format for easy parsing and processing.
+2. **Interoperability:** Facilitates effective communication between different parts of your application.
+3. **Compatibility:** Allows smooth communication between older and newer app versions.
+
+To get started, install the `protobufjs` package using your preferred package manager:
+
+
+
+
+```shell
+npm install protobufjs
+```
+
+
+
+
+```shell
+yarn add protobufjs
+```
+
+
+
+
+You can also use the `protobufjs` package via a CDN without installing it on your system:
+
+```js
+// Import the CDN
+import "https://cdn.jsdelivr.net/npm/protobufjs@latest/dist/protobuf.min.js";
+```
+
+```html
+
+
+```
+
## Getting Started
-Check out the quick start guide and comprehensive tutorials to learn how to build applications using `js-waku`:
+Check out the quick start guide and comprehensive tutorials to learn how to build applications using `@waku/sdk`:
| Guide | Description |
| - | - |
-| [Quick Start](/guides/js-waku/quick-start) | Quickly familiarize yourself with `js-waku` by setting up a Waku node and sending messages using the [Light Push](/overview/concepts/protocols#light-push) protocol |
| [Send and Receive Messages Using Light Push and Filter](/guides/js-waku/light-send-receive) | Learn how to send and receive messages on light nodes using the [Light Push](/overview/concepts/protocols#light-push) and [Filter](/overview/concepts/protocols#filter) protocols |
| [Retrieve Messages Using Store](/guides/js-waku/store-retrieve-messages) | Learn how to retrieve and filter historical messages on light nodes using the [Store](/overview/concepts/protocols#store) protocol |
-| [Build React DApps Using @waku/react](/guides/js-waku/use-waku-react) | Learn how to use the [@waku/react](https://www.npmjs.com/package/@waku/react) package seamlessly integrate `js-waku` into a React application |
-| [Bootstrap DApps Using @waku/create-app](/guides/js-waku/use-waku-create-app) | Learn how to use the [@waku/create-app](https://www.npmjs.com/package/@waku/create-app) package to bootstrap your next `js-waku` project from various example templates |
+| [Build React DApps Using @waku/react](/guides/js-waku/use-waku-react) | Learn how to use the [@waku/react](https://www.npmjs.com/package/@waku/react) package seamlessly integrate `@waku/sdk` into a React application |
+| [Bootstrap DApps Using @waku/create-app](/guides/js-waku/use-waku-create-app) | Learn how to use the [@waku/create-app](https://www.npmjs.com/package/@waku/create-app) package to bootstrap your next `@waku/sdk` project from various example templates |
## Get Help and Report Issues
To engage in general discussions, seek assistance, or stay updated with the latest news, visit the `#support` and `#js-waku-contribute` channels on the [Waku Discord](https://discord.waku.org).
-If you discover bugs or want to suggest new features, do not hesitate to [open an issue](https://github.com/waku-org/js-waku/issues/new/) in the [js-waku repository](https://github.com/waku-org/js-waku). Your feedback and contributions are highly valued and will help improve the `js-waku` SDK.
\ No newline at end of file
+If you discover bugs or want to suggest new features, do not hesitate to [open an issue](https://github.com/waku-org/js-waku/issues/new/) in the [js-waku repository](https://github.com/waku-org/js-waku). Your feedback and contributions are highly valued and will help improve the `@waku/sdk` package.
\ No newline at end of file
diff --git a/docs/guides/js-waku/light-send-receive.md b/docs/guides/js-waku/light-send-receive.md
index 93058e9..18bf0fa 100644
--- a/docs/guides/js-waku/light-send-receive.md
+++ b/docs/guides/js-waku/light-send-receive.md
@@ -2,30 +2,56 @@
title: Send and Receive Messages Using Light Push and Filter
---
-This guide provides detailed steps to create a light node, send messages using the [Light Push protocol](/overview/concepts/protocols#light-push), and receive messages using the [Filter protocol](/overview/concepts/protocols#filter).
+This guide provides detailed steps to start using the `@waku/sdk` package by setting up a Light Node to send messages using the [Light Push protocol](/overview/concepts/protocols#light-push), and receive messages using the [Filter protocol](/overview/concepts/protocols#filter). Check out the [installation guide](/guides/js-waku/#installation) for steps on adding `@waku/sdk` to your project.
## Create a Light Node
-Set up a Waku node by creating a light node, connecting to network peers with `Light Push` and `Filter` enabled, choosing a [content topic](/overview/concepts/content-topics), and creating an `encoder` and `decoder` for [message encryption](https://rfc.vac.dev/spec/26/):
+Use the `createLightNode()` function to create a `Light Node` and interact with the Waku Network:
```js
-import {
- createLightNode,
- waitForRemotePeer,
- Protocols,
- createEncoder,
- createDecoder,
-} from "@waku/sdk";
+import { createLightNode } from "@waku/sdk";
-// Create and start a light node
+// Create and start a Light Node
const node = await createLightNode({ defaultBootstrap: true });
await node.start();
+// Use the stop() function to stop a running node
+// await node.stop();
+```
+
+:::info
+When the `defaultBootstrap` flag is set to `true`, your node will be bootstrapped using [DNS Discovery](/overview/concepts/dns-discovery). The node does not connect to any remote peer or bootstrap node if omitted.
+:::
+
+## Connect to Remote Peers
+
+Use the `waitForRemotePeer()` function to wait for the node to connect with peers on the Waku Network:
+
+```js
+import { waitForRemotePeer } from "@waku/sdk";
+
// Wait for a successful peer connection
+await waitForRemotePeer(node);
+```
+
+The `protocols` option allows you to specify the [protocols](/overview/concepts/protocols) that the remote peers should have enabled:
+
+```js
+import { waitForRemotePeer, Protocols } from "@waku/sdk";
+
+// Wait for peer connections with specific protocols
await waitForRemotePeer(node, [
- Protocols.LightPush,
- Protocols.Filter,
+ Protocols.LightPush,
+ Protocols.Filter,
]);
+```
+
+## Choose a Content Topic
+
+[Choose a content topic](/overview/concepts/content-topics) for your application and create a message `encoder` and `decoder`:
+
+```js
+import { createEncoder, createDecoder } from "@waku/sdk";
// Choose a content topic
const contentTopic = "/light-guide/1/message/proto";
@@ -35,6 +61,19 @@ const encoder = createEncoder({ contentTopic });
const decoder = createDecoder(contentTopic);
```
+The `ephemeral` option allows you to specify whether your messages should be persisted by [Store peers](/guides/js-waku/store-retrieve-messages):
+
+```js
+const encoder = createEncoder({
+ contentTopic: contentTopic, // message content topic
+ ephemeral: true, // allows messages to be stored or not
+});
+```
+
+:::info
+In this example, users send and receive messages on a shared content topic. However, real applications may have users broadcasting messages while others listen or only have 1:1 exchanges. Waku supports all these use cases.
+:::
+
## Create a Message Structure
Create your application's message structure using [Protobuf's valid message](https://github.com/protobufjs/protobuf.js#usage) fields:
@@ -50,7 +89,7 @@ const ChatMessage = new protobuf.Type("ChatMessage")
```
:::info
-Check out the [Protobuf installation](/guides/js-waku/quick-start#create-a-message-structure) guide for adding the `protobufjs` package to your project.
+Check out the [Protobuf installation](/guides/js-waku/#message-structure) guide for adding the `protobufjs` package to your project.
:::
## Send Messages Using Light Push
@@ -76,7 +115,7 @@ await node.lightPush.send(encoder, {
## Receive Messages Using Filter
-To receive messages using the `Filter` protocol, create a callback function to process the messages and use the `filter.subscribe()` function:
+To receive messages using the `Filter` protocol, create a callback function for message processing, then use the `filter.subscribe()` function to subscribe to a `content topic`:
```js
// Create the callback function
diff --git a/docs/guides/js-waku/quick-start.md b/docs/guides/js-waku/quick-start.md
deleted file mode 100644
index f69b970..0000000
--- a/docs/guides/js-waku/quick-start.md
+++ /dev/null
@@ -1,151 +0,0 @@
----
-title: Quick Start
----
-
-This guide provides quick steps to start using the `js-waku` SDK by setting up a Waku node and sending messages using the [Light Push protocol](/overview/concepts/protocols#light-push). Check out the [installation guide](/guides/js-waku/#installation) for steps on adding `js-waku` to your project.
-
-## Create a Light Node
-
-Use the `createLightNode()` function to create a `Light Node` and interact with the Waku Network:
-
-```js
-import { createLightNode } from "@waku/sdk";
-
-// Create and start a Light Node
-const node = await createLightNode({ defaultBootstrap: true });
-await node.start();
-
-// Use the stop() function to stop a running node
-// await node.stop();
-```
-
-:::info
-When the `defaultBootstrap` flag is set to `true`, your node will be bootstrapped using [pre-defined Waku nodes](/overview/concepts/static-peers). The node does not connect to any remote peer or bootstrap node if omitted.
-:::
-
-## Connect to Remote Peers
-
-Use the `waitForRemotePeer()` function to wait for the node to connect with peers on the Waku Network:
-
-```js
-import { waitForRemotePeer } from "@waku/sdk";
-
-// Wait for a successful peer connection
-await waitForRemotePeer(node);
-```
-
-The `protocols` option allows you to specify the [protocols](/overview/concepts/protocols) that the remote peers should have enabled:
-
-```js
-import { waitForRemotePeer, Protocols } from "@waku/sdk";
-
-// Wait for peer connections with specific protocols
-await waitForRemotePeer(node, [
- Protocols.Relay,
- Protocols.Store,
- Protocols.LightPush,
- Protocols.Filter,
-]);
-```
-
-## Choose a Content Topic
-
-[Choose a content topic](/overview/concepts/content-topics) for your application and create an `encoder` for [message encryption](https://rfc.vac.dev/spec/26/):
-
-```js
-import { createEncoder } from "@waku/sdk";
-
-// Choose a content topic
-const contentTopic = "/quick-start/1/message/proto";
-
-// Create a message encoder without encryption
-const encoder = createEncoder({
- contentTopic: contentTopic, // message content topic
- ephemeral: false, // allows messages to be stored or not
-});
-```
-
-:::info
-When the `ephemeral` flag is set to `true`, your messages will not be stored by `Store` nodes.
-:::
-
-## Create a Message Structure
-
-Create a message structure for your application using [Protocol Buffers](https://protobuf.dev/) (`proto`) for the following reasons:
-
-1. **Consistency:** Ensures uniform message format for easy parsing and processing.
-2. **Interoperability:** Facilitates effective communication between different parts of your application.
-3. **Compatibility:** Allows smooth communication between older and newer app versions.
-
-To get started, install the `protobufjs` package using your preferred package manager:
-
-```mdx-code-block
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
-```
-
-
-
-
-```shell
-npm install protobufjs
-```
-
-
-
-
-```shell
-yarn add protobufjs
-```
-
-
-
-
-You can also use the `protobufjs` package via a CDN without installing it on your system:
-
-```js
-// Import the CDN
-import "https://cdn.jsdelivr.net/npm/protobufjs@latest/dist/protobuf.min.js";
-```
-
-```html
-
-
-```
-
-Next, create the message structure using [Protobuf's valid message](https://github.com/protobufjs/protobuf.js#usage) fields:
-
-```js
-import protobuf from "protobufjs";
-
-// Create a message structure using Protobuf
-const ChatMessage = new protobuf.Type("ChatMessage")
- .add(new protobuf.Field("timestamp", 1, "uint64"))
- .add(new protobuf.Field("sender", 2, "string"))
- .add(new protobuf.Field("message", 3, "string"));
-```
-
-## Send Messages Using Light Push
-
-To send messages using the `Light Push` protocol, create a new message object and use the `lightPush.send()` function:
-
-```js
-// Create a new message object
-const protoMessage = ChatMessage.create({
- timestamp: Date.now(),
- sender: "Alice",
- message: "Hello, World!",
-});
-
-// Serialize the message using Protobuf
-const serializedMessage = ChatMessage.encode(protoMessage).finish();
-
-// Send the message using Light Push
-await node.lightPush.send(encoder, {
- payload: serializedMessage,
-});
-```
-
-:::tip Congratulations!
-You have successfully added decentralized communication features to your project using `js-waku`. To run your application smoothly, you can wrap these functions in JavaScript, React, or any other framework.
-:::
\ No newline at end of file
diff --git a/docs/guides/js-waku/store-retrieve-messages.md b/docs/guides/js-waku/store-retrieve-messages.md
index ad2ed6c..eba4698 100644
--- a/docs/guides/js-waku/store-retrieve-messages.md
+++ b/docs/guides/js-waku/store-retrieve-messages.md
@@ -29,7 +29,7 @@ await waitForRemotePeer(node, [Protocols.Store]);
## Choose a Content Topic
-[Choose a content topic](/overview/concepts/content-topics) for filtering the messages to retrieve and create a `decoder` for [message decryption](https://rfc.vac.dev/spec/26/):
+[Choose a content topic](/overview/concepts/content-topics) for filtering the messages to retrieve and create a message `decoder`:
```js
import { createDecoder } from "@waku/sdk";
@@ -43,7 +43,7 @@ const decoder = createDecoder(contentTopic);
## Retrieve Messages
-`js-waku` provides the `queryOrderedCallback()` and `queryGenerator()` functions for querying `Store` nodes and retrieving historical or missed messages. The responses from `Store` nodes are paginated and require you to handle them sequentially, processing each page when received.
+`@waku/sdk` provides the `queryOrderedCallback()` and `queryGenerator()` functions for querying `Store` nodes and retrieving historical or missed messages. The responses from `Store` nodes are paginated and require you to process each page sequentially.
### `queryOrderedCallback`
@@ -60,17 +60,17 @@ const callback = (wakuMessage) => {
console.log(wakuMessage);
};
-// Set the query options
-const queryOptions = {};
-
// Query the Store peer
await node.store.queryOrderedCallback(
[decoder],
callback,
- queryOptions,
);
```
+:::info
+The `queryOrderedCallback()` function always returns the most recent messages in a page first.
+:::
+
### `queryGenerator`
The `store.queryGenerator()` function provides more control and flexibility over processing messages retrieved from `Store` nodes through [Async Generators](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AsyncGenerator). It accepts these parameters:
@@ -79,24 +79,26 @@ The `store.queryGenerator()` function provides more control and flexibility over
- `options` (optional): [Query options](/guides/js-waku/store-retrieve-messages#store-query-options) to filter the retrieved messages.
```js
-// Set the query options
-const queryOptions = {};
-
// Create the store query
-const storeQuery = node.store.queryGenerator(
- [decoder],
- queryOptions,
-);
+const storeQuery = node.store.queryGenerator([decoder]);
// Process the messages
for await (const messagesPromises of storeQuery) {
- // Fulfill all the messages promises
- const messages = await Promise.all(messagesPromises);
- // Render the message/payload in your application
- console.log(messages);
+ // Fulfill the messages promises
+ const messages = await Promise.all(messagesPromises
+ .map(async (p) => {
+ const msg = await p;
+ // Render the message/payload in your application
+ console.log(msg);
+ })
+ );
}
```
+:::info
+The `queryGenerator()` function always returns the oldest messages in a page first.
+:::
+
## Store Query Options
### `pageDirection`
@@ -118,35 +120,12 @@ const queryOptions = {
const queryOptions = {
pageDirection: PageDirection.FORWARD,
};
+
+// Query the Store peer with options
+await node.store.queryOrderedCallback([decoder], callback, options);
+const storeQuery = node.store.queryGenerator([decoder, options]);
```
-:::info
-The `pageDirection` option does not affect the ordering of messages within the page, as the oldest message always returns first.
-:::
-
-### `timeFilter`
-
-The `timeFilter` option specifies a time frame to retrieve messages from. For example, consider a query that retrieves messages from the previous week:
-
-```js
-// Get the time frame
-const endTime = new Date();
-const startTime = new Date();
-startTime.setDate(endTime.getDate() - 7);
-
-// Retrieve a week of messages
-const queryOptions = {
- timeFilter: {
- startTime,
- endTime,
- },
-};
-```
-
-:::info
-If you omit the `timeFilter` option, the query will start from the beginning or end of the history, depending on the [page direction](#pagedirection).
-:::
-
### `cursor`
The `cursor` option specifies the starting index for retrieving messages. For example, consider a query that retrieves the first page messages and then continues with the next page:
@@ -158,9 +137,13 @@ import { waku } from "@waku/sdk";
const messages = [];
const callback = (wakuMessage) => {
messages.push(wakuMessage);
+ // Return "true" to stop retrieving pages
+ // Here, it retrieves only the first page
+ return true;
};
// Retrieve the first page of messages
+// This retrieves all the messages if "return true" is not present
await node.store.queryOrderedCallback(
[decoder],
callback,
@@ -186,16 +169,33 @@ console.log(messages);
If you omit the `cursor` option, the query will start from the beginning or end of the history, depending on the [page direction](#pagedirection).
:::
-### `peerId`
+### `timeFilter`
-The `peerId` option specifies the peer to query. A pseudo-random peer is selected from the connected `Store` peers if omitted.
+The `timeFilter` option specifies a time frame to retrieve messages from. For example, consider a query that retrieves messages from the previous week:
```js
+// Get the time frame
+const endTime = new Date();
+const startTime = new Date();
+startTime.setDate(endTime.getDate() - 7);
+
+// Retrieve a week of messages
const queryOptions = {
- peerId: "[WAKU STORE PEER ID]",
+ timeFilter: {
+ startTime,
+ endTime,
+ },
};
+
+// Query the Store peer with options
+await node.store.queryOrderedCallback([decoder], callback, options);
+const storeQuery = node.store.queryGenerator([decoder, options]);
```
+:::info
+The `timeFilter` option significantly reduces message retrieval performance. To optimize it, consider resuming message retrieval using a [cursor](#cursor) that starts from the last seen message.
+:::
+
:::tip Congratulations!
You have successfully retrieved and filtered historical messages on a Light Node using the `Store` protocol. Check out the [store-js](https://github.com/waku-org/js-waku-examples/tree/master/examples/store-js) and [store-reactjs-chat](https://github.com/waku-org/js-waku-examples/tree/master/examples/store-reactjs-chat) examples for working demos.
:::
\ No newline at end of file
diff --git a/docs/guides/js-waku/use-waku-create-app.md b/docs/guides/js-waku/use-waku-create-app.md
index cfadbd8..f5a0554 100644
--- a/docs/guides/js-waku/use-waku-create-app.md
+++ b/docs/guides/js-waku/use-waku-create-app.md
@@ -2,11 +2,11 @@
title: "Bootstrap DApps Using @waku/create-app"
---
-This guide provides detailed steps to bootstrap your next `js-waku` project from [various example templates](https://github.com/waku-org/js-waku-examples/tree/master/examples) using the [@waku/create-app](https://www.npmjs.com/package/@waku/create-app) package.
+This guide provides detailed steps to bootstrap your next `@waku/sdk` project from [various example templates](https://github.com/waku-org/js-waku-examples/tree/master/examples) using the [@waku/create-app](https://www.npmjs.com/package/@waku/create-app) package.
## Usage
-Initialize a new `js-waku` template using any of the following methods:
+Initialize a new `@waku/sdk` template using any of the following methods:
```mdx-code-block
import Tabs from '@theme/Tabs';
@@ -46,4 +46,6 @@ We welcome and appreciate the contributions of templates for the `@waku/create-a
2. Place the template in the `examples` folder in the [js-waku-examples](https://github.com/waku-org/js-waku-examples) repository's root.
3. Commit your changes with a detailed message and push them to your forked repository.
4. Finally, submit a pull request to the [js-waku-examples](https://github.com/waku-org/js-waku-examples) repository.
-5. Our team will carefully review and merge your submission upon approval.
\ No newline at end of file
+5. Our team will carefully review and merge your submission upon approval.
+
+Waku also provides bounties to encourage community members to contribute to the network and earn rewards. To participate in the bounty program, head to .
\ No newline at end of file
diff --git a/docs/guides/js-waku/use-waku-react.md b/docs/guides/js-waku/use-waku-react.md
index dbe1d67..3e8e2eb 100644
--- a/docs/guides/js-waku/use-waku-react.md
+++ b/docs/guides/js-waku/use-waku-react.md
@@ -2,7 +2,7 @@
title: "Build React DApps Using @waku/react"
---
-The [@waku/react](https://www.npmjs.com/package/@waku/react) package provides components and UI adapters to integrate `js-waku` into React applications effortlessly. This guide provides detailed steps for using `@waku/react` in your project.
+The [@waku/react](https://www.npmjs.com/package/@waku/react) package provides components and UI adapters to integrate `@waku/sdk` into React applications effortlessly. This guide provides detailed steps for using `@waku/react` in your project.
## Install the Dependencies
@@ -36,14 +36,14 @@ Next, install the `@waku/react` package using your preferred package manager:
```shell
-npm install @waku/react
+npm install @waku/react @waku/sdk
```
```shell
-yarn add @waku/react
+yarn add @waku/react @waku/sdk
```
@@ -120,9 +120,6 @@ function App() {
const contentTopic = "/waku-react-guide/1/message/utf8";
const encoder = createEncoder({ contentTopic });
- // Wait for the node to finish loading before sending messages
- // (isLoading === false)
-
// Bind push method to a node and encoder
const { push } = useLightPush({ node, encoder });
@@ -134,14 +131,14 @@ function App() {
const payload = utf8ToBytes(text);
await push({ payload });
};
- sendMessage("Hello, World!");
+
+ // Wait for the node to finish loading before sending messages
+ if (!isLoading) {
+ sendMessage("Hello, World!");
+ }
}
```
-:::info
-Wait for the node to finish loading before sending messages (`isLoading` === `false`).
-:::
-
## Receive Messages Using Filter
Use the `useFilterMessages()` hook to receive messages from a [Filter subscription](/guides/js-waku/light-send-receive/#receive-messages-using-filter) and keep it updated:
@@ -174,10 +171,11 @@ function App() {
// "isLoading" indicates whether the node is still subscribing to Filter
// Wait for the messages to finish loading before processing them
- // (isLoading === false)
- messages.forEach((message) => {
- console.log(bytesToUtf8(message.payload));
- });
+ if (!isLoading) {
+ messages.forEach((message) => {
+ console.log(bytesToUtf8(message.payload));
+ });
+ }
}
```
@@ -209,21 +207,19 @@ function App() {
const contentTopic = "/waku-react-guide/1/message/utf8";
const decoder = createDecoder(contentTopic);
- // Set the query options
- const options = {};
-
// Query the Store peer
- const { error, messages, isLoading } = useStoreMessages({ node, decoder, options });
+ const { error, messages, isLoading } = useStoreMessages({ node, decoder });
// "error" captures any error that occurs during message retrieval
// "messages" contains a list of messages retrieved from the Store peer
// "isLoading" indicates whether the node is still retrieving messages
// Wait for the messages to finish retrieving before processing them
- // (isLoading === false)
- messages.forEach((message) => {
- console.log(bytesToUtf8(message.payload));
- });
+ if (!isLoading) {
+ messages.forEach((message) => {
+ console.log(bytesToUtf8(message.payload));
+ });
+ }
}
```
@@ -232,5 +228,5 @@ To explore the available query options, check out the [Store Query Options](/gui
:::
:::tip
-You have successfully integrated `js-waku` into a React application using the `@waku/react` package. Check out the [web-chat](https://github.com/waku-org/js-waku-examples/tree/master/examples/web-chat) example for a working demo.
+You have successfully integrated `@waku/sdk` into a React application using the `@waku/react` package. Check out the [web-chat](https://github.com/waku-org/js-waku-examples/tree/master/examples/web-chat) example for a working demo.
:::
\ No newline at end of file
diff --git a/docs/guides/nodes-and-sdks.md b/docs/guides/nodes-and-sdks.md
index d6f40fb..a9e30e3 100644
--- a/docs/guides/nodes-and-sdks.md
+++ b/docs/guides/nodes-and-sdks.md
@@ -23,7 +23,7 @@ Waku is implemented in multiple SDKs, allowing it to integrate with different la
| | Description | Documentation |
| - | - | - |
-| [js-waku](https://github.com/waku-org/js-waku) | JavaScript/TypeScript SDK designed for browser environments | [JavaScript Waku SDK](/guides/js-waku/) |
+| [@waku/sdk](https://github.com/waku-org/js-waku) | JavaScript/TypeScript SDK designed for browser environments | [JavaScript Waku SDK](/guides/js-waku/) |
| [nwaku](https://github.com/waku-org/nwaku) | Nim SDK designed for integration with native Nim applications | COMING SOON |
| [go-waku](https://github.com/waku-org/go-waku) | Golang SDK designed for integration with Golang applications, includes C bindings for usage in C/C++, C#/Unity, Swift, and Kotlin | COMING SOON |
| [waku-rust-bindings](https://github.com/waku-org/waku-rust-bindings) | Rust wrapper using `go-waku` bindings designed for integration in Rust applications | COMING SOON |
@@ -43,6 +43,6 @@ Waku provides integrations tailored for mobile applications, enabling Waku to ru
| | Description | Documentation |
| - | - | - |
| JSON-RPC API | `JSON-RPC` API interface provided by `nwaku` and `go-waku` to interact with the Waku Network | COMING SOON |
-| [@waku/react](https://www.npmjs.com/package/@waku/react) | React components and UI adapters designed for seamless integration with `js-waku` | [Build React DApps Using @waku/react](/guides/js-waku/use-waku-react) |
-| [@waku/create-app](https://www.npmjs.com/package/@waku/create-app) | Starter kit to bootstrap your next `js-waku` project from various example templates | [Bootstrap DApps Using @waku/create-app](/guides/js-waku/use-waku-create-app) |
+| [@waku/react](https://www.npmjs.com/package/@waku/react) | React components and UI adapters designed for seamless integration with `@waku/sdk` | [Build React DApps Using @waku/react](/guides/js-waku/use-waku-react) |
+| [@waku/create-app](https://www.npmjs.com/package/@waku/create-app) | Starter kit to bootstrap your next `@waku/sdk` project from various example templates | [Bootstrap DApps Using @waku/create-app](/guides/js-waku/use-waku-create-app) |
| [nwaku-compose](https://github.com/alrevuelta/nwaku-compose) | Pre-configured Docker Compose setup for running and monitoring a `nwaku` node using Prometheus and Grafana | [Run Nwaku with Docker Compose](/guides/nwaku/run-docker-compose) |
\ No newline at end of file
diff --git a/docs/overview/concepts/static-peers.md b/docs/overview/concepts/static-peers.md
index ddfe7a8..ae6bc61 100644
--- a/docs/overview/concepts/static-peers.md
+++ b/docs/overview/concepts/static-peers.md
@@ -2,7 +2,7 @@
title: Static Peers
---
-Waku applications have the flexibility to embed bootstrap node addresses directly into their codebase. Developers can either use [static peers operated by Status](https://github.com/waku-org/js-waku/blob/master/packages/core/src/lib/predefined_bootstrap_nodes.ts#L45) or [run a node](/guides/nodes-and-sdks#run-a-waku-node).
+Waku applications have the flexibility to embed bootstrap node addresses directly into their codebase. Developers can either use static peers operated by Status or [run a node](/guides/nodes-and-sdks#run-a-waku-node).
#### Pros
diff --git a/docs/presentations.md b/docs/presentations.md
index 398c785..2a955f8 100644
--- a/docs/presentations.md
+++ b/docs/presentations.md
@@ -2,6 +2,14 @@
title: Watch Our Presentations
---
+## Waku Workshop: Running Your Own Waku Node
+
+
+
+## Waku Workshop: Getting Started with Waku
+
+
+
## Hashing it Out: Decentralized Messaging
@@ -20,7 +28,7 @@ title: Watch Our Presentations
## Secureum TrustX - Waku: Enabling a New Dimension for dApps
-
+
## Waku: Enabling a New Dimension for dApps
diff --git a/sidebars.js b/sidebars.js
index a8bda49..5b00e5d 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -71,7 +71,6 @@ const sidebars = {
id: "guides/js-waku/index",
},
items: [
- "guides/js-waku/quick-start",
"guides/js-waku/light-send-receive",
"guides/js-waku/store-retrieve-messages",
"guides/js-waku/use-waku-react",