美文网首页以太坊- Ethereum我爱编程
以太坊开发(七)Mist 0.9.4环境搭建

以太坊开发(七)Mist 0.9.4环境搭建

作者: yuyangray | 来源:发表于2018-03-02 21:57 被阅读947次

    Mist介绍

    Mist是以太坊官方的在线钱包管理工具。通过 Mist 我们可以很方便的连接上我们的私有网络,从而更好的开发、调试、测试我们的智能合约。既可以连接生产网络、测试网络,更加可以通过设置参数的方式,连接我们自己的私有网络。

    Mist 在通过 geth.ipc 文件连接后,就和 Geth 所建立的网络完全契合在一起了,在 Mist 上部署的合约,实际上也就是部署在了 Geth 网络上。Geth 网络上新建账号,也可以在 Mist 这个工具上看到。

    本文环境:

    Mac OS 10.13.3

    Node v9.5.0

    Geth v1.8.1

    Meteor v1.6.1

    yarn v1.5.1

    electron v1.8.2

    gulp v3.9.1

    Mist v0.9.4

    安装Mist

    (一)安装依赖的工具包

    Node.js

    之前文章已经介绍过了。

    Meteor

    Meteor 是一套让用户在短时间内搭建一个高质量网页应用的新技术,面向的用户不仅是专业的开发者,还包括刚入门者。

    安装:

    yuyangdeMacBook-Pro:~ yuyang$ curl https://install.meteor.com/ | sh
    

    检查:

    yuyangdeMacBook-Pro:~ yuyang$ meteor --version
    Meteor 1.6.1
    

    Yarn

    Facebook推出并开源的类似于npm的包管理工具。

    安装:

    yuyangdeMacBook-Pro:~ yuyang$ brew install yarn
    

    检查:

    yuyangdeMacBook-Pro:~ yuyang$ yarn --version
    1.5.1
    

    Electron

    使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用。

    安装:

    yuyangdeMacBook-Pro:~ yuyang$ yarn global add electron@1.8.2
    

    检查:

    yuyangdeMacBook-Pro:~ yuyang$ electron --version
    v1.8.2
    

    Gulp

    基于流的自动化构建工具。

    安装:

    yuyangdeMacBook-Pro:~ yuyang$ yarn global add gulp
    

    检查:

    yuyangdeMacBook-Pro:~ yuyang$ gulp --version
    [21:08:09] CLI version 3.9.1
    

    安装Mist

    安装

    $ git clone https://github.com/ethereum/mist.git
    $ cd mist
    $ yarn
    

    这里可能会遇到几个问题:

    • Mist大概有300-400M,下载超慢且经常失败,翻不翻墙都一样,只有耐心等待。有大神有更好解决方法的请留言,感谢!

    • Mist下载完成后,在其目录执行yarn,可能会卡在安装electron-chromedriver(忘记截图了)。翻墙也不行。网上查到有以下两种解决办法(其实都是使用淘宝源):

      1. 使用此命令安装:
        npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver

      2. 设置ChromeDriver的源:
        export CHROMEDRIVER_CDNURL=http://npm.taobao.org/mirrors/chromedriver

      3. 另外这篇文章讲述ChromeDriver的相关配置。

    启动 Mist,连接到 Geth

    先启动Geth

    geth \
      --datadir "./chain" \
      --nodiscover \
      console
    

    新开一个窗口,运行 Mist

    yuyangdeMacBook-Pro:mist yuyang$ cd /Users/yuyang/mist/interface 
    yuyangdeMacBook-Pro:interface yuyang$ meteor --no-release-check
    

    第一次运行会慢一些,会启动proxy、MongoDB等程序,同时下载一些依赖组件。

    yuyangdeMacBook-Pro:mist yuyang$ cd /Users/yuyang/mist/interface 
    yuyangdeMacBook-Pro:interface yuyang$ meteor --no-release-check
    [[[[[ ~/mist/interface ]]]]]                                                    
    
    => Started proxy.                             
    => Started MongoDB.                           
    => Started your app.                                                            
    
    => App running at: http://localhost:3000/
    => Client modified -- refreshing
    

    我们启用以太坊私有链以后,在 ./chain 目录上会创建私有链的一些数据,里面有一个 geth.ipc 文件。

    yuyangdeMacBook-Pro:~ yuyang$ cd /Users/yuyang/Test 
    yuyangdeMacBook-Pro:Test yuyang$ ll chain
    total 64
    drwx------  7 yuyang  staff    238  3  2 16:52 ./
    drwxr-xr-x  6 yuyang  staff    204  2 24 22:00 ../
    -rw-r--r--@ 1 yuyang  staff   6148  3  2 16:53 .DS_Store
    drwxr-xr-x  8 yuyang  staff    272  3  2 16:52 geth/
    srw-------  1 yuyang  staff      0  3  2 16:52 geth.ipc=
    -rw-------  1 yuyang  staff  22313  3  1 19:51 history
    drwx------  4 yuyang  staff    136  2 28 19:03 keystore/
    

    注:ll指令报错请看这里

    新起一个命令行窗口中,回到Mist文件夹下,运行以下命令,用 Mist 连接我们用 Geth 启动的私有链:

    yuyangdeMacBook-Pro:~ yuyang$ cd /Users/yuyang/mist 
    yuyangdeMacBook-Pro:mist yuyang$ yarn dev:electron --rpc /Users/yuyang/Test/chain/geth.ipc 
    

    更新一下,如果报错的话,回到mist文件夹重新拉取更新一下

    $ cd mist
    $ git pull
    $ yarn
    

    运行成功后,会显示小窗口,直接点击 LAUNCH APPLICATION即可。

    成功打开Mist界面!

    参考:Go-Ethereum 1.7.2 结合 Mist 0.9.2 实现代币智能合约的实例
    作者:迦壹

    相关文章

      网友评论

      • f6894b02fa07:最后一步的启动。。。。[2018-09-17T17:50:08.527] [WARN] (ui: popupWindow) - numeral.js couldn't set number formating: Unknown language : zh
        这是咋回事啊
      • jianshuer045:有没有在windows下编译成功的朋友,交流一下,可以缴点学费
        jianshuer045:我编译一大堆问题
      • 31e5ee313d42:⠐ electron-chromedriver
        [-/11] ⠐ waiting...
        [6/11] ⠐ electron
        [-/11] ⠐ waiting...
        [-/11] ⠈ waiting...
        求楼主翻牌
        yuyangray:@31e5ee313d42 我之前也遇到过类似的问题,很久没打开Mist,然后打开后报错,建议更新下Mist试试【如果报错的话,回到mist文件夹重新拉取更新一下】
        31e5ee313d42:下载好了,Mist也能够打开了,然后隔几天重新就打不开了。。。楼主能给个联系方式沟通沟通吗。。。
        yuyangray:使用淘宝源试过了吗?
      • 31e5ee313d42:error An unexpected error occurred: "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-1.9.11.tgz: ESOCKETTIMEDOUT".
        楼主,能帮忙看下这什么错吗。。
        yuyangray:@31e5ee313d42 建议直接Google
      • 31e5ee313d42:info There appears to be trouble with your network connection. Retrying...
        楼主这就是所谓的网络问题吗。。。。
        yuyangray:@31e5ee313d42 太久了当时也忘了截图,不太确定
      • MillerWang:electron 安装成功了,但是执行electron --version命令的时候提示 command not found
        yuyangray:@MillerWang 好神奇,明明显示安装成功了的。。。要不Google一下吧
        MillerWang:@yuyangray
        localhost:~ wangmengliang$ yarn global add electron@1.8.2
        yarn global v1.6.0
        [1/4] 🔍 Resolving packages...
        [2/4] 🚚 Fetching packages...
        [3/4] 🔗 Linking dependencies...
        [4/4] 📃 Building fresh packages...
        success Installed "electron@1.8.2" with binaries:
        - electron
        ✨ Done in 2.82s.
        localhost:~ wangmengliang$ electron --version
        -bash: electron: command not found
        localhost:~ wangmengliang$
        能看出什么问题吗?
        yuyangray:我再次试了下electron --version,返回v1.8.2。建议你看下命令是否输入正确,如果正确的话只能说明没安装成功
      • 冰_Angus:好不容易到最后一步了 结果报错
        App threw an error during load
        /home/pdd/mist/main.js:16
        import configureReduxStore from './modules/core/store';
        ^^^^^^

        SyntaxError: Unexpected token import
        yuyangray:@冰_Angus :joy: :joy: :joy:
        冰_Angus:@yuyangray 直接下了个release版打开算了:joy: 弄了几天 弄烦了:joy:
        yuyangray:我的main.js的16行内容和你一样,但是没报错。建议重新安装试试或者网上搜下有没有人遇到类似问题,如果解决了也请告知是如何解决的,让更多人看到,谢谢!

      本文标题:以太坊开发(七)Mist 0.9.4环境搭建

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