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

软件更新对话框显示:

image

3.单击Install确认。
您将被提示同意服务条款。

4.同意服务条款。
工具安装好了。这取决于您的连接速度。

安装节点包管理器(NPM)

来自各个大陆的开放源码开发人员都使用NPM来共享称为包的软件组件。动物王国使用React、Babel和许多其他组件。您将使用npm命令来安装这些打包的组件。

1.打开系统上的终端窗口。
2.使用which命令验证您已经安装了npm。

image

如果安装了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.从最初的动物王国画面中,选择一个动物人和一个地域。

image

3.按一下这页纸的底部。

动物王国调用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.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容