@@ -21,102 +21,100 @@ Read more in the [documentation on ReadTheDocs](https://py-libp2p.readthedocs.io
21
21
22
22
## Maintainers
23
23
24
- Currently maintained by [ @pacrob ] ( https://github.com/pacrob ) and [ @dhuseby ] ( https://github.com/dhuseby ) , looking for assistance!
24
+ Currently maintained by [ @pacrob ] ( https://github.com/pacrob ) , [ @ seetadev ] ( https://github.com/seetadev ) and [ @dhuseby ] ( https://github.com/dhuseby ) , looking for assistance!
25
25
26
26
## Feature Breakdown
27
27
28
28
py-libp2p aims for conformity with [ the standard libp2p modules] ( https://libp2p.io/implementations/ ) . Below is a breakdown of the modules we have developed, are developing, and may develop in the future.
29
29
30
- > Legend: ✅: Done 🛠️: In Progress 🚫: Missing ❌: Not planned
31
-
32
- | libp2p Node | Status |
33
- | ------------ | :----: |
34
- | ** ` libp2p ` ** | ✅ |
35
-
36
- | Core Protocols | Status |
37
- | -------------- | :----: |
38
- | ** ` Ping ` ** | ✅ |
39
- | ** ` Identify ` ** | ✅ |
40
-
41
- | Transport Protocols | Status |
42
- | ------------------- | :----: |
43
- | ** ` TCP ` ** | ✅ |
44
- | ** ` QUIC ` ** | 🛠️ |
45
- | ** ` UDP ` ** | 🚫 |
46
- | ** ` WebSockets ` ** | ❌ |
47
- | ** ` UTP ` ** | ❌ |
48
- | ** ` WebRTC ` ** | ❌ |
49
- | ** ` SCTP ` ** | ❌ |
50
- | ** ` Tor ` ** | ❌ |
51
- | ** ` i2p ` ** | ❌ |
52
- | ** ` cjdns ` ** | ❌ |
53
- | ** ` Bluetooth LE ` ** | ❌ |
54
- | ** ` Audio TP ` ** | ❌ |
55
- | ** ` Zerotier ` ** | ❌ |
56
-
57
- | Stream Muxers | Status |
58
- | ---------------- | :----: |
59
- | ** ` multiplex ` ** | ✅ |
60
- | ** ` yamux ` ** | 🚫 |
61
- | ** ` benchmarks ` ** | ❌ |
62
- | ** ` muxado ` ** | ❌ |
63
- | ** ` spdystream ` ** | ❌ |
64
- | ** ` spdy ` ** | ❌ |
65
- | ** ` http2 ` ** | ❌ |
66
- | ** ` QUIC ` ** | ❌ |
67
-
68
- | Protocol Muxers | Status |
69
- | ----------------- | :----: |
70
- | ** ` multiselect ` ** | ✅ |
71
-
72
- | Switch (Swarm) | Status |
73
- | ------------------ | :----: |
74
- | ** ` Switch ` ** | ✅ |
75
- | ** ` Dialer stack ` ** | ✅ |
76
-
77
- | Peer Discovery | Status |
78
- | -------------------- | :----: |
79
- | ** ` bootstrap list ` ** | 🚫 |
80
- | ** ` Kademlia DHT ` ** | ❌ |
81
- | ** ` mDNS ` ** | ❌ |
82
- | ** ` PEX ` ** | ❌ |
83
- | ** ` DNS ` ** | ❌ |
84
-
85
- | Content Routing | Status |
86
- | ------------------ | :----: |
87
- | ** ` Kademlia DHT ` ** | ❌ |
88
- | ** ` floodsub ` ** | ✅ |
89
- | ** ` gossipsub ` ** | ✅ |
90
- | ** ` PHT ` ** | ❌ |
91
-
92
- | Peer Routing | Status |
93
- | ------------------ | :----: |
94
- | ** ` Kademlia DHT ` ** | ❌ |
95
- | ** ` floodsub ` ** | ✅ |
96
- | ** ` gossipsub ` ** | ✅ |
97
- | ** ` PHT ` ** | ❌ |
98
-
99
- | NAT Traversal | Status |
100
- | ------------------------ | :----: |
101
- | ** ` nat-pmp ` ** | ❌ |
102
- | ** ` upnp ` ** | ❌ |
103
- | ** ` ext addr discovery ` ** | ❌ |
104
- | ** ` STUN-like ` ** | ❌ |
105
- | ** ` line-switch relay ` ** | ❌ |
106
- | ** ` pkt-switch relay ` ** | ❌ |
107
-
108
- | Exchange | Status |
109
- | ---------------- | :----: |
110
- | ** ` HTTP ` ** | ❌ |
111
- | ** ` Bitswap ` ** | ❌ |
112
- | ** ` Bittorrent ` ** | ❌ |
113
-
114
- | Consensus | Status |
115
- | -------------- | :----: |
116
- | ** ` Paxos ` ** | ❌ |
117
- | ** ` Raft ` ** | ❌ |
118
- | ** ` PBTF ` ** | ❌ |
119
- | ** ` Nakamoto ` ** | ❌ |
30
+ > Legend: ✅: Done 🛠️: In Progress/Usable 🌱 Prototype/Unstable ❌: Missing
31
+
32
+ ______________________________________________________________________
33
+
34
+ ### Transports
35
+
36
+ | ** Transport** | ** Status** | ** Source** |
37
+ | -------------------------------------- | :--------: | :---------------------------------------------------------------------------------: |
38
+ | ** ` libp2p-tcp ` ** | ✅ | [ source] ( https://github.com/libp2p/py-libp2p/blob/main/libp2p/transport/tcp/tcp.py ) |
39
+ | ** ` libp2p-quic ` ** | 🌱 | |
40
+ | ** ` libp2p-websocket ` ** | ❌ | |
41
+ | ** ` libp2p-webrtc-browser-to-server ` ** | ❌ | |
42
+ | ** ` libp2p-webrtc-private-to-private ` ** | ❌ | |
43
+
44
+ ______________________________________________________________________
45
+
46
+ ### NAT Traversal
47
+
48
+ | ** NAT Traversal** | ** Status** |
49
+ | ----------------------------- | :--------: |
50
+ | ** ` libp2p-circuit-relay-v2 ` ** | ❌ |
51
+ | ** ` libp2p-autonat ` ** | ❌ |
52
+ | ** ` libp2p-hole-punching ` ** | ❌ |
53
+
54
+ ______________________________________________________________________
55
+
56
+ ### Secure Communication
57
+
58
+ | ** Secure Communication** | ** Status** | ** Source** |
59
+ | ------------------------ | :--------: | :---------------------------------------------------------------------------: |
60
+ | ** ` libp2p-noise ` ** | 🌱 | [ source] ( https://github.com/libp2p/py-libp2p/tree/main/libp2p/security/noise ) |
61
+ | ** ` libp2p-tls ` ** | ❌ | |
62
+
63
+ ______________________________________________________________________
64
+
65
+ ### Discovery
66
+
67
+ | ** Discovery** | ** Status** |
68
+ | -------------------- | :--------: |
69
+ | ** ` bootstrap ` ** | ❌ |
70
+ | ** ` random-walk ` ** | ❌ |
71
+ | ** ` mdns-discovery ` ** | ❌ |
72
+ | ** ` rendezvous ` ** | ❌ |
73
+
74
+ ______________________________________________________________________
75
+
76
+ ### Peer Routing
77
+
78
+ | ** Peer Routing** | ** Status** |
79
+ | -------------------- | :--------: |
80
+ | ** ` libp2p-kad-dht ` ** | ❌ |
81
+
82
+ ______________________________________________________________________
83
+
84
+ ### Publish/Subscribe
85
+
86
+ | ** Publish/Subscribe** | ** Status** | ** Source** |
87
+ | ---------------------- | :--------: | :--------------------------------------------------------------------------------: |
88
+ | ** ` libp2p-floodsub ` ** | ✅ | [ source] ( https://github.com/libp2p/py-libp2p/blob/main/libp2p/pubsub/floodsub.py ) |
89
+ | ** ` libp2p-gossipsub ` ** | ✅ | [ source] ( https://github.com/libp2p/py-libp2p/blob/main/libp2p/pubsub/gossipsub.py ) |
90
+
91
+ ______________________________________________________________________
92
+
93
+ ### Stream Muxers
94
+
95
+ | ** Stream Muxers** | ** Status** | ** Status** |
96
+ | ------------------ | :--------: | :----------------------------------------------------------------------------------------: |
97
+ | ** ` libp2p-yamux ` ** | 🌱 | |
98
+ | ** ` libp2p-mplex ` ** | 🛠️ | [ source] ( https://github.com/libp2p/py-libp2p/blob/main/libp2p/stream_muxer/mplex/mplex.py ) |
99
+
100
+ ______________________________________________________________________
101
+
102
+ ### Storage
103
+
104
+ | ** Storage** | ** Status** |
105
+ | ------------------- | :--------: |
106
+ | ** ` libp2p-record ` ** | ❌ |
107
+
108
+ ______________________________________________________________________
109
+
110
+ ### General Purpose Utilities & Datatypes
111
+
112
+ | ** Utility/Datatype** | ** Status** | ** Source** |
113
+ | -------------------- | :--------: | :-------------------------------------------------------------------------: |
114
+ | ** ` libp2p-ping ` ** | ✅ | [ source] ( https://github.com/libp2p/py-libp2p/blob/main/libp2p/host/ping.py ) |
115
+ | ** ` libp2p-peer ` ** | ✅ | [ source] ( https://github.com/libp2p/py-libp2p/tree/main/libp2p/peer ) |
116
+
117
+ ______________________________________________________________________
120
118
121
119
## Explanation of Basic Two Node Communication
122
120
0 commit comments