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
-
Mist的github地址:https://github.com/ethereum/mist。
-
如果要在生产环境上操作,可以直接在以太坊官网下载钱包工具:https://ethereum.org/
安装
$ git clone https://github.com/ethereum/mist.git
$ cd mist
$ yarn
这里可能会遇到几个问题:
-
Mist大概有300-400M,下载超慢且经常失败,翻不翻墙都一样,只有耐心等待。有大神有更好解决方法的请留言,感谢!
-
Mist下载完成后,在其目录执行
yarn
,可能会卡在安装electron-chromedriver
(忘记截图了)。翻墙也不行。网上查到有以下两种解决办法(其实都是使用淘宝源):-
使用此命令安装:
npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
。 -
设置ChromeDriver的源:
export CHROMEDRIVER_CDNURL=http://npm.taobao.org/mirrors/chromedriver
。 -
另外这篇文章讲述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界面!
网友评论
这是咋回事啊
[-/11] ⠐ waiting...
[6/11] ⠐ electron
[-/11] ⠐ waiting...
[-/11] ⠈ waiting...
求楼主翻牌
楼主,能帮忙看下这什么错吗。。
楼主这就是所谓的网络问题吗。。。。
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$
能看出什么问题吗?
App threw an error during load
/home/pdd/mist/main.js:16
import configureReduxStore from './modules/core/store';
^^^^^^
SyntaxError: Unexpected token import