Skip to content

Commit e55c555

Browse files
walkerwalker
walker
authored and
walker
committed
Libp2p curriculum reordering
1 parent c24e51b commit e55c555

File tree

9 files changed

+55
-24
lines changed

9 files changed

+55
-24
lines changed

content/en/curriculum/libp2p/connections/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ draft: false
55
menu:
66
curriculum:
77
parent: "curriculum-libp2p"
8-
weight: 310
8+
weight: 40
99
category: lecture
1010
level:
1111
- shallow
@@ -186,7 +186,7 @@ Because the data will be sent over the same connection, we need an abstraction c
186186

187187
### Negotiating protocols
188188

189-
After the connection is established (i.e. handshake, security, and multiplexing), peers exchange what application protocols they support. Because `multistream-select` is used, the procedure to agree on an application protocol is the same as for the security and mutiplexing negotiations: the protocol identifier is sent to the peer and `na` is answered if the protocol is not supported.
189+
After the connection is established (i.e. handshake, security, and multiplexing), peers exchange what application protocols they support. Because `multistream-select` is used, the procedure to agree on an application protocol is the same as for the security and multiplexing negotiations: the protocol identifier is sent to the peer and `na` is answered if the protocol is not supported.
190190

191191
Every supported protocol is assigned a handler, which manages the data for that protocol.
192192

content/en/curriculum/libp2p/core-concepts/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ draft: false
55
menu:
66
curriculum:
77
parent: "curriculum-libp2p"
8-
weight: 300
8+
weight: 30
99
category: lecture
1010
goal: 1.2
1111
subgoals:

content/en/curriculum/libp2p/dht/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ draft: false
55
menu:
66
curriculum:
77
parent: "curriculum-libp2p"
8-
weight: 315
8+
weight: 50
99
category: lecture
1010
level:
1111
- deep

content/en/curriculum/libp2p/introduction.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ draft: false
55
menu:
66
curriculum:
77
parent: "curriculum-libp2p"
8-
weight: 290
8+
weight: 20
99
category: lecture
1010
level:
1111
- shallow
@@ -30,6 +30,15 @@ This is the stuff that moves libp2p from "a networking toolbox to build P2P appl
3030

3131
[Node data dashboard](https://kademlia-exporter.max-inden.de/d/-avwMhsik/kademlia-exporter?orgId=1)
3232

33+
## libp2p Introduction
34+
35+
This recording and deck is intended to provide a high-level overview of the fundamental concepts of libp2p.
36+
37+
{{< youtube Xw-5cRSs85M>}}
38+
39+
{{< embed src="https://docs.google.com/presentation/d/e/2PACX-1vSBFLQibkm_YWUi0sIaY7CLLd4PMpPk0kjgE1nt5XPBuHwhTU0owdCP44nv5OzBmoDAOIwcy4Ngx0AV/embed?start=false&loop=false&delayms=3000" frameborder="0" width="100%" height="500" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" >}}
40+
Introduction to libp2p (3/9/23)
41+
3342
### Introduction to libp2p | David Dias
3443

3544
{{< youtube CRe_oDtfRLw >}}
@@ -78,7 +87,7 @@ The users of the libp2p protocol suite include, and is a list that is always bei
7887
**Resources:**
7988
* [Blog with Pubsub instructions](https://bitly.protocol.ai/pubsub-blog)
8089
* [Other Pubsub Options](https://bitly.protocol.ai/pusub-flags)
81-
* [lipbp2p Docs – Publish/Subscribe](https://docs.libp2p.io/concepts/publish-subscribe/)
90+
* [libp2p Docs – Publish/Subscribe](https://docs.libp2p.io/concepts/publish-subscribe/)
8291

8392
### Links
8493

content/en/curriculum/libp2p/nat-traversal/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ draft: false
55
menu:
66
curriculum:
77
parent: "curriculum-libp2p"
8-
weight: 350
8+
weight: 70
99
category: lecture
1010
level:
1111
- deep
@@ -76,9 +76,9 @@ This includes two types of hosts: publicly reachable and non-publicly reachable
7676

7777
_See_ [_the full proposal here_](https://github.com/protocol/web3-dev-team/pull/21/files#diff-b137dc3a933796d3ce264eeb6a31386d72a7a1c925c01e62c3ab026f46c417c2)
7878

79-
Given the pervasiveness of IPv4 peers that are behind NATs on the internet, NAT traversal is an essential requirement for a peer to peer application. The inability to traverse NATs means that such NATT’d peers are NOT reachable on the network and are thus unable to provide any meaningful service to the network. Nor can they interact with network participants under protocol patterns that require inbound connections (e.g. dialbacks).
79+
Given the pervasiveness of IPv4 peers that are behind NATs on the internet, NAT traversal is an essential requirement for a peer to peer application. The inability to traverse NATs means that such NAT’d peers are NOT reachable on the network and are thus unable to provide any meaningful service to the network. Nor can they interact with network participants under protocol patterns that require inbound connections (e.g. dialbacks).
8080

81-
libp2p currently executes NAT traversal using[ Circuit Relays](https://docs.libp2p.io/concepts/circuit-relay/) wherein publicly dialable Relay servers relay the entirety of user traffic to peers that are NATT’d. This approach does NOT scale because:
81+
libp2p currently executes NAT traversal using[ Circuit Relays](https://docs.libp2p.io/concepts/circuit-relay/) wherein publicly dialable Relay servers relay the entirety of user traffic to peers that are NAT’d. This approach does NOT scale because:
8282

8383
1. It costs bandwidth on the Relay server.
8484
2. There is NO real incentive to be a Relay server.

content/en/curriculum/libp2p/objectives/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ menu:
66
curriculum:
77
parent: "curriculum-libp2p"
88
identifier: "libp2p-objectives"
9-
weight: 289
9+
weight: 10
1010
category: lecture
1111
level:
1212
- shallow

content/en/curriculum/libp2p/past-recorded-sessions.md

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: "Past Recorded Sessions For Libp2p"
2+
title: "Libp2p Shallow and Deep Dive Sessions"
33
description: "Introductory, Shallow & Deep Dives into libp2p"
44
draft: false
55
menu:
@@ -9,15 +9,6 @@ weight: 170
99
category: lecture
1010
---
1111

12-
## libp2p Introduction
13-
14-
This recording and deck is intended to provide a high-level overview of the fundamental concepts of libp2p.
15-
16-
{{< youtube Xw-5cRSs85M>}}
17-
18-
{{< embed src="https://docs.google.com/presentation/d/e/2PACX-1vSBFLQibkm_YWUi0sIaY7CLLd4PMpPk0kjgE1nt5XPBuHwhTU0owdCP44nv5OzBmoDAOIwcy4Ngx0AV/embed?start=false&loop=false&delayms=3000" frameborder="0" width="100%" height="500" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" >}}
19-
Introduction to libp2p (3/9/23)
20-
2112
## libp2p Shallow Dive
2213

2314
This Shallow Dive explores the core topics of libp2p including transports, multiplexers, peer routing, implementations, and more!

content/en/curriculum/libp2p/pubsub/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ draft: false
55
menu:
66
curriculum:
77
parent: "curriculum-libp2p"
8-
weight: 330
8+
weight: 60
99
category: lecture
1010
objectives:
1111
show: true
@@ -42,7 +42,7 @@ FloodSub is simple, reliable, and highly resistant to malicious actors and censo
4242

4343
## Gossipsub
4444

45-
The main goal of Gossipsub is to reduce the bandwith used in delivering messages.
45+
The main goal of Gossipsub is to reduce the bandwidth used in delivering messages.
4646
In the Gossipsub, peers can connect by setting up a _full-message connection_ or a _metadata-only connection_.
4747
Full-message peers exchange all the information about the message; metadata-only peers exchange only data identifying the message, but not the full message itself.
4848

@@ -57,14 +57,14 @@ The number of _full-message_ peers that a node is connected to, depends on a par
5757
You can get more information about PubSub in the [libp2p documentation](https://docs.libp2p.io/concepts/publish-subscribe/) and the in the following videos, which extensively cover the Gossipsub protocol.
5858

5959
## Tutorial: Publish Subscribe (Pubsub) with IPFS & libp2p
60-
In this tutorial video, you will see how you can use the publish-subscribe functionality (using the libp2p Gossipsub routing algorithm) with an IPFS node. Follow along to start an IPFS node with pubsub enabled, and send and recieve messages.
60+
In this tutorial video, you will see how you can use the publish-subscribe functionality (using the libp2p Gossipsub routing algorithm) with an IPFS node. Follow along to start an IPFS node with pubsub enabled, and send and receive messages.
6161

6262
{{< youtube 9pUqOhORsYI >}}
6363

6464
**Resources:**
6565
* [Blog with Pubsub instructions](https://bitly.protocol.ai/pubsub-blog)
6666
* [Other Pubsub Options](https://bitly.protocol.ai/pusub-flags)
67-
* [lipbp2p Docs – Publish/Subscribe](https://docs.libp2p.io/concepts/publish-subscribe/)
67+
* [libp2p Docs – Publish/Subscribe](https://docs.libp2p.io/concepts/publish-subscribe/)
6868

6969

7070
## Expand Your Knowledge

cspell.json

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
"Bitswap",
1717
"Buterin",
1818
"Cailliau",
19+
"celestia",
1920
"Chainsafe",
2021
"chunker",
2122
"Cloudbreak",
@@ -28,31 +29,41 @@
2829
"Cypherpunks",
2930
"devgrants",
3031
"Devnet",
32+
"dialable",
33+
"dialbacks",
3134
"Doks",
3235
"Drand",
36+
"elrond",
37+
"endtab",
38+
"endtabs",
3339
"Errorf",
3440
"Esturary",
3541
"Filecoin",
3642
"FIPs",
3743
"Fisch",
3844
"Fleek",
45+
"Floodsub",
3946
"Freepik",
4047
"Gailly",
4148
"Gitbook",
49+
"gossipsub",
4250
"Haire",
4351
"HAMT",
4452
"Hashcash",
4553
"Immutabilty",
4654
"incentivized",
4755
"incentivizes",
4856
"incentivizing",
57+
"Inden",
4958
"IPFS",
5059
"IPLD",
5160
"IPNS",
5261
"João",
5362
"Kademlia",
5463
"Keepkey",
5564
"keypair",
65+
"Kreiger",
66+
"Kripalani",
5667
"kubo",
5768
"Kusama",
5869
"Labbers",
@@ -65,16 +76,26 @@
6576
"markdownify",
6677
"mediary",
6778
"Merkle",
79+
"minaprotocol",
6880
"momack",
81+
"Mplex",
82+
"Multiaddr",
83+
"multiaddress",
84+
"Multiaddresses",
6985
"Multiformat",
7086
"Multiformats",
7187
"multihash",
88+
"multihashes",
7289
"Multipass",
7390
"Multisigs",
91+
"multistream",
92+
"Muxers",
7493
"Nakamoto",
7594
"Namecoin",
7695
"netops",
7796
"networkʼs",
97+
"nodeutils",
98+
"onflow",
7899
"onramps",
79100
"Palo",
80101
"parachain",
@@ -88,8 +109,12 @@
88109
"Polymarket",
89110
"Pooja",
90111
"Powergate",
112+
"println",
91113
"protobuf",
92114
"Protoschool",
115+
"Prysmaticlabs",
116+
"QUIC",
117+
"Raúl",
93118
"retrievability",
94119
"Rijndael",
95120
"Rollups",
@@ -123,6 +148,7 @@
123148
"Vagg",
124149
"Vitalik",
125150
"waitlist",
151+
"websockets",
126152
"whistleblower",
127153
"Zenground",
128154
"Zhang",
@@ -135,6 +161,7 @@
135161
"Bondy",
136162
"Bpfs",
137163
"CVHM",
164+
"FINDE",
138165
"Gbbg",
139166
"Gkginqktrq",
140167
"HQJE",
@@ -144,8 +171,10 @@
144171
"Lbqqvo",
145172
"Nzrz",
146173
"Ocmv",
174+
"Oswx",
147175
"Ponv",
148176
"Pyfrt",
177+
"Rvro",
149178
"Sbpd",
150179
"Schmahmann",
151180
"Tzfcq",
@@ -161,10 +190,12 @@
161190
"filesize",
162191
"killall",
163192
"lfuat",
193+
"medata",
164194
"mozallowfullscreen",
165195
"ojxfb",
166196
"qldyrv",
167197
"rschanger",
198+
"uftr",
168199
"webkitallowfullscreen"
169200
],
170201
"import": []

0 commit comments

Comments
 (0)