geth的全称是go-ethereum,是一个以太坊客户端,用go语言编写,应该是目前最常用的客户端。当然以太坊客户端还有用C++,Ruby,Python,Java等其他多种语言编写的,不同类型的客户端是为了满足不同的需求场景。今天我们主要来介绍geth(发音同guess )的使用。
对于我们开发来说,比较普遍有两种方式打开geth控制台,以开发方式登录和私链方式登录。这两种方式是完全不同的,两者的账户也是不共用的,其中以开发方式登录相对比较简单,以私链方式登录还需要进行额外的配置,我会在后面的博客进行介绍。
(1)打开终端Terminal,执行以下命令,以开发方式启动geth
geth --datadir “~/ethdev” --dev
这会在当前根目录下创建一个ethdev文件夹,当然这个文件夹的名称你可以自己取,我们暂且不管这个文件夹是干嘛用的,后面会进行介绍。
(2)geth启动成功后,重新开一个终端,执行以下命令,打开geth控制台:
geth --dev console 2>>file_to_log_output
该命令会打开geth控制台,同时在目录下生成一个叫做file_to_log_output的日志文件,等下我们会来查看这个日志文件。
(3)查看当前有哪些账户
eth.accounts
.
可见当前没有任何账户。
(4)创建一个新账户
personal.newAccount(‘密码')
我们这里创建两个账户。再使用eth.accounts查看账户:
就发现有两个账户了。
(5)可以把账户赋值给某一个变量,同时查询账户中的余额
可以看到两个账户中的以太币都是0.因为我们还没有启动挖矿。
(6)上面提到过日志文件,我们再重开一个终端,我们使用以下命令打开日志:
tail -f file_to_log_output
我们把这个终端界面放在一边,等下在geth控制台中有任何操作时,都可以来这边看看日志。
(7)在geth控制台中启动挖矿:
miner.start()
来观察日志输出: