R0GUE: Reimagining Polkadot Development with POP


A developer’s one stop entry into the world of blockchain development for Polkadot.

Introduction

You don’t know us yet. We are R0GUE, a dynamic collective from Parity’s Delivery Services, combining technical prowess with diverse expertise. Beyond talented engineers, we are a well-rounded team ready to execute. What sets us apart is not just our technical skills but our deep understanding of the challenges within the Polkadot ecosystem. Through being deeply involved in the ecosystem, we’ve not only identified the hurdles developers face but have actively contributed to projects that aim to alleviate them. This post will introduce you to the first piece of our grand vision. A vision that, when complete, will become the continuous guide for developers venturing into and through the Polkadot Ecosystem.

Motivation

Recognizing the intricacies of development in the Polkadot ecosystem, many desire a simpler entry point. While some find the current landscape manageable, our goal is to enhance the overall developer experience. A deep technical understanding of how to set up a parachain is often not required to get started and can discourage development. We believe we can all agree on this, especially if you scroll through the Polkadot forum. During our time in the ecosystem, it has become abundantly clear that there needs to be an easy and quick way for a new developer to “spin-up” a project in seconds. Some of us within R0GUE have already built projects intended to help with this. However, these projects are not enough; we need to evolve them into something more powerful and user-friendly.

POP

Because of this, we propose to further our development towards an advanced set of use-cases & templates powered by an elegant CLI. This CLI will reimagine how developer templates are used. The old way of cloning (for example) substrate-parachain-template and tediously adding a pallet will be of the past. Instead, we propose a future where our CLI can accept a single command and automatically generate a customized and ready to develop on (or deploy) project. A command like pop create my-pop-chain will initialize a project with the necessary files, local devnet (zombienet), configuration files, and more! With just a few small tweaks to the command, users will be able to choose a desired use-case. For example:

  • NFT
  • Decentralized Identity
  • Contracts
  • DeFi
  • And more (we welcome your suggestions!)

This solution will redefine the developer experience with streamlined onboarding, and serve as a catalyst for innovation and development in the Polkadot ecosystem.

MVP

We have a range of exciting features on our roadmap, including parachains, contracts, frontends, and more. However, in this forum post, we will focus specifically on the MVP.

The MVP will comprise Substrate and Cumulus templates, which can be generated using a single command on the CLI.

Here is our proposed MVP in detail.

  • A CLI tool that takes a single command to create a new project.

  • Opinionated Substrate and Cumulus templates containing the most common use-cases. For example:

    • A base / vanilla parachain
    • An ink! contract parachain
    • An EVM (Frontier) parachain
    • An NFT parachain

    We have already collectively contributed to and maintained two parachain template projects, Extended Parachain Template and Frontier Parachain Template.

  • Dynamic pallet and use-case integration on top of the core template

  • The CLI tool will install Zombienet and instantiate the project with Zombienet configurations

  • Detailed and clear documentation, suitable for newcomers to the ecosystem.

3 Month Timeline

  1. Templates (month 1)
    1. Development of opinionated Substrate and Cumulus templates will be quick as leveraging existing work.
  2. Foundations (month 1)
    1. Define template structure.
    2. Setup the foundation of the CLI tool to integrate with the templates.
  3. CLI Integration (month 2)
    1. Implement CLI commands for template generation.
    2. Add Zombienet integration.
  4. Documentation (month 3)
    1. Create comprehensive documentation.
  5. Testing and Feedback (month 3)
    1. Conduct user testing and gather feedback.
    2. Feedback will refine and formulate the next release.

Deliverables

  • A fully functional CLI tool capable of dynamically initializing projects from use-cases and templates.
  • A library of production ready Substrate and Cumulus templates.
  • Integration with Zombienet for local development.
  • Comprehensive documentation.

Competitors (Collaborators)

The landscape of template creation has seen recent proposals and ongoing work. In other ecosystems, such initiatives might be perceived as competition. However, the ethos of Polkadot encourages collaboration. Inline with this ethos, we believe in working together as collaborators, not rivals.

1. Building a CLI Around Use-Cases:

  • Our Unique Approach: What sets us apart is our commitment to creating a CLI around use-cases. This CLI is the core of our solution, offering not just templates but a comprehensive toolset for developers. This key differentiator positions us as collaborators, as our CLI can support the unique templates outputted by the ecosystem

2. Collaboration Over Competition:

  • Creating a Unified Solution: Our vision extends beyond individual templates; we aim to provide a unified experience. This provides an opportunity for collaboration, not competition, to build a more holistic solution for the entire Polkadot ecosystem. The synergy among these initiatives can streamline developer onboarding and enhance the overall developer experience.

In essence, while we acknowledge the valuable contributions of other projects, we see potential synergy. Our approach is not just about templates; it’s about building an ecosystem-friendly CLI that elevates the onboarding experience for developers across the Polkadot landscape. Let’s collaborate to strengthen the entire ecosystem together.

Proposal & Conclusion

The R0GUE team is embarking on a mission to reimagine the developer experience within the Polkadot ecosystem. The initial piece, pop, represents not only the beginning of this journey for us, but signals a new era for future ecosystem developers. Through pop we envision a future where entering the world of Polkadot development is as simple as a single command. A future built for every evolution of Polkadot. Beyond proposing a templating tool, we present a gateway to guide developers into their Polkadot journey.

We are seeking support from the Web3 Foundation’s Decentralization Futures program. We believe that our initiative, pop, will serve as the definitive starting point for developers entering the Polkadot ecosystem. It not only marks the start for developers but also initiates our ongoing commitment to enhance the developer experience across all avenues of Polkadot.

Join us on this transformative journey. Expect more posts soon. pop is just the beginning.

R0GUE

44 Likes

Full support, we need more of this. More fun, more building, a more dev-attractive ecosystem leads to better and more fun products, higher retention, and fast evolution of the buildspace.

6 Likes

Hello

Awesome stuff! What’s the best way to contact R0GUE Team?

3 Likes

Hey R0GUE team,

This is an incredibly exciting initiative, and I applaud your team for taking on the challenge of simplifying the entry into the Polkadot ecosystem. The proposal for POP and its runtime templates is precisely what’s needed to lower the barriers for new developers.

The vision of a single command to initialise a project, coupled with a variety of use-case templates, is a game-changer. It not only streamlines the development process but also addresses the complexity that often discourages newcomers.

Reducing the learning curve and providing a user-friendly onboarding experience is crucial for the growth of any ecosystem, and your approach aligns perfectly with this goal. I’m particularly enthusiastic about the collaborative spirit highlighted in your post, recognising the potential synergy among initiatives.

Looking forward to witnessing the evolution of POP and its positive impact on Polkadot’s developer community. This is a significant step towards fostering innovation and inclusivity within the ecosystem.

Best of luck, and I can’t wait to see more posts on the progress of this transformative journey!

6 Likes

Fully support this proposal. These are some of the champions from the Delivery Services team and have big expertise on Polkadot stack. Kudos!

7 Likes

Amazing!

I know the founders of this proposal and i only can say good things about them and their work. This team has the right expertise to lower down the barriers for new developers due to their extensive expertise in ecosystem activities.

Having the chance to get some inputs about their current work, i see a lot of potential in the future of R0GUE!

5 Likes

Great proposal! This would enable innovators of the future to tinker with the tech and save countless hours.

3 Likes

This is brilliant initiative! This will enable so many fast iterations.

3 Likes

For the people who are interested about the team behind Pop CLI, let me introduce them to you: R0GUE!

Feel free to contact us: gor0gue:matrix.org

2 Likes

This is a phenomenal project, and it deserves a lot more publicity.

IMHO, a Discord group would also help to create a community around it.

That is great to hear!

We have a telegram group: Telegram: Contact @Pop_Network

Do you think a discord group is still necessary to build a community? Would love to hear your thoughts :slight_smile:

Thank you very much!

Thanks to you @Daanvdplas!

I believe that Telegram is a great place for sharing thoughts, quick announcements, and chit-chat, but for a developer tool like POP, Discord is a useful complement. It’s easier to share and discuss chunks of code, has monothematic channels for different topics, has GitHub webhooks, and is more community-oriented (at least - it scales better with the volume of participants).

I think a project like POP would also benefit from having a Discord channel.

Listening to your points @Exquisitus, it sounds Discord is a very useful tool for building a community, which is incredibly important to us for the Pop platform. Thank you for the valuable feedback!

1 Like