成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

如何寫一個最簡單的區(qū)塊鏈小程序“Hello Blockstack”,內(nèi)附詳細(xì)blockstack教程

netScorpion / 1600人閱讀

摘要:這是一個最簡單的區(qū)塊鏈小程序的搭建過程,這個程序不需要后端,也不需要用戶進(jìn)行注冊數(shù)據(jù)庫。

這是一個最簡單的區(qū)塊鏈小程序“Hello Blockstack”的搭建過程,這個程序不需要后端api,也不需要用戶進(jìn)行注冊數(shù)據(jù)庫。

在這篇教程中我們會用到下面的工具:

npm to manage dependencies and scripts

browserify to compile node code into browser-ready code

blockstack.js to authenticate the user and work with the user"s identity/profile information

第一步:安裝yeoman

npm install -g yo generator-blockstack

第二步:給程序創(chuàng)建一個新的目錄

mkdir hello-blockstack && cd hello-blockstack
yo blockstack

第三步:運(yùn)行

npm run start

主要的代碼注釋和理解:

主要的文件是 app.js (在/public 文件夾里面),代碼被包括在監(jiān)聽事件里面,直到dom內(nèi)容加載完成

document.addEventListener("DOMContentLoaded", function(event) {
})

在這個里面,我們有一個signin handler來處理用戶的請求和進(jìn)入

document.getElementById("signin-button").addEventListener("click", function() {
  blockstack.redirectUserToSignIn()
})

我們也有一個signout handler 來進(jìn)行處理用戶的推出

document.getElementById("signout-button").addEventListener("click", function() {
  blockstack.signUserOut(window.location.origin)
})

下一步,我們有一個函數(shù)來顯示用戶的簡歷

function showProfile(profile) {
  var person = new blockstack.Person(profile)
  document.getElementById("heading-name").innerHTML = person.name()
  document.getElementById("avatar-image").setAttribute("src", person.avatarUrl())
  document.getElementById("section-1").style.display = "none"
  document.getElementById("section-2").style.display = "block"
}

有三種狀態(tài)可以讓用戶登錄

The user is already signed in
The user has a sign in request that is pending
The user is signed out

代碼表達(dá)方式

if (blockstack.isUserSignedIn()) {
  // Show the user"s profile
} else if (blockstack.isSignInPending()) {
  // Sign the user in
} else {
  // Do nothing
}

在用戶請求的過程中

if (blockstack.isUserSignedIn()) {
  var profile = blockstack.loadUserData().profile
  showProfile(profile)
} else if (blockstack.isSignInPending()) {
  blockstack.handlePendingSignIn().then(function(userData) {
    window.location = window.location.origin
  })
}

程序顯示樣式的控制文件:
控制這個程序顯示樣式的文件是 (/public/manifest.json)

{
  "name": "Hello, Blockstack",
  "start_url": "localhost:5000",
  "description": "A simple demo of Blockstack Auth",
  "icons": [{
    "src": "https://helloblockstack.com/icon-192x192.png",
    "sizes": "192x192",
    "type": "image/png"
  }]
}

源代碼實(shí)現(xiàn):

git init
git add . && git commit -m "first commit"

然后去github添加一個新的repo
https://github.com/new

git remote add origin [email protected]:YOUR_USERNAME_HERE/hello-blockstack.git
git push origin master

加入到blockstack社區(qū)中來:https://contribute.blockstack...
下載blockstack:https://blockstack.org/install

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/24051.html

相關(guān)文章

  • 如何blockstack一個區(qū)塊鏈“微博”程序?

    摘要:工具教程在本教程中,我們將使用存儲系統(tǒng)構(gòu)建一個區(qū)塊鏈微博應(yīng)用程序,從而使用戶提交的文字和圖片沒有發(fā)布到中心服務(wù)器中,而是在自己的本地電腦。 Blockstack.js 工具教程 在本教程中,我們將使用Gaia存儲系統(tǒng)構(gòu)建一個區(qū)塊鏈微博應(yīng)用程序,從而使用戶提交的文字和圖片沒有發(fā)布到中心服務(wù)器中,而是在自己的本地電腦。此應(yīng)用程序?qū)⑹且粋€完全分散且無需服務(wù)器的access . js應(yīng)用程序。...

    I_Am 評論0 收藏0
  • Blockstack正在測試區(qū)塊鏈網(wǎng)絡(luò)Stacks testnet

    摘要:程序員們在這個測試網(wǎng)絡(luò)上可以嘗試發(fā)送和接收使用購買域名和命名空間注冊子域名使用我們的命令行工具是由功能完備的核心節(jié)點(diǎn)組成的,它允許您在區(qū)塊鏈網(wǎng)絡(luò)上上執(zhí)行所有相同的操作。 showImg(https://segmentfault.com/img/bV92g9?w=1000&h=576); developers can experiment with: Sending and receiv...

    Gemini 評論0 收藏0
  • 區(qū)塊鏈發(fā)展史

    摘要:秘猿科技區(qū)塊鏈小課堂第期點(diǎn)擊關(guān)注秘猿科技在思否的技術(shù)社區(qū)吧區(qū)塊鏈發(fā)展史發(fā)展和成果眾所周知,區(qū)塊鏈發(fā)源于比特幣這個項(xiàng)目,也可以說比特幣是區(qū)塊鏈的第一個應(yīng)用。 區(qū)塊鏈技術(shù)并不是一項(xiàng)憑空出世的神奇技術(shù),而是站在前人幾百年的研究基礎(chǔ)之上,將多學(xué)科進(jìn)行融合發(fā)展而成的一項(xiàng)技術(shù)。為了讓大家能夠明白區(qū)塊鏈技術(shù),到底是對哪些傳統(tǒng)技術(shù)的融合和發(fā)展,秘猿科技區(qū)塊鏈小課堂給大家?guī)砹送ㄋ滓锥牡诙恼拢V...

    kyanag 評論0 收藏0
  • 區(qū)塊鏈開發(fā)中使用流行編程語言

    摘要:我們目前正處于一個新興的區(qū)塊鏈開發(fā)行業(yè)中。,一種在以太坊開發(fā)人員中流行的新的簡單編程語言,因?yàn)樗怯糜陂_發(fā)以太坊智能合約的語言。它是全球至少萬開發(fā)人員使用的世界上最流行的編程語言之一。以太坊,主要是針對工程師使用進(jìn)行區(qū)塊鏈以太坊開發(fā)的詳解。 我們目前正處于一個新興的區(qū)塊鏈開發(fā)行業(yè)中。區(qū)塊鏈技術(shù)處于初期階段,然而這種顛覆性技術(shù)已經(jīng)成功地風(fēng)靡全球,并且最近經(jīng)歷了一場與眾不同的繁榮。由于許多...

    2shou 評論0 收藏0
  • 追求極致設(shè)計理念!用 RISC-V 從頭設(shè)計 CKB 虛擬機(jī)

    摘要:目前,比特幣使用的是來進(jìn)行交易簽名,并且在共識協(xié)議中使用了哈希算法。盡管的實(shí)現(xiàn)提供的是最流行的加密算法,但我們鼓勵社區(qū)提供更優(yōu)化的加密算法實(shí)現(xiàn)以減少運(yùn)行時開銷。 Nervos 底層公鏈 CKB 的虛擬機(jī)(CKB-VM)是基于 RISC-V 指令集打造的區(qū)塊鏈虛擬機(jī)。在上一堂分享中,我們簡單介紹了區(qū)塊鏈虛擬機(jī),以及我們理想中的區(qū)塊鏈虛擬機(jī)的樣子。在本篇文章中,CKB-VM 設(shè)計者將詳細(xì)的...

    he_xd 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<