mirror of
https://github.com/logos-messaging/docs.waku.org.git
synced 2026-01-02 12:53:12 +00:00
move research folder under learn: side bar and buttons
This commit is contained in:
parent
52b2f62c39
commit
3ac8029b1f
@ -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
|
||||
|
||||
2
docs/build/javascript/index.md
vendored
2
docs/build/javascript/index.md
vendored
@ -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
|
||||
|
||||
@ -11,7 +11,6 @@ Waku is a family of robust, censorship-resistant, peer-to-peer communication pro
|
||||
<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/" class="button button--primary">Learn More</a>
|
||||
<a href="/research/" class="button button--primary">Explore Research</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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<NetworkConfig>` instead of `Partial<ShardingParams>`.
|
||||
- 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] }.`
|
||||
@ -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",
|
||||
|
||||
@ -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 }"
|
||||
}
|
||||
|
||||
44
sidebars.js
44
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;
|
||||
Loading…
x
Reference in New Issue
Block a user