Introduction
R0GUE is back with the next piece of its vision, carefully designed to enhance the developer experience in the Polkadot Ecosystem. We have already introduced pop-cli
, which makes setting up a project simple — with just a single command. However, a single tool is not an e2e solution. It helps developers start their journey, but there needs to be more. This post introduces the second piece of our vision, one in which we create a seamless experience for dApp deployment into the Polkadot ecosystem.
Motivation
The existing developer experience on Polkadot is widely recognized as problematic — marked by fragmentation, complexity, high barriers to entry, insufficient guides/documentation and persistent developer challenges. These are not only our observations. Based on the heavily discussed forum post: Developer Experience must be our #1 Priority and our survey: Polkadot Smart Contract Developer Survey, we found the following patterns:
- Developer experience and onboarding must be improved
- Better tooling and documentation needs to be created
- Users should be able to pay fees in DOT on a parachain
- More focus needs to be placed on smart contracts and dApps
- Smart contract developers want easier access to composable functionality, made available from both the local runtime and the wider ecosystem
There is a crucial need for an improved developer experience, facilitating the deployment of innovative dApps to spur a new wave of user adoption while fostering an accessible and supportive environment. Whilst we believe the ink! smart contract language provides the perfect entry point for dApp developers starting their Polkadot journey, its deployment opportunities remain limited, especially in comparison to the EVM.
Pop Network
Introducing the Pop Network, which aims to be the deployment entry point in Polkadot, offering the best developer experience with reduced complexity, ease of deployment, superior tooling, and outstanding documentation.
Pop Network concentrates on excellence in one focus area: native¹ Polkadot smart contracts, supporting ink! (or Solidity via Solang), ensuring seamless execution in WASM and eventually RISC-V. It will allow developers to deploy contracts and interact with DOT. Not another new token, but a token that already has the infrastructure in place for easy acquisition and usage.
We are committed to empowering dApp developers by expanding the capabilities available at the runtime level, specifically designed for smart contract utilization. Our vision encompasses providing seamless access to the ecosystem via cross-chain interactions (XCM), as well as targeting Governance, DeFi, Identity and NFT use cases in a more composable way. With a strong commitment to community-driven development, we plan to tailor these building blocks based on valuable community feedback. This involves interfacing with existing pallets, developing new pallets, contributing to standards and libraries for ink! and providing exceptional documentation alongside our technical solutions.
This is to ensure easy access and utilization from smart contracts, further enhancing the development experience. A development experience which aspires to be compatible with Ethereum tooling and still aligned with our core focus, offering a smooth transition for developers and users from the Ethereum ecosystem to leverage the Power of Polkadot.
Our mission is to empower dApps through all stages of their growth. We see the pop-cli
as the perfect entry point to rapidly prototyping ideas, and generating starter contracts based on use cases. Ready to deploy? The pop-cli
will allow deployment to the Pop Network to find your audience. But we also want to allow dApps to scale out when needed, to realize the promise of evolving into their own chains…
Pop Network: dAppChains
R0GUE strives to see your dApps gain adoption and grow as much as possible. We also strive to provide ‘on-demand’ scalability; allowing any dApp to scale to its own parachain, or dAppChain. Envisioned by the ink! team, dAppChains provide increased performance² and sovereignty over blockspace. This will enable dApps to scale using their preferred smart contract language instead of having to learn a new framework, like Substrate. dAppChains blur the lines between smart contracts and parachains.
However, with increased performance and control comes increased complexity and maintenance. In response, the Pop Network commits to provide a comprehensive dAppChain-as-a-Service solution. Alleviating these complexities means staying true to our promise of delivering the finest developer experience.
Pop Network services will automate dAppChain maintenance and eliminate complexity.
To accomplish this, we will develop the necessary instrumentation, some of which serves a similar purpose to the ‘The Merge’. Instrumentation will include:
-
Templating
The templates provided by
pop-cli
will be expanded to offer dAppChain support, ‘flavoured’ by use case. All Pop Network functionality will also be made available via dAppChain templates, so that a dApp can easily scale out as required. -
Coretime Procurement
Helping the transition to multi-core utilization on the Polkadot Relay Chain, any new dAppChain should be able to consume Coretime directly as required. The R0GUE team will work on a generic implementation of Agile Coretime usage for the Polkadot SDK³. A feature that will be instrumental to Pop Network’s ambitions and essential to the ecosystem. Integrations with existing Coretime marketplaces will also offer developers alternatives. Collectively, R0GUE wants to be at the forefront of exploring the on-demand era of Polkadot!
-
Infrastructure
The primary objective of Pop Network dAppChains revolves around enabling smart contract developers to have access to the best possible development and deployment experience. Thus, we will offer a pivotal solution through a shared collator system that relieves developers from the intricate responsibilities of onboarding a parachain and managing its infrastructure.
-
Runtime Maintenance
We strive to provide automated runtime maintenance, including storage migrations, allowing dAppChain solutions to receive timely security updates and to evolve with Polkadot.
-
State Migrations
The state held by a contract needing to scale to a dAppChain will need to be migrated to its new destination in a coordinated way. Pop Network will provide additional services around the orchestration and execution of trustless state migrations.
Along with the above features, Pop Network will be forward-looking, incorporating aspects of CorePlay into its future milestones as the feature rolls out.
Proposal & Conclusion
At R0GUE, we envision Polkadot as THE place for developers, fostering creativity and innovation, and redefining the future of smart contract development. With Pop Network we want to revolutionize the current smart contract developer experience, by breaking barriers, simplifying complexities, and paving the way for a vibrant and inclusive ecosystem. Pop Network will become the home of innovation, adoption, growth and scalability for smart contract developers.
We enthusiastically embrace collaboration with ecosystem partners who offer solutions geared towards these goals, fostering an inclusive approach aimed at collectively fortifying and refining smart contract development and scaling possibilities!
At this stage we are asking for support from the Web3 Foundation’s Decentralized Futures program. This idea goes further than creating a smart contract platform, it speaks about building paths for streamlined creation of projects that will grow together with the broader ecosystem. Using pop-cli
as the key to unlock the doors to a realm where imagination meets execution, Pop Network will become the ultimate stage for developer experience, innovation and growth.
Join us on this transformative journey. Expect our last post soon.
R 0 G U E
Footnotes
¹ Powered by the Polkadot SDK
² DAppChains offer increased performance compared to traditional contracts running on a parachain by 1) removing the sandboxed interpreter wasmi
, required for untrusted code and 2) directly compiling contracts into the runtime WASM blob rather than loading them separately from storage.
³ Polkadot SDK - On-demand Cumulus Integration #1487