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

資訊專欄INFORMATION COLUMN

理解以太坊DApp及開發(fā)工具

tinna / 2243人閱讀

摘要:一理解以太坊工具以太坊有很多工具,隨著時(shí)間的推移有些會(huì)過時(shí),但早期的網(wǎng)絡(luò)文章會(huì)有介紹,從而與目前的工具造成時(shí)差上的迷惑,有些工具是隨著工程化的需要逐漸流行起來(lái)的??梢暬囊蕴诲X包,可以管理賬戶發(fā)布合約。

一、理解以太坊工具

以太坊有很多工具,隨著時(shí)間的推移有些會(huì)過時(shí),但早期的網(wǎng)絡(luò)文章會(huì)有介紹,從而與目前的工具造成時(shí)差上的迷惑,有些工具是隨著工程化的需要逐漸流行起來(lái)的。有必要梳理以下:

1、go-ethereum:以太坊Go語(yǔ)言版本的源碼(也叫Client,注意區(qū)塊鏈網(wǎng)絡(luò)里沒有服務(wù)端)。

2、Geth:go-ethereum的命令行終端,能調(diào)用go-ethereum的API??梢酝ㄟ^多種方式獲得,比如用homebrew安裝、下載可執(zhí)行二進(jìn)制文件、通過go install/make geth go-ethereum源碼等方式得到geth。

3、Ethereum Wallet:可視化的Geth(以太坊錢包),可以管理賬戶、發(fā)布合約。

4、Mist:以太坊瀏覽器,因?yàn)樗B接的是以太坊區(qū)塊鏈網(wǎng)絡(luò),可以通過mist訪問DApp,當(dāng)然也能訪問管理Ethereum Wallet。

5、Solidity:開發(fā)智能合約的編程語(yǔ)言,運(yùn)行在EVM。

6、Remix:開發(fā)智能合約的IDE,基于瀏覽器。適合新手(版本控制、存儲(chǔ)等不便)。(Mix停止更新,browser-solidity也停止更新,都使用Remix了)

7、Truffle和Embark是開發(fā)DApps的兩個(gè)常用框架,可以寫代碼-編譯-部署-測(cè)試-打包DApp(注意不僅僅可以開發(fā)智能合約)。

8、web3:以太坊基金會(huì)為DApp開發(fā)的標(biāo)準(zhǔn)RPC訪問接口,也就是以太坊區(qū)塊鏈網(wǎng)絡(luò)與鏈外網(wǎng)絡(luò)的連接橋梁。
二、DAPP的工具、開發(fā)與原理

通過一個(gè)Dapp開發(fā)例子來(lái)理解。

1、安裝truffle(音:車否)

npm i -g truffle

2、安裝Ganache(音:擱那師),Ganache是用于以太坊開發(fā)的僅為個(gè)人使用的區(qū)塊鏈,下載可視化安裝包。
http://truffleframework.com/g...

3、新建Dapp項(xiàng)目。首先新建一個(gè)空目錄如dapp,然后進(jìn)入空目錄。

通??梢杂胻ruffle初始化工程:

truffle init

也可以從truffle在線應(yīng)用里拆箱即用一個(gè)模板如webpack:

truffle unbox webpack

我們用第二種方式進(jìn)行下文演示。

4、我使用的IDE是GoLand(intellij idea系列的IDE都可以),安裝插件Intellij-Solidity。打開工程后就可以友好地編寫智能合約和DApp了。

dapp目錄下的幾個(gè)文件說明:

truffle.js:默認(rèn)配置了一個(gè)網(wǎng)絡(luò),這個(gè)網(wǎng)絡(luò)啟動(dòng)ganache后就自動(dòng)啟用了(每次啟動(dòng)都是全新的初始網(wǎng)絡(luò),之前的應(yīng)用數(shù)據(jù)會(huì)丟失),智能合約就是被部署到這個(gè)網(wǎng)絡(luò)里的。

migrations目錄:這里面是合約的部署腳本,注意命名以數(shù)字加下劃線開頭,合約部署時(shí)按這個(gè)數(shù)字序號(hào)順序執(zhí)行。

5、編譯工程

終端cd到dapp目錄下執(zhí)行編譯命令

truffle compile

會(huì)看到dapp下多了一個(gè)build目錄,存放編譯后的文件。這些文件都是json格式,可以在應(yīng)用代碼文件中通過import或require引用這些編譯后的合約文件。

6、部署合約到區(qū)塊鏈網(wǎng)絡(luò)

在終端里執(zhí)行

truffle migrate

執(zhí)行結(jié)束并成功后可以從ganache界面中看到產(chǎn)生了幾個(gè)區(qū)塊和幾筆交易,這些交易是從默認(rèn)的第一個(gè)外部擁有賬戶到合約賬戶(這兩個(gè)賬戶的概念參見以太坊黃皮書說明,此處不大篇贅述)。

7、打包應(yīng)用程序并訪問

在終端里執(zhí)行(應(yīng)用程序根目錄下)

1)webpack編譯打包應(yīng)用

npm run build

【DApp原理】這個(gè)打包的結(jié)果就是單頁(yè)前端應(yīng)用SPA (Single-Page App)。你可以將它放在自己的云web服務(wù)器上,服務(wù)器上同時(shí)要部署一個(gè)以太節(jié)點(diǎn),應(yīng)用通過節(jié)點(diǎn)接入?yún)^(qū)塊鏈網(wǎng)絡(luò)。DApp一般都部署在鏈外,合約是發(fā)布到鏈上的。因特網(wǎng)的用戶訪問App界面操作功能,這些功能是合約暴露的web3接口。DApp之所以是去中心化的,就在于其核心——合約,分布于鏈上所有節(jié)點(diǎn)。

2)本地啟用app

npm run dev

訪問 http://localhost:8080,就可以看到dapp的界面,包含可視化的合約功能。

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

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

相關(guān)文章

  • 以太Dapp相關(guān)開發(fā)工具介紹

    摘要:郵件列表以太坊上的開發(fā)者郵件列表停止使用。開發(fā)的移動(dòng)以太坊瀏覽器開發(fā)階段由支持的瀏覽器內(nèi)。是以太坊的開發(fā)環(huán)境,測(cè)試框架和資產(chǎn)管道。審查隨機(jī)數(shù)以太坊虛擬機(jī)是以太坊智能合約的執(zhí)行環(huán)境。 去中心化應(yīng)用去中心化應(yīng)用是可以使用戶和供應(yīng)商之間直接互動(dòng)的服務(wù)(例如,連接某些市場(chǎng)上的買方和賣方,文件存儲(chǔ)里的持有者和儲(chǔ)存者)。以太坊去中心化應(yīng)用典型地通過HTML/Javascript網(wǎng)絡(luò)應(yīng)用與用戶互動(dòng),...

    FleyX 評(píng)論0 收藏0
  • 以太是什么 - 以太開發(fā)入門指南

    摘要:以太坊是什么以太坊是一個(gè)建立在區(qū)塊鏈技術(shù)之上,去中心化應(yīng)用平臺(tái)。運(yùn)行環(huán)境以太坊虛擬機(jī)是以太坊中智能合約的運(yùn)行環(huán)境。是由以太坊客戶端提供的是典型的開發(fā)以太坊時(shí)使用的客戶端,基于語(yǔ)言開發(fā)。 本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)原文鏈接:以太坊是什么 - 以太坊開發(fā)入門指南原文已更新,請(qǐng)讀者前往原文閱讀 很多同學(xué)已經(jīng)躍躍欲試投入到區(qū)塊鏈開發(fā)隊(duì)伍當(dāng)中來(lái),可是又感覺無(wú)從下手,本文將基于以太坊平臺(tái),以通俗...

    tomlingtm 評(píng)論0 收藏0
  • 區(qū)塊鏈技術(shù)學(xué)習(xí)指引

    摘要:引言給迷失在如何學(xué)習(xí)區(qū)塊鏈技術(shù)的同學(xué)一個(gè)指引,區(qū)塊鏈技術(shù)是隨比特幣誕生,因此要搞明白區(qū)塊鏈技術(shù),應(yīng)該先了解下比特幣。但區(qū)塊鏈技術(shù)不單應(yīng)用于比特幣,還有非常多的現(xiàn)實(shí)應(yīng)用場(chǎng)景,想做區(qū)塊鏈應(yīng)用開發(fā),可進(jìn)一步閱讀以太坊系列。 本文始發(fā)于深入淺出區(qū)塊鏈社區(qū), 原文:區(qū)塊鏈技術(shù)學(xué)習(xí)指引 原文已更新,請(qǐng)讀者前往原文閱讀 本章的文章越來(lái)越多,本文是一個(gè)索引帖,方便找到自己感興趣的文章,你也可以使用左側(cè)...

    Cristic 評(píng)論0 收藏0
  • 在區(qū)塊鏈上編程:DApp 開發(fā)簡(jiǎn)介

    摘要:目前通常指代基于以太坊或者上的智能合約開發(fā)的相關(guān)應(yīng)用。引入以太坊通過的交互流程大致如下總結(jié)隨著區(qū)塊鏈近些年的大紅大紫,被推上了風(fēng)口浪尖,本文從技術(shù)的角度大致介紹了一下所涉及的技術(shù)要點(diǎn)。 當(dāng)你開始探索區(qū)塊鏈開發(fā),需要了解到這些。 showImg(https://segmentfault.com/img/remote/1460000016608233?w=1370&h=389); 一、DA...

    huangjinnan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<