2 - Learn about the platform
From : https://docs.blockstack.org/develop/zero_to_dapp_2.html
在本部分中,您将了解块堆栈平台如何降低使用区块链技术构建的障碍。您将设置构建典型web DApp所需的所有先决条件。最后,您将构建并运行第1部分中介绍的动物王国DApp的自己版本。本部分的主题如下:
1.一个没有疼痛的区块链平台
2.获取先决条件并设置环境
3.获取动物王国代码
4.在开发模式中构建示例
5.启动你的动物王国DApp
6.为blockstack开发人员提供的资源
一个没有疼痛的区块链平台
Blockstack的任务是带来一个新的互联网,用户可以控制对他们的数据的访问和如何使用。基于这一使命,Blockstack公益公司(PBC)于2017年开始开发Blockstack平台。
该平台的开发理念遵循两个简单的原则。首先,创建后端服务,使分散的应用程序具有性能和可伸缩性。其次,为区块链技术提供简单、熟悉的开发接口。这种理念的结果是一个技术平台,允许您:
在任何Javascript框架中构建应用程序。您可以使用区块链,而不需要学习新的编程语言或扩展应用程序堆栈。目前,Blockstack支持web应用程序的反应生成器,iOS和Android都支持sdk。
使用定义良好的REST端点来简化和封装区块链后端。 Blockstack Javascript API将区块链操作简化为熟悉的GET和PUT操作。
访问Blockstack的命名系统(BNS)。系统有超过90K的用户可以立即开始使用您的应用程序。
快速扩展到大型、高性能的生产系统。Blockstack的Gaia存储系统提供了与Amazon S3、谷歌驱动器或Azure相当的快速、可伸缩的性能。
使用Blockstack的技术,您可以立即开始在区块链上构建您今天拥有的知识。您不需要花费时间或精力来开发专门语言或技术的额外知识。
获取先决条件并设置环境
要遵循本教程其余部分的步骤,您需要以下步骤:
1.用于测试您的动物王国的Blockstack ID (identity)。
2.访问终端窗口并熟悉它提供的命令行。
3.在Mac上,安装XCode命令行工具来支持节点包管理器(npm)
4.节点包管理器包管理器。
按照本节中的步骤安装这些组件。
注意:
为了获得最佳效果,请使用本教程中的Chrome浏览器。目前,Blockstack浏览器在Chrome中运行得最好,在使用Safari或Firefox等浏览器时可能会遇到问题。我们正在努力解决这些问题。
确认或获取Blockstack ID
确认您有一个Blockstack ID,也称为标识;joe.id.blockstack是标识的一个例子。
如果您有一个现有ID,请登录到浏览器中的blockstack浏览器。
登录确认您拥有一个有效的ID,其中包含所需的密钥或魔法恢复代码。密钥是在创建ID时记录的一个12或24个单词短语。神奇的恢复代码是在创建身份时发送给您的一串字符。你可以用任何一个来确认你的身份。
如果您还没有块堆栈ID,可以通过blockstack浏览器创建一个。
本文档中提供了创建ID的说明。
确保命令行访问
如果您正在使用Mac,您可以在应用程序> Launchpad >其他文件夹中找到终端。
image如果您不经常使用命令行,请花点时间测试一些常见的命令。
pwd : 打印工作目录的名称;命令行所在的当前目录。
ls : 列出当前目录中的文件和目录。
cd : 更改目录以导航到文件系统中的位置。
安装XCode命令行工具
命令行工具包为Mac终端用户提供了许多常用的工具、实用程序和编译器。NPM安装的一些内容需要XCode。
1.打开系统上的终端窗口。
2.输入xcode-select命令字符串:
$ xcode-select —install
image软件更新对话框显示:
image3.单击Install确认。
您将被提示同意服务条款。
4.同意服务条款。
工具安装好了。这取决于您的连接速度。
安装节点包管理器(NPM)
来自各个大陆的开放源码开发人员都使用NPM来共享称为包的软件组件。动物王国使用React、Babel和许多其他组件。您将使用npm命令来安装这些打包的组件。
1.打开系统上的终端窗口。
2.使用which命令验证您已经安装了npm。
如果安装了npm,它将返回命令在您的环境中的位置。
3.如果npm命令不在您的系统中,请使用操作系统的说明安装它。
安装NPM工具可能需要几分钟,这取决于您的连接速度。
获取动物王国代码
在本节中,您将动物王国的代码复制到工作站上。
1.在您的浏览器中(推荐使用Chrome),打开动物王国代码库。AnimalKingdom代码保存在公共GitHub存储库中。
2.单击克隆或下载按钮。
如果您有一个GitHub帐户,您可以选择克隆原始存储库,或者将其分叉,然后克隆它。这些说明假定您正在下载代码。
3.选择动物王国的下载ZIP。
image
4.检查您的下载目录以获得animal-kingdom-master.zip文件。
5.将下载的zip文件复制到保存代码项目的目录中。
6.解压文件。
[图片上传失败...(image-a7e402-1563499950440)]
解压文件之后,应该有了animal-kingdom-master目录。
7.在您的终端中,通过输入:
$ cd animal-kingdom-master
8.使用pwd命令确认您在哪个目录中。
$ pwd
/Users/manthony/animal-kingdom-master
/Users/zhou*/blockchain/blockstack/animal-kingdom
9.花一分钟回顾一下动物王国项目中的文件和子目录。
使用ls命令列出目录内容。
README.md
包含一个建立和运行动物王国的快速参考。
package.json
一个NPM项目文件和一个相应的.lock文件。
public
复制到正在构建的站点根目录中的文件。
cors
支持跨源请求配置的文件。
src
React网站源代码。这包含配置文件。
在开发模式中构建示例
您可以在本地工作站上构建和运行动物王国。在运行程序之前,使用NPM安装所有依赖的包。npm为您安装的一个关键包是Blockstack Javascript库。
1.确保您位于项目的根目录中。
cd ~/animal-kingdom-master
pwd
/Users/manthony/animal-kingdom-master
2.进入npm install获取动物王国所需的软件组件。
$ npm install
fsevents@1.2.4 install /Users/manthony/animal-kingdom-master/node_modules/fsevents
node install
node-pre-gyp WARN Tried to download(404): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.2.4/fse-v1.2.4-node-v67-darwin-x64.tar.gz
node-pre-gyp WARN Pre-built binaries not found for fsevents@1.2.4 and node@11.1.0 (node-v67 ABI, unknown) (falling back to source compile with node-gyp)
SOLINK_MODULE(target) Release/.node
CXX(target) Release/obj.target/fse/fsevents.o
In file included from ../fsevents.cc:6:
…
added 1390 packages from 766 contributors and audited 15238 packages in 16.11s
found 1 high severity vulnerability
run npm audit fix
to fix them, or npm audit
for details
$
该命令为项目代码创建一个node_modules子目录,并安装动物王国项目所需的所有代码库。
3.输入ls命令,列出项目目录的内容,以验证是否正确安装了npm。
$ ls
node_modulesdirectory包含许多动物王国使用的核心库。例如,Blockstack Javascript库位于nodule_modules/ Blockstack /lib子目录中。
启动你的动物王国DApp
1.启动动物王国DApp运行在您的工作站上,输入:
npm start
npm程序使用scripts/start.js文件来打包动物王国应用程序。一旦代码被打包,DApp就会在浏览器的http://localhost:3000url中打开动物王国。
2.从最初的动物王国画面中,选择一个动物人和一个地域。
image3.按一下这页纸的底部。
动物王国调用Gaia hub来存储您的选择。短暂的停顿之后,DApp会返回到您的王国页面。如果您有问题,刷新页面并单击菜单中的王国。
[图片上传失败...(image-64a992-1563499950440)]
4.花点时间研究一下这个应用程序。
例如,您可以编辑您的动物或访问其他页面,如动物或领土。
回到您启动应用程序运行的终端。
按CTRL-C停止应用程序。
image您总是可以使用npm start命令重新启动应用程序,正如您将在本教程的后面所做的那样。
blockstack开发人员的资源
Blockstack提供了一些资源来帮助开发人员在平台上进行构建。花点时间研究一下这些资源:
访问Blockstack论坛。这是了解其他开发人员现在或过去遇到的问题的宝贵资源。
访问Blockstack社区网站,了解您所在地区可能发生的事件。
加入Blockstack Slack通道,您可以通过填写以下表单加入该通道。
下一步该去哪里
在本节中,您了解了Blockstack平台,以及为什么它通过封装块堆栈后端的复杂性使区块链开发成为一个轻松的过程。您还为开发Blockstack web应用程序设置了一个典型的开发环境。最后,您启动并运行了本地的Animal Kingdom应用程序。
在下一节中,您将研究应用程序代码,并了解DApp中哪些记录的元素适合应用程序挖掘。继续0到dapp, 4个中的3个。
Continue to 3 of 4, Zero-to-DApp.