尽管比特币有起有落,但去中心化应用程序或“ dapps”仍然是软件开发界的热门话题。 “智能合约”往往是相同对话的一部分,这意味着您需要学习新的编程语言,开发实践,部署策略,安全测试,并且清单还在继续。 但是编写dapp不必这么复杂。
Blockstack是一个开源项目,也是分散应用程序的互联网。 Blockstack结合了一个技术堆栈和一组库,这些库支持dapp的简单开发,用户始终可以完全控制自己的信息,而关键交互则保留在区块链中。 在接下来的几周中,我们将了解Blockstack并构建一个简单的应用程序,以演示入门的简易性。
什么是Blockstack?
在这里,我将不对Blockstack的组件,动机和功能进行完整的描述,但是我们可以挖掘足够的基础知识来自己构建dapp。 从应用程序开发的角度来看,您需要了解的关于Blockstack的所有知识就是它为您提供了两件事:用户身份验证层和存储层。
用户身份验证层允许在任何Blockstack应用程序内进行单点登录。 这本质上是一种联合身份验证机制,它允许用户注册一次并立即能够使用具有相同凭据的任何数量的Blockstack应用程序。 当用户注册时,其用户ID记录在区块链上,他们可以开始将元数据与这些ID相关联,例如个人资料详细信息或社交媒体帐户。
Blockstack中的另一个关键层是存储层,它使用户能够配置自有数据存储柜。 用户想要保存的与他们正在使用的应用程序相关的任何数据都将转到他们自己的储物柜,而不是开发该应用程序的公司所拥有的某些集中式服务器。 例如,当您在Google Docs等云服务中编写和存储文件时,该服务将完全控制您的内容。 Google可以删除您的内容而不会发出警告-实际上,过去已经这样做了。 相比之下,使用Graphite之类的Blockstack应用程序,您编写的内容始终在您的控件中。
如何使用Blockstack
您可以通过使用名为Blockstack.jsJavaScript库来使用Blockstack身份验证层和存储层。 该库使您可以了解Blockstack生态系统,从而使管理某些棘手的交互变得容易。 使用Blockstack.js,编写去中心化的应用程序与编写没有专用后端的前端应用程序几乎完全一样。 就像针对Firebase之类的服务编写移动应用程序一样,尽管API的功能不太丰富。 您所有的逻辑都存在于前端代码中,并且您将dapp部署在传统的前端基础架构上。 作为开发人员,您根本不需要了解或理解区块链的交互,因为所有这些都是从您身上抽象出来的。
在接下来的几篇文章中,我们将逐步完成构建一个可对Blockstack进行身份验证的dapp,提取用户配置文件信息,并允许我们保存和检索始终位于用户控件中的应用程序数据的过程。 最后,我们将提供一个简单的私有版本,例如CodePen ,它是一个基于浏览器的开发环境,允许您创建和编辑Web开发片段。 同时,如果您想了解Blockstack背后的一些动机或细节,请查阅项目的文档或视频系列,并加入Slack频道 。 有疑问或意见吗? 继续在Twitter上进行对话: @freethejazz 。