Report Date | Date of submission (2024/12/18) |
Submitted by | Ross Bulat |
This period has been spent on maintaining the Staking Dashboard and surrounding tooling ensuring users can still stake on Polkadot. I have also continued maintaining and speaking about RFC-0097 implementation; although other commitments prevented much progress in this PR, I have been keeping the community informed of progress and next steps, and keeping the PR up-to-date with the latest changes in the Polkadot-SDK codebase. It also came to light that AssetHub migration efforts meant that reviews would likely not come in time for the end of this reporting period, backing up the decision of focusing on other areas.
In this period I have been studying abstraction of code and how to better formalise / organise packages for better maintainability. A range of refactors and upgrades have taken place to keep the codebase using latest packages, and simplifying syntax.
I have focused on user support and engagement, something that has been lacking in the past. Discord has been set up, and over 100 Polkadot users have joined and are communicating staking improvements and requests.
I have bootstrapped an API service for Polkadot staking, that solves usability issues around staking on Polkadot. User rewards are now fetched instantly. This service will expand to validator performance, fast unstake checking, and validator / pool performance data, that will dramatically speed up workflows. This is a significant improvement over the current state of affairs, where node-only data fetching is becoming unviable as the staking system scales - e.g. 297 to 500 validators, now 30k+ nominators, etc, and where Subscan has strict throttle limits for free API usage that is becoming unviable for high user open source projects like staking dashboard.
Staking dashboard also crossed the milestone of being light client by default. This was necessary to not exhaust RPC connections with the latest JSON RPC spec.
Also in this period, I replaced PJS API with PAPI in the staking dashboard, and rolled out Wallet Connect support.
More validators have been onboarded into the validator community data source.
My work is relevant for the specific Manifesto requirements:
Due to the pressing issues of the application side work, and the limited scope of a Rank 1 fellowship member, I have not made significant progress on the unbonding RFC. However, in this period I have:
The recent series of pull requests showcases significant progress and key improvements to the Polkadot Staking Dashboard. A major highlight is the introduction of enhanced staking functionalities, including abstracting LeavePool logic and utilizing pool points for unbonding and leaving pools. The transition from Subscan to the Staking API for fetching nominator rewards demonstrates a shift towards a more integrated and streamlined data flow. Moreover, the dashboard now provides a 100% validator commission prompt to improve user awareness and facilitate proactive decision-making.
On the architectural side, the migration to a monorepo structure and the introduction of modular packages such as ui-structure, assets, and types mark a foundational transformation aimed at improving scalability and maintainability. Refactoring efforts, including the removal of lodash dependencies, abstracting hooks like useSize, and transitioning to ESLint 9, have further optimized the codebase. Additionally, new features such as WalletConnect support, PJS Removal in favour of Polkadot API, proxy logic enhancements, and the inclusion of the Staking API GraphQL plugin emphasize a focus on expanding interoperability and modernizing the platform's core capabilities. Collectively, these updates signal a robust and forward-thinking evolution of the staking dashboard, setting the stage for enhanced functionality and user experience.
The recent updates to the w3ux library reflect significant progress in expanding its utility and enhancing its core components. A notable addition is the inclusion of the useTimeleft and useSize hooks under the @w3ux/hooks package, which provide reusable functionality for developers managing responsive and time-sensitive components. The addition of the @w3ux/crypto package offers cryptographic utilities tailored for blockchain applications. Furthermore, the withProviders feature in the new @w3ux/factories package simplifies provider integration, promoting consistency and ease of use across the library.
Improvements to existing components also highlight the progress. The Polkicon component has been completely rewritten and enhanced under @w3ux/react-polkicon, now supporting additional customization through a fontSize prop and improved rendering semantics. Refactoring efforts, such as removing bignumber.js and obsolete utilities, streamlining the unit utilities, and updating Substrate bindings for the AccountId codec, demonstrate a commitment to optimizing the library for efficiency and modern usage with Polkadot API. Community and project-specific contributions, such as the addition of ProStakers.com to the community page and Frog nodes support in the staking dashboard, further emphasize the library's adaptability and focus on the blockchain ecosystem's evolving needs. Together, these updates solidify w3ux as a robust and versatile toolkit for Web3 developers.
Ranks | Activity thresholds | Agreement thresholds | Member's voting activities | Comments |
---|---|---|---|---|
I | 90% | N/A | N/A | No referenda for my rank |
II | 80% | N/A | ||
III | 70% | N/A | ||
IV | 60% | N/A | ||
V | 50% | N/A | ||
VI | 40% | N/A |
As the staking system continues to evolve, my focus has been on keeping the Staking Dashboard up-to-date and as user-friendly as possible. I'm particularly excited about the new API service I’ve bootstrapped, which I believe will bring significant improvements to the user experience—I'm excited to see how it’s received.
Looking ahead to the AssetHub migration, I’m committed to maintaining a seamless and reliable experience throughout the migration process, ensuring that our current infrastructure remains stable and supports Polkadot users without disruption. This is an exciting time, and I’m optimistic about the future as we continue to build and refine our tools for the community.
Threshold
Thank you for the feedback
@157p...kk9q
, really appreciate it. I agree the UI related tasks fall outside the manifesto. While I work through these tasks I will remain with the inactive
status, with the goal of pivoting back to active once they are satisfied. Overall though I hope this work is progressing the vision and goals of Polkadot.
I find Ross's maintenance of RFC-0097 to be very valuable and I hope as a community we can merge and finalize it, as noted perhaps after the Asset Hub migration is done.
A lot of work items noted here are about UIs that fall outside the core fellowship. While worth mentioning, I think it is best to separate them into a separate sub-document for conciseness in the future.