美文网首页
Truffle 教程:教你开发、部署第一个去中心化应用 (Dap

Truffle 教程:教你开发、部署第一个去中心化应用 (Dap

作者: 花爬满篱笆 | 来源:发表于2020-04-18 08:17 被阅读0次

    宠物商店是truffle中最简单的一个例子,一般都是从这里建立对truffle的了解,之后顺利起航,迈进神奇的truffle世界!今天我们一起回顾一下这个简单的demo是如何运行起来的~
    可以根据这个网址跑一遍,讲解的非常详细,清楚。
    https://learnblockchain.cn/2018/01/12/first-dapp/
    不过,小伙伴需要注意以下补充,就可以成功的启动这个宠物医院的DAPP啦!

    一、我使用的版本:

    Ubuntu 16.04LTS
    Truffle v5.0.20
    Solidity 0.5.0 以上版本
    Ganache v2.0.1
    MetaMask v5.3.4
    答应我,千万不要选择新版的Metamask,v7以上默认启用了隐私模式,(网上说可以手动关闭,但我并没有找到可以关闭的按钮,哭!)隐私模式就意味着web3j 在网页中应用获取不到metamask帐户。可以通过GitHub网址上的下载指定的版本metamask。火狐浏览器现在不支持自定义安装未验证的版本扩展程序,(网上说通过过Firefox 配置编辑器about:config 页)更改。将偏好extensions.langpacks.signatures.required设置为false可以解决,我试了,并不行,如果你们尝试成功,一定要教教我,怎么弄得~)Google浏览器开发者模式可以,所以我用的是metamask-chrome-5.3.4。

    二、Ganache下载安装

    Ganache是一个用于以太坊开发的个人区块链,可以用它来部署合同,开发应用程序和运行测试。用Ganache可以快速的来开启一个私链来进行开发测试,为开发人员带来极大的便利。可以选择安装ganache-cli(是由命令行控制的),也可以选择.AppImage文件的Ganache(提供用户界面,可视化操作,更加便捷!)建议两个都安装。
    1、安装ganache-cli
    npm install -g ganache-cli(命令行的方式)
    2、安装.AppImage文件的Ganache(视图的方式)

    在Ubuntu中,打开浏览器并导航到
    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 // 修改权限为可执行文件
    sudo ./Ganache-2.0.1.AppImage //启动ganache

    三、运行测试用例时

    在终端运行

    truffle test

    会出现错误,如下图所示:
    TypeError:Type contract TestAdoption is not implicitly convertible to expected type address. address expected = this;

    测试错误.png
    这是由于编译器版本和代码之前编写的版本规范不同而导致的错误,更改TestAdoption.sol来解决这个问题!
    将address expected = this; 改为 address expected = address(this);
    测试成功.png

    四、在浏览器中运行,启动npm run dev后发现,页面并没有显示我们的宠物商店,这是由于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 就可以了!

    相关文章

      网友评论

          本文标题:Truffle 教程:教你开发、部署第一个去中心化应用 (Dap

          本文链接:https://www.haomeiwen.com/subject/frymvhtx.html