五分钟搞定 DApp 和 DID POC | ArcBlock 博客
ArcBlock 区块基石发布了 DApps Workshop 开发者工具,允许任何用户、开发者和产品经理轻松快速地为各种使用去中心化身份、与交易相关的事务处理的 DApp 场景构建概念验证版产品(POC)。
概念验证
众所周知,POC 是一个演示,其目的是验证某些概念或理论是否有可能在现实世界中应用。因此,POC 是一个用于确定可行性的原型设计,但并不代表构建应用本身所需的实际交付成果。
如今,区块链尚未成熟,与此同时又正在迅猛发展。过去几年里,区块链技术正在从 1.0、2.0 向 3.0 演进,我甚至看到像 ArcBlock 和其他如 Cosmos 和 Polkadot 推进区块链互联互通、织链为网的公司正在建立带领我们超越 3.0 的新一代功能。由于这一快速发展,不少企业都将重点放在大规模构建 DApp 的工具上,并将重点放在让应用快速工作上。
去中心化应用和测试
然而,任何开发者都会告诉您,测试和构建 POC 对于任何应用的成功和可用性都是至关重要的,尤其是当您正在集成采用尚未在生产中测试过的新技术的时候。此外,测试不仅要开发者构建 POC,而且在非核心功能上花费大量时间。一个很好的例子就是应用去中心化身份。最近,我们看到了来自 Sovrin、Uport、Microsoft 和 ArcBlock 在此领域的最新进展,集中讨论了去中心化身份的使用,及其对用户的潜在好处和影响。然而,尽管这些服务都使用 W3C 或 CCG 提供的相同设计规范,但它们的共同点就到此为止,而且这些不同身份解决方案的实现需要一些突破性的努力,包括验证它是否有效。
DApps Workshop 简介
为此,我们创建了 DApps Workshop[1],一种为 DApp 和去中心化身份构建 POC 的最简单方法。
DApps Workshop 是允许开发者\产品经理为去中心化应用快速创建和测试 POC 的工具,包括创建和测试不同类型交易工作流以及基于 DID 的身份验证要求和支持:
交易有关的事务处理
支持所有包括多交易场景的 Tx 类的预建工作流和流程/规则
基于 DID 的身份认证,包括身份类型、DSA(数字签名算法)算法和哈希函数
可配置的元数据
定义所需包括档案简介和协议等声明
ABT 钱包移动认证
关于这部分写得够多啦,让我们试着建立一些 POC。
构建一个 POC:在 DApp 添加基于 DID 的身份验证
DApps Workshop 允许任何人使用基于 DID 的身份验证协议构建和测试身份验证过程。例如,我想看看我的去中心化身份钱包(ABT Wallet)和使用 Forge 框架构建的新 DApp 如何相互作用。
第一步 - 生成一个 DID
对于身份验证,创建“应用 DID”需要 3 个步骤,这些步骤可以包括不同类型的 DID,例如:
应用可以表示不同的 DID 类型,如帐户、节点、设备等。这一点很重要,因为去中心化身份的用例很多,包括网站、应用、物联网、许可证等等。
现在,可以选择数字签名算法,这是最初由美国商务部国家标准技术研究所(NIST)实行的数字签名标准,作为创建签名的首选方法。在以下拉列表中,有几个可用选项:
例如,我们将使用流行的标准 ed25519。如果您想了解更多,可查看相关文档[2]
既然我们已经设置了类型和 DSA 算法,那么让我们确认哈希函数。哈希函数用于将任意大小的数据映射到固定长度数列,是一个很难反转的单向函数。
对于我们的 POC,我们将选择 SHA3,即最新于 2015 年发布的 NIST 标准。此时,我们可以“保存并继续”。
第二步 - 配置元数据
在此步骤中,可以提供有关应用的一些详细信息,包括名称、说明、版权等。其中一个重点是“Publisher”文本框,因为这是在上一节中刚刚生成的上一个 DID。对于我们的示例,我们还使用 DeepLink 路径作为 ABT 钱包,但是可以提供任何适当的链接。
第三步 - 设置声明
现在,配置“身份验证”的最后一步是声明。这些是需要与应用交互的任何必需的声明。例如,是否要求用户共享其姓名、电子邮件、电话等。您可以根据需要添加更多选项。
此外,还有一个“必需协议”部分。此区域允许您要求用户同意使用您的服务所需的不同要求。在我们的示例中,我们有数据政策和服务条款的选项,这在注册应用时通常是必需的。
保存如上所做的工作!现在,已经成功地创建了包含 DID 的应用并提供了几个关键数据片段,包括深链、应用 DID、应用公钥和应用密钥。接下来,试试看用你的 ABT 钱包,扫描二维码登录。
成功!
成功啦!现在已经使用去中心化身份钱包登录到应用。在这里,可以通过简单地“编辑”应用来轻松地开始测试其他属性,或者删除它并启动一个新的。就是这么简单。
解更多 DApps Workshop[3]信息,可访问官网;如果想开始构建自己的 DApps,请查看 Forge 区块链应用框架[4]:构建去中心化应用和区块链的最简单方法。
References
[1] DApps Workshop:
https://www.arcblock.io/zh/DApps-workshop
[2] 相关文档:
https://crypto.stackexchange.com/questions/47147/ed25519-is-a-signature-or-just-elliptic-curve/47163
[3] DApps Workshop:
https://www.arcblock.io/en/DApps-workshop
[4] Forge 区块链应用框架:
https://www.arcblock.io/en/forge-sdk