Truffle 教程:教你開發(fā)、部署第一個去中心化應(yīng)用 (Dapp) - 寵物商店

寵物商店是truffle中最簡單的一個例子,一般都是從這里建立對truffle的了解,之后順利起航,邁進(jìn)神奇的truffle世界!今天我們一起回顧一下這個簡單的demo是如何運行起來的~
可以根據(jù)這個網(wǎng)址跑一遍,講解的非常詳細(xì),清楚。
https://learnblockchain.cn/2018/01/12/first-dapp/
不過,小伙伴需要注意以下補(bǔ)充,就可以成功的啟動這個寵物醫(yī)院的DAPP啦!

一、我使用的版本:

Ubuntu 16.04LTS
Truffle v5.0.20
Solidity 0.5.0 以上版本
Ganache v2.0.1
MetaMask v5.3.4
答應(yīng)我,千萬不要選擇新版的Metamask,v7以上默認(rèn)啟用了隱私模式,(網(wǎng)上說可以手動關(guān)閉,但我并沒有找到可以關(guān)閉的按鈕,哭!)隱私模式就意味著web3j 在網(wǎng)頁中應(yīng)用獲取不到metamask帳戶??梢酝ㄟ^GitHub網(wǎng)址上的下載指定的版本metamask。火狐瀏覽器現(xiàn)在不支持自定義安裝未驗證的版本擴(kuò)展程序,(網(wǎng)上說通過過Firefox 配置編輯器about:config 頁)更改。將偏好extensions.langpacks.signatures.required設(shè)置為false可以解決,我試了,并不行,如果你們嘗試成功,一定要教教我,怎么弄得~)Google瀏覽器開發(fā)者模式可以,所以我用的是metamask-chrome-5.3.4。

二、Ganache下載安裝

Ganache是一個用于以太坊開發(fā)的個人區(qū)塊鏈,可以用它來部署合同,開發(fā)應(yīng)用程序和運行測試。用Ganache可以快速的來開啟一個私鏈來進(jìn)行開發(fā)測試,為開發(fā)人員帶來極大的便利??梢赃x擇安裝ganache-cli(是由命令行控制的),也可以選擇.AppImage文件的Ganache(提供用戶界面,可視化操作,更加便捷!)建議兩個都安裝。
1、安裝ganache-cli
npm install -g ganache-cli(命令行的方式)
2、安裝.AppImage文件的Ganache(視圖的方式)

在Ubuntu中,打開瀏覽器并導(dǎo)航到
https://github.com/trufflesuite/ganache/releases

https://www.trufflesuite.com/ganache
下載將作為.AppImage文件的最新Linux版本,例如ganache-2.0.1-x86_64.AppImage。(目前是2.3.0)下載完成后,打開一個新終端并切換到包含該.AppImage文件的目錄。

cd Downloads // 我下載在Downloads文件夾下
chmod +x Ganache-2.0.1.AppImage // 修改權(quán)限為可執(zhí)行文件
sudo ./Ganache-2.0.1.AppImage //啟動ganache

三、運行測試用例時

在終端運行

truffle test

會出現(xiàn)錯誤,如下圖所示:
TypeError:Type contract TestAdoption is not implicitly convertible to expected type address. address expected = this;

測試錯誤.png

這是由于編譯器版本和代碼之前編寫的版本規(guī)范不同而導(dǎo)致的錯誤,更改TestAdoption.sol來解決這個問題!
將address expected = this; 改為 address expected = address(this);
測試成功.png

四、在瀏覽器中運行,啟動npm run dev后發(fā)現(xiàn),頁面并沒有顯示我們的寵物商店,這是由于index.html文件中的jquery文件沒有加載成功,修改一下jquery文件的地址。如下:

index.html 中修改代碼:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
*替換成
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
再重新運行 npm run dev 就可以了!

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

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

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