Polkadot Deployment Portal: The 1 Click Solution For Polkadot
Want to be an early tester of the Polkadot Deployment Portal?
[https://docs.google.com/forms/d/1th3GKJCSjzrmqwzDs62yA1hGUZnQUCPqmaUYLwSiHo4/viewform?edit_requested=true ]
Summary
Over the course of the last 6 months, the Parity team has been diligently working on building a 1 - Click Deployment solution for Polkadot. The Polkadot Deployment Portal (PDP), launching soon, will revolutionise how you deploy on Polkadot. Anyone will be able to take advantage of the PDPâs intuitive UI and capabilities, allowing you to configure, deploy and manage a rollup with a few simple clicks. This post aims to break down what it is, why we need it & when it will launch.
Polkadot is facing a problem
Polkadot is facing a critical issue, especially when it comes to the developer experience. Whilst the tech is incredible, for some it can be somewhat inaccessible. So what is it all for if actually deploying to Polkadot is deemed âtoo complexâ?
Great DevEx is a priority, and ensuring a clear path for developers, making the choice of deploying as simple and as easy as possible is how we achieve it. If we choose to ignore DevEx, and ignore making the deployment paths simpler and more accessible, the products, features and tech we proudly build will never get the true recognition they deserve. Bringing the cost of experimentation down is also how we improve the developer experience.
So whatâs the solution?
Today weâre proudly presenting the Polkadot Deployment Portal. A 1 Click deployment solution for Polkadot rollups with the goal to make building on Polkadot easier and more accessible. As it stands, building on Polkadot is perceived as very complicated and slow. If we want to attract new builders, tinkerers and founders to our ecosystem we should make the path forward for them as easy as possible: this not only encourages experimentation but also lowers the barriers to adoption. If anyone can build on Polkadot, weâve achieved a true pillar of the Web3 ethos, âpermissionlessness for the massesâ
The PDP ensures the complexity associated with deploying is addressed, meaning builders should only have to think about their business logic, and the infrastructure part, including coretime, is taken care of for them.
Deploy in a matter of seconds, not days
The PDPâs UI allows you to configure your rollup with ease, allowing you to choose your runtime template, chain to deploy and when youâd like to schedule your deployment.
New Rollup form
The PDP offers 3 main configuration areas, giving you full control over your Polkadot Native Rollup, customizing it to meet your specific needs.
General Configuration - Allows you to customise general settings, such as Token name, ticker, decimals / supply and your SUDO address.
Environment Selection - Allows you to choose the runtime that suits your needs as well as the target for your deployment, such as Polkadot or Kusama (for live networks) Paseo or Westend (for testing stuff out).
PDP gives you the ability to choose between OZ Generic Runtime or the OZ EVM Runtime templates, both of which offer unique benefits and qualities. The list of templates will be extended further, offering you maximum flexibility and fast time to market.Once selected, you can deploy to production on either Polkadot & Kusama, or deploy to testnet on Westend & Paseo.
Coretime â Allows you to choose the Agile Coretime option, providing you with 3 options which we have listed below.
-
I donât need a core
- By selecting this option, you indicate that you do not wish to purchase or assign Agile Coretime at this moment and have no immediate need for Coretime. However, you will still have the option to purchase and assign Coretime later, once you are ready for your rollup to produce blocks.
-
Interlaced core
- Choosing this option will assign a preordered â of a core. This is suitable for POCs, MVPs, or other projects that do not require fast finality. A â of a core will produce a block every 48 seconds. One of the advantages of this option is that it is more cost-effective compared to the âFull coreâ option.
-
Full core
- Selecting this option means that a full core will be assigned to your project, ensuring that your project becomes the sole owner of the core. The Full core will produce a block every 6 seconds and Relay chain tasks will be executed on each block.
Once youâve selected your configuration, the PDP will summarise what you get, whilst also displaying how much your deployment will cost.
Sign and Deploy form
Youâre now ready to deploy! Simply click the âsign & deployâ button and youâre on your way to building on Polkadot, easy right?
How does it work?
The diagram below shows a high level architecture of the Polkadot Deployment Portal, explaining how each module and bit of the PDP interacts with each other.
High level architecture of the PDP
Through the UI, users of the PDP will be able to configure the chainspecs of the new rollup and deploy 1 collator and RPC. Providing Coretime is available, as soon as the rollup is configured and passes the onboarding after registration, block production will commence. Itâs important to note, that the configuration of the collator and RPC may take from 10 minutes to 2 hours.
The diagram above showcases 2 important components which make up the PDP.
- The PDP Portal (UI)
- Resources Orchestration (Backend)
The PDP Portal (UI)
The Portal is where the user interacts with everything relating to the PDP. A user will interact, deploy, manage and monitor their rollups through the UI. Overall, a user can do the following through the PDPâs UI
- Invite and welcome others into their team
- Generate API keys which will interact with POP CLI
- Access the PDPâs docs
- Manage their deployed rollups
- Create a new rollup
The create a new rollup service will communicate with the backend of the PDP via REST, which in turn serves as the authoritative source for all deployed rollups across the project.
Resources Orchestration (Backend)
The backend of the PDP is the engine behind the wonder, itâs responsible for managing the infrastructure, including the creation and maintenance of resources. At the current moment, the application is deployed via Parity infrastructure (argocd & kubernetes)
As the process of provisioning and configuring the rollup is quite long, we use a queue management tool, otherwise known as pg-boss, to handle a range of tasks such as provisioning, destroying and recurring jobs (cron) for long running work.
Below weâve highlighted the provisioning pipeline
-
Template & Chainspec Builder - Takes the binary of a selected template and generates the rollup chainspecs file. This will also create the collator keys which in turn will be injected later during the configuration. Templates are pre-built and released into GitHub - paritytech/pdp-templates: Pre-Building node and runtimes of different parachain templates
-
To make the deployment of resources as seamless as possible, Pulumi is utilised, self-hosted with the state stored on S3, preventing the orphaning of cloud resources such as VMs, volumes, DNS) on Scaleway.
-
Ansible configures the collator and RPC services on provisioned VMs using paritytech/ansible-polkadot roles (nginx/node) developed by the Parity DevOps team.
-
Deployment durations can however range quite significantly, ranging from 10 minutes to 2 hours depending on the network and the resource availability. As we progress, we plan to optimize this further.
There are also some recurring (cron) jobs that do the following
-
Create pure-proxies for users in advance, which will then reduce the number of signatures on the first deployment. If a user were to deploy using a multi-sig, this would act as a significant UX barrier reduction.
-
Buy & Interlace Coretime per each chain we support, a crucial part of the PDP, which allows us to offer ready-to-use Coretime within the current cycle, if your rollup is needing to produce blocks immediately after deployment.
An MVP that showcases this structure is already working, and can be found at deploypolkadot.xyz. Access is currently limited but if you want to play around, ping me/us/ something and weâll give you a walkthrough.
So, whatâs next?
Development of the PDP is ongoing, with the bulk of the effort aimed at bringing PDP to production sooner than you would think. Our goal is to have 3-5 testers on Kusama, live in production, by mid April 2025.
Feature Freeze
The team is currently working towards a feature freeze by the end of March, ensuring that weâre ready to deploy on Kusama as soon as possible. A user will be able to deploy a rollup on Kusama in seconds.
Progress is coming along, weâve actually already tested a successful Kusama deployment in the past
Call For Testers
As mentioned at the start opening up applications for 3-5 testers on Kusama to deploy a rollup and provide feedback.
If youâre interested, fill out the form here.
Got questions? Reach out!
If youâre interested in becoming a beta tester, weâve opened up a TG Group dedicated to supporting testers and collecting feedback.
Join the group here.
Alternatively, if youâd like to speak to us 1 - 1, then please dont hesitate to get in touch.
Email: remy@parity.io
Telegram: @Remy_LeBerre
A thank you to the team,
This post was a collaborative effort from the Parity PDP & Product Strategy teams, huge kudos to all who contributed their time between development to help write this article.
Special thanks to @mordamax, @Cyr06130, @mcornholio, @Karim, @ShawnCoe, @davidcastro , @piggydoughnut @pavel.baluev and of course, the man behind the magic who led this project from the start, spearheaded development and brought the project to where it is today - @santi