安装
1.使用官方的go版本直接安装
2.也可以通过源码构建(
git clone https://github.com/ethereum/go-ethereum
)3.mac中brew安装
1
2brew tap ethereum/ethereum
brew install ethereum
启动
安装好以后就可以启动了,因为是在本地开发所以启动的时候要加一些自定义启动参数,来配置一下,帮助查看命令geth -h。
1 | # 指定一个数据存储目前避免和公有链数据冲突,—dev 指定为开发模式这样就不用同步公有链上的区块,公有链的数据量几十个G太大了,共识速度也比较慢。 |
进入登录
以上命令启动成功之后,需要另打一个终端进入登录
1 | geth --dev console 2>> file_to_log_output |
进入开发模式的控制台,并把日志输出到一个文本文件
1 | Last login: Sat Nov 5 09:17:42 on ttys000 |
以上是登录成功的画面。
查看帐户信息
登录成功以后可以查看当前有哪些帐户
1 | eth.accounts |
我本地创建已经创建了两个帐户。
创建新账户
再创建一个:
1 | personal.newAccount('11111111') |
以上通过personal.newAccount
传入密码参数即可创建一个新帐户并返回新的帐户地址;
新打开一个终端可以查看本地创建了多少个帐户:
1 | localhost:~ pro1$ geth account list |
我本地已经有三个了。然后再切回已经登录成功的控制台客户端。
查看余额
在以太坊客户端可以把某个帐户赋值给一个变量
1 | > user1=eth.accounts[0] |
然后可以查看当前帐户的余额:
1 | > eth.getBalance(user1) |
可以查看当前user1的余额为0,默认也是0个区块,因为还没有启动矿挖矿。
启动挖矿
现在我们启动挖矿,挖矿前我们先打开实时监控日志,就是刚才控制台输出的日志文本文件:
1 | localhost:~ pro1$ geth --dev console 2>> file_to_log_output |
这个文件我指定在了我的根目录下
1 | tail -f file_to_log_out |
启动挖矿
1 | > miner.start() |
在上面打开发文件监控界面就会看到挖矿建块儿情况。
再切回以太坊挖制台,查看用户余额:
1 | > eth.getBalance(user1) |
已经看到帐户1,已经有余额了,帐户2还是0,因为挖矿的奖励进入第一个帐户中。
停止挖矿
现在停止挖矿:
1 | > miner.stop() |
已经停止成功,另外日志界面也停止输出
再查看一下当前的区块高度:
1 | > eth.blockNumber |
转账
现在帐户2中没有余额,我们从帐户1转发几个以太币到 帐户2中:
1 | > eth.sendTransaction({from: user1,to: user2,value: web3.toWei(3,"ether")}) |
由于默认帐户是锁定的,首要解锁帐户,然后再 转帐,先查看 下下当前帐户,再解锁:
1 | > eth.accounts |
上面已经提示解锁成功,然后继教转帐:
1 | > eth.sendTransaction({from: user1,to: user2,value: web3.toWei(3,"ether")}) |
上面已经提示转帐成功了,但是user2帐户余额依然是0,是因为没有矿工来挖矿处理,我们启动一个矿工,并在另一个终端查看日志
日志已经显示开始挖矿并发交易进行了处理在,区块293中,
1 | > miner.start() |
我们再次查看余额的时候user2已经 有三个以太币了,这样一个转帐的交易就完成了