Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lexnv: Evidence for promotion to rank I #119

Merged
merged 1 commit into from
Mar 5, 2025

Conversation

lexnv
Copy link
Contributor

@lexnv lexnv commented Feb 12, 2025

Here is my promotion evidence for Rank I

Evidence

Litep2p Network Backend

Litep2p is a highly optimized alternative to libp2p, designed for greater efficiency. Its architecture significantly reduces CPU consumption—by approximately 50% compared to libp2p—while improving request-response performance, connection stability, and authority discovery. Specifically, Litep2p reduces authority discovery times from 10 minutes (in libp2p) to under 2 minutes. Additionally, the latest Yamux performance patch has improved notification message handling by 20%, further surpassing libp2p by 3%.

To drive community engagement, I have consistently provided insights into Litep2p in the Polkadot forum. The project's progress and my contributions toward improving Litep2p’s robustness can be tracked in this milestone. Implementing Litep2p required a deep understanding of the Substrate-based chain networking stack and has led to multiple improvements across Substrate, including fixes for libp2p. My substrate contribution can be tracked via @lexnv/PRs and @lexnv/issues.

We are currently rolling out Litep2p in Kusama before enabling it on Polkadot. The deployment process can be tracked in this issue.

Metadata V15 & V16

Chain metadata plays a crucial role in facilitating interactions with the blockchain, especially for tools like Subxt, PAPI, and Polkadot-JS.
For Metadata V15, my most significant contribution was adding runtime API types, allowing nodes to expose runtime information that can be leveraged by tools to generate strongly typed APIs. This version also introduced support for querying multiple runtime versions. The progress can be tracked in substrate/#12939.

However, Metadata V15 still required improvements to eliminate hardcoded configurations across different chains. To address this, I led the development of Metadata V16, which introduces:

  • Deprecation information
  • A new transaction extension type
  • Associated types for runtime configuration traits
  • Numerous other refinements

Progress can be tracked in polkadot-sdk/#4520.
Forum post updates can be tracked in Polkadot forum.

RPC Spec V2

The RPC Spec V2 was introduced to enhance compatibility between light clients and Substrate-based chains while providing a more structured API experience.

ChainHead API: A more efficient alternative to the legacy API, designed for developers needing real-time chain tip data. It operates as a subscription-based model, pinning blocks in memory until they are no longer needed. This API enables querying runtime state, storage, and more.

Archive API: Available only on archive nodes, this API enhances the experience for chain indexer developers. It functions similarly to the ChainHead API but allows querying historical blocks.

Transaction API: A new alternative to the legacy transaction submission implementation, aiming to bridge the gap between light clients and Substrate chains.

The body of work for the RPC Spec V2 can be followed in this issue.

Subp2p Explorer

I created subp2p-explorer, a powerful debugging tool for Substrate-based blockchain networks. It enables users to:

  • Discover all network participants of any Substrate-based chain, with geolocation support.
  • Identify all authority records along with their respective authority details.
  • Support both litep2p and libp2p, ensuring compatibility across different networking protocols.

Subp2p-Explorer is also integrated into other Web3 Projects like Polkawatch and Parity tools like polkadot-introspector/whois, making it a valuable resource for network analysis and debugging.

Copy link
Contributor

@acatangiu acatangiu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

Copy link
Contributor

@sandreim sandreim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! 🚀

@sandreim
Copy link
Contributor

Referenda is up: https://collectives.subsquare.io/fellowship/referenda/290 🚀

@anaelleltd anaelleltd merged commit 18725a7 into polkadot-fellows:main Mar 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants