diff --git a/docs/build/javascript/configure-discovery.mdx b/docs/build/javascript/configure-discovery.mdx
index a1a1a39..67b8f37 100644
--- a/docs/build/javascript/configure-discovery.mdx
+++ b/docs/build/javascript/configure-discovery.mdx
@@ -13,7 +13,7 @@ If you do not set up a bootstrap node or discovery mechanism, your node will not
:::
:::tip
-Until [node incentivisation](/learn/research#prevention-of-denial-of-service-dos-and-node-incentivisation) is in place, you should [operate extra nodes](/#run-a-waku-node) alongside the ones provided by the Waku Network. When running a node, we recommend using the [DNS Discovery and Static Peers](#configure-dns-discovery-and-static-peers) configuration to connect to both the Waku Network and your node.
+Until [node incentivisation](/learn/research#prevention-of-denial-of-service-dos-and-node-incentivisation) is in place, you should [operate extra nodes](/run-node) alongside the ones provided by the Waku Network. When running a node, we recommend using the [DNS Discovery and Static Peers](#configure-dns-discovery-and-static-peers) configuration to connect to both the Waku Network and your node.
:::
## Default bootstrap method
diff --git a/docs/build/javascript/index.md b/docs/build/javascript/index.md
index 8175337..be4f33d 100644
--- a/docs/build/javascript/index.md
+++ b/docs/build/javascript/index.md
@@ -108,7 +108,7 @@ Have a look at the quick start guide and comprehensive tutorials to learn how to
| [Manage Your Filter Subscriptions](/build/javascript/manage-filter) | Learn how to manage [filter subscriptions](/learn/concepts/protocols#filter) and handle node disconnections in your application |
:::tip
-Until [node incentivisation](/learn/research#prevention-of-denial-of-service-dos-and-node-incentivisation) is in place, you should [operate extra nodes](/#run-a-waku-node) alongside the ones provided by the Waku Network. When running a node, we recommend using the [DNS Discovery and Static Peers](/build/javascript/configure-discovery#configure-dns-discovery-and-static-peers) configuration to connect to both the Waku Network and your node.
+Until [node incentivisation](/learn/research#prevention-of-denial-of-service-dos-and-node-incentivisation) is in place, you should [operate extra nodes](/run-node/) alongside the ones provided by the Waku Network. When running a node, we recommend using the [DNS Discovery and Static Peers](/build/javascript/configure-discovery#configure-dns-discovery-and-static-peers) configuration to connect to both the Waku Network and your node.
:::
## Get help and report issues
diff --git a/docs/landing.md b/docs/landing.md
index fc79adc..7d84827 100644
--- a/docs/landing.md
+++ b/docs/landing.md
@@ -11,7 +11,6 @@ Waku is a family of robust, censorship-resistant, peer-to-peer communication pro
Start Building
Run a Node
Learn More
- Explore Research
diff --git a/docs/learn/concepts/static-peers.md b/docs/learn/concepts/static-peers.md
index 94f847e..a4849c3 100644
--- a/docs/learn/concepts/static-peers.md
+++ b/docs/learn/concepts/static-peers.md
@@ -4,7 +4,7 @@ hide_table_of_contents: true
displayed_sidebar: learn
---
-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](/#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](/run-node).
#### Pros
diff --git a/docs/learn/research/index.md b/docs/learn/research/index.md
index d2ca884..10c32de 100644
--- a/docs/learn/research/index.md
+++ b/docs/learn/research/index.md
@@ -26,9 +26,9 @@ You can also read more about the ongoing challenges the Waku team is working on
## Research resources
-[**Research and Studies**](./research-and-studies): Protocol simulations and theoretical analysis to support the design of Waku protocols. The protocol definitions are on the [Waku RFCs](https://rfc.vac.dev/waku) website.
+[**Research and Studies**](/learn/research/research-and-studies/incentivisation): Protocol simulations and theoretical analysis to support the design of Waku protocols. The protocol definitions are on the [Waku RFCs](https://rfc.vac.dev/waku) website.
-[**Benchmarks**](./benchmarks): Results of implementations and engineering-related benchmarks for Waku clients.
+[**Benchmarks**](/learn/research/benchmarks/test-results-summary): Results of implementations and engineering-related benchmarks for Waku clients.
## Research papers
diff --git a/docs/learn/waku-vs-libp2p.md b/docs/learn/waku-vs-libp2p.md
index 9d8e168..e4fd5b4 100644
--- a/docs/learn/waku-vs-libp2p.md
+++ b/docs/learn/waku-vs-libp2p.md
@@ -8,7 +8,7 @@ Since Waku is built on top of libp2p, they share a lot of concepts and terminolo
## Waku as a service network
-Waku intends to incentivise mechanisms to run nodes, but it is not part of libp2p's scope. Additionally, users or developers do not have to deploy their infrastructure as a prerequisite to use Waku. It is a service network. However, you are encouraged to [run a node](/#run-a-waku-node) to support and decentralise the network.
+Waku intends to incentivise mechanisms to run nodes, but it is not part of libp2p's scope. Additionally, users or developers do not have to deploy their infrastructure as a prerequisite to use Waku. It is a service network. However, you are encouraged to [run a node](/run-node) to support and decentralise the network.
## Waku as a turnkey solution
diff --git a/docs/migrations/js-waku/migration_v0.026_0.027.md b/docs/migrations/js-waku/migration_v0.026_0.027.md
deleted file mode 100644
index 34f44f8..0000000
--- a/docs/migrations/js-waku/migration_v0.026_0.027.md
+++ /dev/null
@@ -1,201 +0,0 @@
-# Migrating to Waku v0.027
-
-A migration guide for refactoring your application code from Waku v0.026 to v0.027.
-
-## Table of Contents
-
-- [Migrating to Waku v0.027](#migrating-to-waku-v0027)
- - [Table of Contents](#table-of-contents)
- - [Network Configuration](#network-configuration)
- - [Default Network Configuration](#default-network-configuration)
- - [Static Sharding](#static-sharding)
- - [Auto Sharding](#auto-sharding)
- - [Pubsub Topic Configuration](#pubsub-topic-configuration)
- - [Removed APIs](#removed-apis)
- - [Type Changes](#type-changes)
- - [Internal/Private Utility Function Changes](#internalprivate-utility-function-changes)
-
-## Network Configuration
-
-The way to configure network settings for a Waku node has been simplified. The new NetworkConfig type only allows for Static Sharding or Auto Sharding.
-
-### Default Network Configuration
-
-If no network configuration is provided when creating a Light Node, The Waku Network configuration will be used by default.
-
-**Before**
-```typescript
-import { createLightNode } from "@waku/sdk";
-
-const waku = await createLightNode();
-// This would use the default pubsub topic, that was, `/waku/2/default-waku/proto`
-```
-
-**After**
-```typescript
-import { createLightNode } from "@waku/sdk";
-
-const waku = await createLightNode();
-// This will now use The Waku Network configuration by default:
-// { clusterId: 1, shards: [0,1,2,3,4,5,6,7] }
-```
-
-### Static Sharding
-
-**Before**
-```typescript
-import { createLightNode } from "@waku/sdk";
-
-const waku = await createLightNode({
- shardInfo: {
- clusterId: 1,
- shards: [0, 1, 2, 3]
- }
-});
-```
-
-**After**
-```typescript
-import { createLightNode } from "@waku/sdk";
-
-const waku = await createLightNode({
- networkConfig: {
- clusterId: 1,
- shards: [0, 1, 2, 3]
- }
-});
-```
-
-
-### Auto Sharding
-
-**Before**
-```typescript
-import { createLightNode } from "@waku/sdk";
-
-const waku = await createLightNode({
- shardInfo: {
- clusterId: 1,
- contentTopics: ["/my-app/1/notifications/proto"]
- }
-});
-```
-
-**After**
-```typescript
-import { createLightNode } from "@waku/sdk";
-
-const waku = await createLightNode({
- networkConfig: {
- clusterId: 1,
- contentTopics: ["/my-app/1/notifications/proto"]
- }
-});
-```
-
-## Pubsub Topic Configuration
-
-Named pubsub topics are no longer supported. You must use either Static Sharding or Auto Sharding to configure pubsub topics.
-
-**Before**
-```typescript
-import { createLightNode } from "@waku/sdk";
-
-const waku = await createLightNode({
- pubsubTopics: ["/waku/2/default-waku/proto"]
-});
-```
-
-**After**
-
-Use Static Sharding:
-```typescript
-import { createLightNode } from "@waku/sdk";
-
-const waku = await createLightNode({
- networkConfig: {
- clusterId: 1,
- shards: [0, 1, 2, 3, 4, 5, 6, 7]
- }
-});
-```
-
-Or use Auto Sharding:
-```typescript
-import { createLightNode } from "@waku/sdk";
-
-const waku = await createLightNode({
- networkConfig: {
- clusterId: 1,
- contentTopics: ["/your-app/1/default/proto"]
- }
-});
-```
-
-## Removed APIs
-
-The following APIs have been removed:
-
-- ApplicationInfo type: Use `string` for application and version in `NetworkConfig` instead.
-- `shardInfo` option in `createLightNode`: Use `networkConfig` instead.
-- `pubsubTopics` option in `createLightNode`: Use `networkConfig` with Static Sharding or Auto Sharding instead.
-
-If you were using `ApplicationInfo` before, you should now use `ContentTopicInfo` (Auto Sharding) and specify your application and version in the content topic `string`.
-
-**Before**
-```typescript
-import { createLightNode } from "@waku/sdk";
-
-const waku = await createLightNode({
- shardInfo: {
- clusterId: 1,
- application: "my-app",
- version: "1"
- }
-});
-```
-
-**After**
-```typescript
-import { createLightNode } from "@waku/sdk";
-
-const waku = await createLightNode({
- networkConfig: {
- clusterId: 1,
- contentTopics: ["/my-app/1/default/proto"]
- }
-});
-```
-
-## Type Changes
-
-- `ShardingParams` has been removed. Use `NetworkConfig` instead.
-- `NetworkConfig` is now defined as `StaticSharding` | `AutoSharding`.
-- `StaticSharding` is equivalent to the previous `ShardInfo`.
-- `AutoSharding` is equivalent to the previous `ContentTopicInfo`.
-
-## Internal/Private Utility Function Changes
-
-Several utility functions have been updated or added:
-
-- `ensureShardingConfigured` has been removed. Use `derivePubsubTopicsFromNetworkConfig` instead.
-- New function `derivePubsubTopicsFromNetworkConfig` has been added to derive pubsub topics from the network configuration.
-- `shardInfoToPubsubTopics` now accepts `Partial` instead of `Partial`.
-- New function `pubsubTopicsToShardInfo` has been added to convert pubsub topics to a ShardInfo object.
-
-If you were using any of these utility functions directly, you'll need to update your code accordingly.
-
-**Before**
-```typescript
-import { ensureShardingConfigured } from "@waku/utils";
-
-const result = ensureShardingConfigured(shardInfo);
-```
-
-**After**
-```typescript
-import { derivePubsubTopicsFromNetworkConfig } from "@waku/utils";
-
-const pubsubTopics = derivePubsubTopicsFromNetworkConfig(networkConfig);
-```
-Note: The default `NetworkConfig` for The Waku Network is now `{ clusterId: 1, shards: [0,1,2,3,4,5,6,7] }.`
diff --git a/docusaurus.config.js b/docusaurus.config.js
index 50f0320..3208800 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -85,12 +85,6 @@ const config = {
to: "/learn/",
activeBaseRegex: "^/learn/",
},
- {
- position: "left",
- label: "Research",
- to: "/research/",
- activeBaseRegex: "^/research/",
- },
{
href: "https://discord.waku.org",
position: "left",
diff --git a/fetch-content.js b/fetch-content.js
index 2e082de..4d50aa5 100644
--- a/fetch-content.js
+++ b/fetch-content.js
@@ -62,13 +62,13 @@ async function downloadAndSaveFile(url, filePath) {
const repositories = [
{
baseUrl: 'https://api.github.com/repos/waku-org/nwaku/contents/docs/benchmarks',
- baseSavePath: '/docs/research/benchmarks/',
+ baseSavePath: '/docs/learn/research/benchmarks/',
prefixToRemove: "docs/benchmarks/",
categoryFileContent: "{ \"label\": \"Benchmarks\", \"collapsed\": false }"
},
{
baseUrl: 'https://api.github.com/repos/waku-org/research/contents/docs',
- baseSavePath: '/docs/research/research-and-studies/',
+ baseSavePath: '/docs/learn/research/research-and-studies/',
prefixToRemove: "docs/",
categoryFileContent: "{ \"label\": \"Research and Studies\", \"collapsed\": false }"
}
diff --git a/sidebars.js b/sidebars.js
index 315be4d..0aabe14 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -107,22 +107,42 @@ const sidebars = {
],
},
"learn/security-features",
- "learn/research",
+ {
+ type: "category",
+ label: "Research",
+ link: {
+ type: "doc",
+ id: "learn/research/index",
+ },
+ items: [
+ {
+ type: "category",
+ label: "Benchmarks",
+ collapsed: false,
+ items: [
+ {
+ type: "autogenerated",
+ dirName: "learn/research/benchmarks",
+ },
+ ],
+ },
+ {
+ type: "category",
+ label: "Research and Studies",
+ collapsed: false,
+ items: [
+ {
+ type: "autogenerated",
+ dirName: "learn/research/research-and-studies",
+ },
+ ],
+ },
+ ],
+ },
"learn/waku-vs-libp2p",
"learn/glossary",
"learn/faq",
],
- research: [
- {
- type: "link",
- label: "Home",
- href: "/",
- },
- {
- type: "autogenerated",
- dirName: "research",
- },
- ],
};
module.exports = sidebars;
\ No newline at end of file