From : https://docs.blockstack.org/develop/zero_to_dapp_2.html
在本部分中拳锚,您將了解塊堆棧平臺如何降低使用區(qū)塊鏈技術構建的障礙附帽。您將設置構建典型web DApp所需的所有先決條件曲伊。最后,您將構建并運行第1部分中介紹的動物王國DApp的自己版本谣沸。本部分的主題如下:
1.一個沒有疼痛的區(qū)塊鏈平臺
2.獲取先決條件并設置環(huán)境
3.獲取動物王國代碼
4.在開發(fā)模式中構建示例
5.啟動你的動物王國DApp
6.為blockstack開發(fā)人員提供的資源
一個沒有疼痛的區(qū)塊鏈平臺
Blockstack的任務是帶來一個新的互聯(lián)網(wǎng)辽话,用戶可以控制對他們的數(shù)據(jù)的訪問和如何使用权纤。基于這一使命逼龟,Blockstack公益公司(PBC)于2017年開始開發(fā)Blockstack平臺评凝。
該平臺的開發(fā)理念遵循兩個簡單的原則。首先腺律,創(chuàng)建后端服務奕短,使分散的應用程序具有性能和可伸縮性。其次匀钧,為區(qū)塊鏈技術提供簡單翎碑、熟悉的開發(fā)接口。這種理念的結果是一個技術平臺之斯,允許您:
在任何Javascript框架中構建應用程序日杈。您可以使用區(qū)塊鏈,而不需要學習新的編程語言或擴展應用程序堆棧。目前莉擒,Blockstack支持web應用程序的反應生成器酿炸,iOS和Android都支持sdk。
使用定義良好的REST端點來簡化和封裝區(qū)塊鏈后端涨冀。 Blockstack Javascript API將區(qū)塊鏈操作簡化為熟悉的GET和PUT操作填硕。
訪問Blockstack的命名系統(tǒng)(BNS)。系統(tǒng)有超過90K的用戶可以立即開始使用您的應用程序鹿鳖。
快速擴展到大型扁眯、高性能的生產(chǎn)系統(tǒng)。Blockstack的Gaia存儲系統(tǒng)提供了與Amazon S3翅帜、谷歌驅(qū)動器或Azure相當?shù)目焖倭蹬摹⒖缮炜s的性能。
使用Blockstack的技術藕甩,您可以立即開始在區(qū)塊鏈上構建您今天擁有的知識施敢。您不需要花費時間或精力來開發(fā)專門語言或技術的額外知識。
獲取先決條件并設置環(huán)境
要遵循本教程其余部分的步驟狭莱,您需要以下步驟:
1.用于測試您的動物王國的Blockstack ID (identity)僵娃。
2.訪問終端窗口并熟悉它提供的命令行。
3.在Mac上腋妙,安裝XCode命令行工具來支持節(jié)點包管理器(npm)
4.節(jié)點包管理器包管理器默怨。
按照本節(jié)中的步驟安裝這些組件。
注意:
為了獲得最佳效果骤素,請使用本教程中的Chrome瀏覽器匙睹。目前,Blockstack瀏覽器在Chrome中運行得最好济竹,在使用Safari或Firefox等瀏覽器時可能會遇到問題痕檬。我們正在努力解決這些問題。
確認或獲取Blockstack ID
確認您有一個Blockstack ID送浊,也稱為標識梦谜;joe.id.blockstack是標識的一個例子。
如果您有一個現(xiàn)有ID袭景,請登錄到瀏覽器中的blockstack瀏覽器唁桩。
登錄確認您擁有一個有效的ID,其中包含所需的密鑰或魔法恢復代碼耸棒。密鑰是在創(chuàng)建ID時記錄的一個12或24個單詞短語荒澡。神奇的恢復代碼是在創(chuàng)建身份時發(fā)送給您的一串字符。你可以用任何一個來確認你的身份与殃。
如果您還沒有塊堆棧ID单山,可以通過blockstack瀏覽器創(chuàng)建一個捏肢。
本文檔中提供了創(chuàng)建ID的說明。
確保命令行訪問
如果您正在使用Mac饥侵,您可以在應用程序> Launchpad >其他文件夾中找到終端鸵赫。
如果您不經(jīng)常使用命令行,請花點時間測試一些常見的命令躏升。
pwd : 打印工作目錄的名稱;命令行所在的當前目錄辩棒。
ls : 列出當前目錄中的文件和目錄。
cd : 更改目錄以導航到文件系統(tǒng)中的位置膨疏。
安裝XCode命令行工具
命令行工具包為Mac終端用戶提供了許多常用的工具一睁、實用程序和編譯器。NPM安裝的一些內(nèi)容需要XCode佃却。
1.打開系統(tǒng)上的終端窗口者吁。
2.輸入xcode-select命令字符串:
$ xcode-select —install
軟件更新對話框顯示:
3.單擊Install確認。
您將被提示同意服務條款饲帅。
4.同意服務條款复凳。
工具安裝好了。這取決于您的連接速度灶泵。
安裝節(jié)點包管理器(NPM)
來自各個大陸的開放源碼開發(fā)人員都使用NPM來共享稱為包的軟件組件育八。動物王國使用React、Babel和許多其他組件赦邻。您將使用npm命令來安裝這些打包的組件髓棋。
1.打開系統(tǒng)上的終端窗口。
2.使用which命令驗證您已經(jīng)安裝了npm惶洲。
如果安裝了npm按声,它將返回命令在您的環(huán)境中的位置。
3.如果npm命令不在您的系統(tǒng)中恬吕,請使用操作系統(tǒng)的說明安裝它签则。
安裝NPM工具可能需要幾分鐘,這取決于您的連接速度币呵。
獲取動物王國代碼
在本節(jié)中怀愧,您將動物王國的代碼復制到工作站上。
1.在您的瀏覽器中(推薦使用Chrome)余赢,打開動物王國代碼庫。AnimalKingdom代碼保存在公共GitHub存儲庫中哈垢。
2.單擊克隆或下載按鈕妻柒。
如果您有一個GitHub帳戶,您可以選擇克隆原始存儲庫耘分,或者將其分叉举塔,然后克隆它绑警。這些說明假定您正在下載代碼。
3.選擇動物王國的下載ZIP央渣。
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命令列出目錄內(nèi)容蚊俺。
README.md
包含一個建立和運行動物王國的快速參考懈涛。
package.json
一個NPM項目文件和一個相應的.lock文件。
public
復制到正在構建的站點根目錄中的文件泳猬。
cors
支持跨源請求配置的文件批钠。
src
React網(wǎng)站源代碼。這包含配置文件得封。
在開發(fā)模式中構建示例
您可以在本地工作站上構建和運行動物王國芦疏。在運行程序之前宴倍,使用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
$
該命令為項目代碼創(chuàng)建一個node_modules子目錄谴分,并安裝動物王國項目所需的所有代碼庫鸠天。
3.輸入ls命令,列出項目目錄的內(nèi)容手形,以驗證是否正確安裝了npm啥供。
$ ls
node_modulesdirectory包含許多動物王國使用的核心庫。例如库糠,Blockstack Javascript庫位于nodule_modules/ Blockstack /lib子目錄中伙狐。
啟動你的動物王國DApp
1.啟動動物王國DApp運行在您的工作站上,輸入:
npm start
npm程序使用scripts/start.js文件來打包動物王國應用程序瞬欧。一旦代碼被打包贷屎,DApp就會在瀏覽器的http://localhost:3000url中打開動物王國。
2.從最初的動物王國畫面中艘虎,選擇一個動物人和一個地域唉侄。
3.按一下這頁紙的底部。
動物王國調(diào)用Gaia hub來存儲您的選擇野建。短暫的停頓之后属划,DApp會返回到您的王國頁面恬叹。如果您有問題,刷新頁面并單擊菜單中的王國同眯。
[圖片上傳失敗...(image-64a992-1563499950440)]
4.花點時間研究一下這個應用程序绽昼。
例如,您可以編輯您的動物或訪問其他頁面须蜗,如動物或領土硅确。
回到您啟動應用程序運行的終端。
按CTRL-C停止應用程序唠粥。
您總是可以使用npm start命令重新啟動應用程序疏魏,正如您將在本教程的后面所做的那樣。
blockstack開發(fā)人員的資源
Blockstack提供了一些資源來幫助開發(fā)人員在平臺上進行構建晤愧〈竽花點時間研究一下這些資源:
訪問Blockstack論壇。這是了解其他開發(fā)人員現(xiàn)在或過去遇到的問題的寶貴資源官份。
訪問Blockstack社區(qū)網(wǎng)站只厘,了解您所在地區(qū)可能發(fā)生的事件。
加入Blockstack Slack通道舅巷,您可以通過填寫以下表單加入該通道羔味。
下一步該去哪里
在本節(jié)中,您了解了Blockstack平臺钠右,以及為什么它通過封裝塊堆棧后端的復雜性使區(qū)塊鏈開發(fā)成為一個輕松的過程赋元。您還為開發(fā)Blockstack web應用程序設置了一個典型的開發(fā)環(huán)境。最后飒房,您啟動并運行了本地的Animal Kingdom應用程序搁凸。
在下一節(jié)中,您將研究應用程序代碼狠毯,并了解DApp中哪些記錄的元素適合應用程序挖掘护糖。繼續(xù)0到dapp, 4個中的3個。
Continue to 3 of 4, Zero-to-DApp.