“波卡知识图谱”是我们针对波卡从零到一的入门级文章,我们尝试从波卡最基础的部分讲起,为大家提供全方位了解波卡的内容,当然这是一项巨大的工程,也充满了挑战,然而我们希望通过这样的努力让大家能够正确认知波卡,也让不了解波卡的人方便快速掌握波卡相关知识,今天是该栏目的第 180 期,本文介绍了波卡的部署门户,用于提升开发者在波卡生态的部署体验。
摘要
波卡面临的问题
解决方案是什么?
1
在几秒钟内完成部署
PDP 的用户界面让开发者能够轻松配置 Rollup,选择运行时模板、要部署的链,以及安排部署的时间。
新的 Rollup 表单
PDP 提供了三个主要的配置区域,可以完全掌控的波卡原生 Rollup,根据的特定需求进行定制。
常规配置:可以定制常规设置,例如通证名称、交易代码、小数位数 / 供应量以及的 SUDO 地址。
环境选择(详情请参见:
https://www.deploypolkadot.xyz/docs/what-pdp-offers/environments-and-chains):可以选择适合需求的运行时,以及部署的目标网络,比如波卡或 Kusama(用于主网)、Paseo 或 Westend(用于测试)。
PDP 能够在 OZ 通用运行时(详情请参见:
https://docs.openzeppelin.com/substrate-runtimes/3.0.0-rc/runtimes/generic)或 OZ EVM 运行时(详情请参见:
https://docs.openzeppelin.com/substrate-runtimes/3.0.0-rc/runtimes/evm)模板之间进行选择,这两种模板都有其独特的优势和特点。模板列表还将进一步扩展,为提供最大的灵活性和快速上市时间。
一旦做出选择,可以在波卡或 Kusama 网络上进行生成部署,或者在 Westend 和 Paseo 测试网上进行部署。
Coretime(详情请参见:
https://www.deploypolkadot.xyz/docs/what-pdp-offers/scheduling):可以选择 Agile Coretime 选项,我们提供了以下三个选择:
不需要核心
选择此选项表明目前不希望购买或分配 Agile Coretime,并且当前不需要 Coretime。不过,一旦准备好让的 Rollup 生成区块,仍然可以选择在之后购买和分配 Coretime。
交错核心
选择此选项将分配八分之一的预购核心。这适用于 POC、MVP 或其他不需要快速最终确定性的项目。八分之一的核心将每 48 秒生成一个区块。此选项的一个优点是,与“完整核心”选项相比,它更具成本效益。
完整核心
选择此选项意味着将为的项目分配一个完整的核心,确保的项目成为该核心的唯一所有者。完整核心每 6 秒生成一个区块,并且每个区块都将执行中继链任务。
一旦选择了配置,PDP 将总结所获得的内容,同时显示部署费用。
签名与部署表单
现在可以进行部署了!只需点击“签名并部署”按钮,就可以开始在波卡上构建项目了,很简单。
它是如何工作的?
下图展示了 PDP 的高层架构,解释了 PDP 的各个模块和部分是如何相互交互的。
PDP 的高层架构
通过用户界面,PDP 的用户将能够配置新 Rollup 的链规范,并部署一个收集者和远程过程调用(RPC)。只要提供 Coretime,一旦 Rollup 配置完成并在注册后通过审核,区块生产就会开始。需要注意的是,收集者和 RPC 的配置可能需要 10 分钟到 2 小时的时间。
上面的图表展示了构成 PDP 的两个重要组件。
PDP 门户
资源编排(后端)
1
PDP 门户
该门户是用户与 PDP 相关的所有内容进行交互的地方。用户将通过该用户界面来交互、部署、管理和监控他们的 Rollup。总体而言,用户可以通过 PDP 的用户界面执行以下操作:
邀请并让其他人加入他们的团队
生成可与 POP CLI 交互的API 密钥
访问PDP 的文档
管理已部署的 Rollup
创建一个新的 Rollup
创建新 Rollup 的服务将通过 REST 协议与 PDP 的后端进行通信,而 PDP 的后端反过来又充当整个项目中所有已部署 Rollup 的权威数据源。
2
资源编排(后端)
PDP 的后端是这一奇妙工具背后的引擎,它负责管理基础设施,包括资源的创建和维护。目前,该应用程序是通过 Parity 基础设施(Argo CD 和 Kubernetes)进行部署的。
由于配置和设置 Rollup 的过程相当漫长,我们使用了一个队列管理工具,即 pg-boss,来处理一系列任务,例如为长时间运行的工作进行资源调配、销毁以及定期任务(cron)。
下面我们重点介绍一下配置流程:
模板与链规范生成器:获取所选模板的二进制文件,并生成 Rollup 链规范文件。这还将创建收集者密钥,这些密钥将在后续配置过程中注入。模板是预先构建好的,并发布到“预先构建不同平行链模板的节点和运行时(详情请参见”:
https://github.com/paritytech/pdp-templates)。
为了尽可能实现资源部署的无缝衔接,我们使用了 Pulumi 进行自我管理,将状态存储在 S3 上,以防止在 Scaleway 上出现诸如虚拟机、存储卷、DNS 等云资源孤立的情况。
Ansible 使用由 Parity DevOps 团队开发的 paritytech/ansible-polkadot 角色(nginx/node)在已配置的虚拟机上配置收集者和 RPC 服务。
不过,部署时长可能差异较大,根据网络情况和资源可用性,时长从 10 分钟到 2 小时不等。随着工作的推进,我们计划进一步优化这一点。
还有一些定期(cron)任务,它们会执行以下操作:
提前为用户创建纯代理,这将减少首次部署时的签名数量。如果用户使用多重签名进行部署,这将显著降低用户体验方面的障碍。
为我们所支持的每条链购买并交错配置 Coretime,这是 PDP 的关键部分。如果的 Rollup 在部署后需要立即生成区块,这能让我们在当前周期内提供可立即使用的 Coretime。
展示此结构的 MVP 已投入运行,可以在 deploypolkadot.xyz 找到。目前访问权限有限,但如果想体验一下,可以联系我们,我们会为提供指导。
接下来的计划是什么?
1
功能冻结(Feature Freeze)
团队目前正努力在 3 月底前实现功能冻结,以确保我们能尽快在 Kusama 网络上进行部署。届时用户将能够在几秒钟内在 Kusama 网络上部署一个 Rollup。
目前进展顺利,我们已完成 Kusama 网络的首次成功部署测试!
2
测试者招募
如开头所述,我们正在开放 3-5 名 Kusama 网络测试者,以部署 Rollup 并提供反馈。
如果有兴趣,请填写此处的表格。详情请参见:
https://docs.google.com/forms/d/1th3GKJCSjzrmqwzDs62yA1hGUZnQUCPqmaUYLwSiHo4/viewform?edit_requested=true
3
有问题?联系我们!
如果有兴趣成为一名测试人员,我们已经开设了一个专门的 Telegram 群组,用于为测试人员提供支持并收集反馈。
请在此处加入该群组。详情请参见:
https://t.me/+bP6XBmJNBThlMDJk
或者,如果想与我们进行一对一交流,请随时与我们联系。
电子邮件:remy@parity.io
Telegram:@Remy_LeBerre
致谢
欢迎大家加入我们 Polkadot 生态研究院的电报:
https://t.me/polkadot_eri
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。