菜鳥:開發(fā)了第一個智能合約和網(wǎng)頁交互

第一次次開發(fā)使用的是truffle和testrpc,testrpc是在本地使用內(nèi)存模擬使用的以太坊環(huán)境,對開發(fā)來說更加方便快捷,調(diào)試。通過testrpc 開發(fā)測試后,OK后,再部署到正式網(wǎng)絡上去。

當然這里你也可以使用truffle和Embark ,這也是開發(fā)DApps的常用框架,我第一次是使用testrpc。

testrpc的安裝:

你需要node 環(huán)境,接著你使用sudo npm install -g ethereumjs-testrpc 命令即可。


我們輸入控制臺中輸入testrpc? ?可以看到 版本號是:v6.0.3 ,默認給出了10個測試賬戶以及它們的私鑰。

OK 這樣表示我們的testrpc 的服務已經(jīng)啟動成功,服務的默認端口是8545.

truffle的使用安裝:

輸入命令sudo npm install -g truffle 即可,等待安裝


控制臺輸入 truffle命令后 我們可以看到 版本號及使用命令提示,說明我們的truffle工具安裝成功。

創(chuàng)建第一個truffle 框架的應用:

創(chuàng)建一個目錄:MyOK,進入MyOK目錄輸入:truffle unbox webpack? 命令即可生成一個簡單的工程。注意使用truffle unbox和truffle init 命令后面不帶webpack 參數(shù)時不會不會生成WebApp j結(jié)構。


現(xiàn)在最簡單的工程我們已經(jīng)生成。

工程生成有有個測試的合約MetaCoin。

注意檢查項目的truffle.js 文件和APP目錄里面的javaScripts的app.js,我們須修改POST端口為8545.

1,不修改任何代碼,使用truffle complie 編譯合約,這一步?jīng)]問題。

2,使用truffle?migrate 部署合約,沒有提示任何錯誤,OK部署成功。

3,使用npm run dev 命令運行合約的web頁面。這一步一定要在部署合約后才運行,不然會提示錯誤not found: Error: Can't resolve '../../build/contracts/MetaCoin.json'?

這里合約是通過以太坊智能合約ABI接口交互。

我們在谷歌瀏覽器中輸入地址:http://localhost:8080/ ,如果谷歌瀏覽器安裝有MeTaMask插件,我們需要把MetMask 的網(wǎng)路地址切換到LocalHost 8545,不然會提示用戶信息錯誤。

在有MetaMask插件的谷歌瀏覽器中會發(fā)現(xiàn)You have?0?META,OK這個沒毛病,這個賬戶是你的Metamask的賬戶,不是testrpc的賬戶

在沒有其它瀏覽器中如Safari 中 默認的是testrpc 的第一個賬戶You have?10000?META。

我們進行一比轉(zhuǎn)賬:從testrpc 的第一賬戶中轉(zhuǎn)10個META幣到MetaMask的賬戶


我們看到已經(jīng)有10個META了。

好了萬里長征第一步,我們已經(jīng)可以搭建最簡單的Dapps 開發(fā)工程了,下一步接著努力繼續(xù)。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容