区块链学堂(第七课):Mist+账号和钱包页面

陈琳 发布在 竞争币 1 2075

回顾一下之前用Geth搭建的私有网络

创建链条的geth命令

geth --datadir "./" init genesis.json
geth --datadir "./" --nodiscover console 2>>geth.log

在命令行模式下, 新建账号,并且启动挖矿

> personal.newAccount("123")
"0x48ad44beba68a981e103d28b2bd5777ef21ba0e3"
> miner.start()
true
>

如果链条已经被关闭的话,或者启动不了,或者挖矿无法产生比特币的话,可以重置以太坊私链。

重置以太坊私有链的方法
  • 1.删除根目录下的隐藏文件夹.ethash, 在mac系统中该文件夹在 ~/
  • 2.删除以太坊私有链所在文件夹下的geth/keystore两个文件夹p1
私有链正常工作的日志如下图所示:

p2

打开私有链所在文件夹,注意应该有一个文件,叫geth.ipc, 记录下文件夹地址p3

Mist 工具

Mist github地址:https://github.com/ethereum/mist

The Mist browser is the tool of choice to browse and use Ðapps.

Mist 是以太坊官方提供的浏览器,通过Mist我们可以很方便的连接上我们的私有网络,从而更好的开发、调试、测试我们的智能合约。

Step 1 安装依赖项

安装步骤,请参见github地址:https://github.com/ethereum/mist

$ curl https://install.meteor.com/ | sh
$ npm install -g electron@1.3.13
$ npm install -g gulp

Step 2 安装Mist本体

$ git clone https://github.com/ethereum/mist.git
$ cd mist
$ git submodule update --init
$ yarn

Step 3 运行Mist/interface 也就是mist的后台程序

$ cd mist/interface && meteor --no-release-check

这个阶段费时可能稍长,会启动mongodb, proxy等。完成后的控制台截图如下:

p4

Step 4 新开一个窗口,用geth.ipc启动Mist

新开一个窗口,回到mist文件夹下面,输入下方的命令

electron . --rpc /Users/linchen/steveproject2/tmpPrivate/geth.ipc

注意这里的地址/Users/linchen/steveproject2/tmpPrivate/geth.ipc 就是前面我们新建的以太坊私有连下的geth.ipc文件。

p5

启动后的Mist界面如下

p6

下一章中我们会继续详细介绍Mist

————————————————————————

Mist 账户界面解说

p7

  • Main account的地址 0x48ad44BEBa68A981e103D28B2bD5777EF21bA0E3 这个和geth的私有网络中的eth.accounts[0]一致。因为此时我们的Mist正是依赖于所在文件夹下的geth.ipc启动的。 geth截图如下:

p8

  • 左下方的三个参数分别代表了几个含义

1.算力
kh/s 代表每1000 hash/s的计算力。
2.区块数
之前说过,以太坊挖矿的本质就是挖出区块数,因此只要一个网络存在,则区块数会被源源不断的挖掘出来。
3.0 代表当前的节点数字,因为我们现在只有一个节点,所以这个peer=0. 如果要增加节点,可以在geth中使用admin.addPeer()即可。
4.New Block Received表示当前状态,在截图的时候刚好遇到了一个新的区块被确认。平日里更多的是xx秒倒数。如图:

p9

  1. 左侧的账户列表,我们接下来细说
  2. 右上角是智能合约按钮,之后会经常用到。

Mist 钱包界面

  • 点击左上方的Wallet按钮,进入钱包界面,界面如下图所示

p10

  • 我们可以看到这里列出了当前私有链中所有的账户,目前只有一个,因此所有挖矿出来的以太币都被归入该账户中。 点击 Add Account 按钮以增加账户, 如图所示:

p11

  • 点击Create new account, 并输入密码, 然后重复密码

p12

  • 完成后,可以看到新增了一个账户 account2

p13

  • 回到Mist的wallet页面,可以看到两个账号都已经建立起来。

p14

账户之间的以太币转移

在上一节中,我们已经新建了一个Account2, 那么我们就用Mist里面的工具来给他一笔以太币巨款

  • 点击Account2 按钮

p15

  • 点击Account 2页面的transfer按钮

p16

  • 设置from/to/amount, 然后点击下方的Send按钮
    p17
  • 点击send后,会出现下面的提示框,输入账号密码,点击Send Transaction即可
    p18

这里要重复几点

  1. 在以太坊的底层眼中,智能合约也是部署在以太坊链条上的一个特殊账户,因此对智能合约的调用,也就是对智能合约账户的一次send transaction
  2. 重复一下之前的概念:每个账户的公钥,也就是地址是公开的,是任何人都可以调用的。
  3. 任何transaction都需要消耗gas,gas消耗量由transaction的大小决定,而Gas的价格则由以太坊底层的Oracle来决定。在一个开放网络中,如果用户希望自己的transaction被优先执行,那么相应的Gas Price就会上升。反之Gas Price越低,则执行的优先级越低。 简单地说就是:价高者得,价高者优先
  4. 因为每一次transaction都需要消耗gas,而gas对应的就是以太币。 之前提过,以太坊有默认的账户保护机制,在不输入密码的情况,任何账号能进不能出,要输出以太币,必须输入密码。

输入完密码后,点击SendTransaction, 然后切换到wallet, 可以看到account 1的金额增加了100以太币。

p19

到此为止,我们介绍了账户页面,以及账户之间的转账。

下一章我们将介绍Contracts(合约)页面,并且部署我们在前一章节中的代币智能合约

发文时比特币标准价格 买价:¥6734.00 卖价:¥6659.00 (来源:火币网)
作者:陈琳(以太中文网创始人) 版权声明: by nc" sa 作者保留权利。文章为作者独立观点,不代表巴比特立场。

评论:1

您需要登录后才可以回复 登录|注册

    Mist 是以太坊官方提供的浏览器,通过Mist我们可以很方便的连接上我们的私有网络,从而更好的开发、调试、测试我们的智能合约。

    +1
    +1
    我要点评