亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

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

netScorpion / 1634人閱讀

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

這是一個最簡單的區(qū)塊鏈小程序“Hello Blockstack”的搭建過程,這個程序不需要后端api,也不需要用戶進行注冊數(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

第三步:運行

npm run start

主要的代碼注釋和理解:

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

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

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

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

我們也有一個signout handler 來進行處理用戶的推出

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

代碼表達方式

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"
  }]
}

源代碼實現(xiàn):

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

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

git remote add origin git@github.com:YOUR_USERNAME_HERE/hello-blockstack.git
git push origin master

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

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

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

相關文章

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

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

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

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

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

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

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

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

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

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

    he_xd 評論0 收藏0

發(fā)表評論

0條評論

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