|
| 1 | +# Implementation status of Gossipsub versions and Extensions |
| 2 | + |
| 3 | +This doc is meant to provide an overview of the implementation status of |
| 4 | +Gossipsub versions and Extensions. |
| 5 | + |
| 6 | +## Gossipsub Versions |
| 7 | + |
| 8 | +| | [1.2] | [1.3-alpha] | |
| 9 | +| ------------- | ----- | -------------------------------------------------------------- | |
| 10 | +| [Go libp2p] | ✅ | [Open PR](https://github.com/libp2p/go-libp2p-pubsub/pull/630) | |
| 11 | +| [Rust libp2p] | ✅ | In Progress | |
| 12 | +| [JS libp2p] | ✅ | Not started | |
| 13 | +| [Nim libp2p] | ✅ | Not started | |
| 14 | +| [Java libp2p] | ✅ | Not started | |
| 15 | + |
| 16 | +## Gossipsub Extensions |
| 17 | + |
| 18 | +| | [Choke Extensions] | [Partial Messages] | |
| 19 | +| ------------- | ------------------ | --------------------------------------------------------- | |
| 20 | +| [Go libp2p] | Not Implemented | [PR](https://github.com/libp2p/go-libp2p-pubsub/pull/631) | |
| 21 | +| [Rust libp2p] | Not Implemented | Not Implemented | |
| 22 | +| [JS libp2p] | Not Implemented | Not Implemented | |
| 23 | +| [Nim libp2p] | Not Implemented | Not Implemented | |
| 24 | +| [Java libp2p] | Not Implemented | Not Implemented | |
| 25 | + |
| 26 | +## Gossipsub Implementation Improvements |
| 27 | + |
| 28 | +| | [Batch Publishing] | [IDONTWANT on First Publish] | [WFR Gossip] | |
| 29 | +| ------------- | ------------------------------------------------------------------------ | --------------------------------------------------------- | --------------------------------------------------------- | |
| 30 | +| [Go libp2p] | [✅](https://pkg.go.dev/github.com/libp2p/go-libp2p-pubsub#MessageBatch) | [✅](https://github.com/libp2p/go-libp2p-pubsub/pull/612) | [PR](https://github.com/libp2p/go-libp2p-pubsub/pull/632) | |
| 31 | +| [Rust libp2p] | Not Implemented | [✅](https://github.com/libp2p/rust-libp2p/pull/5773) | Not Implemented | |
| 32 | +| [JS libp2p] | Not Implemented | Not Implemented | Not Implemented | |
| 33 | +| [Nim libp2p] | Not Implemented | Not Implemented | Not Implemented | |
| 34 | +| [Java libp2p] | Not Implemented | Not Implemented | Not Implemented | |
| 35 | + |
| 36 | +[Go libp2p]: https://github.com/libp2p/go-libp2p-pubsub |
| 37 | +[Rust libp2p]: https://github.com/libp2p/rust-libp2p/tree/master/protocols/gossipsub |
| 38 | +[JS libp2p]: https://github.com/ChainSafe/js-libp2p-gossipsub |
| 39 | +[Nim libp2p]: https://github.com/vacp2p/nim-libp2p/tree/master/libp2p/protocols/pubsub/gossipsub |
| 40 | +[Java libp2p]: https://github.com/libp2p/jvm-libp2p/tree/develop/libp2p/src/test/kotlin/io/libp2p/pubsub/gossip |
| 41 | +[1.2]: https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/gossipsub-v1.2.md |
| 42 | +[1.3-alpha]: https://github.com/libp2p/specs/issues/687 |
| 43 | +[Choke Extensions]: https://github.com/libp2p/specs/pull/681 |
| 44 | +[Partial Messages]: https://github.com/libp2p/specs/pull/685 |
| 45 | +[Batch Publishing]: https://ethresear.ch/t/improving-das-performance-with-gossipsub-batch-publishing/21713 |
| 46 | +[IDONTWANT on first Publish]: https://github.com/libp2p/go-libp2p-pubsub/issues/610 |
| 47 | +[WFR Gossip]: https://ethresear.ch/t/the-paths-of-least-resistance-introducing-wfr-gossip/22671/3 |
0 commit comments