go ethereum 安装与使用 - mac
1. 安装
· home-brew 安装: here
· go ethereum 客户端安装:here
· solc 安装
sudo npm install -g solc solc-cli --save-dev
2. 使用
查看当前账户列表
geth account list
打开终端,执行以下命令,以开发方式启动geth
geth --datadir “~/ethdev” --dev
指定 –dev 为开发环境
geth 启动成功后,重新打开一个终端,执行以下命令,打开geth控制台
geth --dev console 2>>file_to_log_output
该命令会打开geth控制台,同时在目录下生成一个叫做file_to_log_output的日志文件,等下我们会来查看这个日志文件。
查看当前有哪些账户
eth.accounts
显示结果为:[]····
可以发现,初始是没有账户的
创建一个新账户
personal.newAccount(‘密码')
显示结果为:"0x7bf0acbe8478f41a8ada15a1c814d0db5387b94a"
然后我们查看 eth.accounts
显示结果为:["0x7bf0acbe8478f41a8ada15a1c814d0db5387b94a"]
可以发现是成功创建了账户
然后我们继续创建第二个账户
可以把账户赋值给某一个变量,同时查询账户中的余额
user1 = eth.accounts[0]
user2 = eth.accounts[1]
eth.getBalance(user1)
eth.getBalance(user2)
显示结果:两个账户的余额都为0
上面提到过日志文件,我们再重开一个终端,我们使用以下命令打开日志:
tail -f file_to_log_output
我们把这个终端界面放在一边,等下在geth控制台中有任何操作时,都可以来这边看看日志。
查看区块号:
eth.blockNumber
显示结果:0
在geth控制台中启动挖矿:
miner.start()
查看日志,可以看到已经在挖矿了
然后我们查看第一个账户的余额:eth.getBalance(user1)
显示结果:130000000000000000000
查看第二个账户的余额:eth.getBalance(user2)
显示结果:0
===>由此可见,挖矿的金额时默认传入第一个账户的
查看区块号:eth.blockNumber
显示结果:59
停止挖矿:
miner.stop()
转账
eth.sendTransaction({from: user1,to: user2,value: web3.toWei(3,"ether")})
显示结果:Error: authentication needed: password or unlock
at web3.js:3104:20
at web3.js:6191:15
at web3.js:5004:36
at <anonymous>:1:1
===> 所以我们需要解锁第一个账户
输入:personal.unlockAccount("第一个账户地址", "密码")
显示结果:true
然后我们再进行转账就能成功
显示结果:"0x30751bbb05bb3ac5bf5316d172b484476e2d0d2e6243bc5fe7cb30d6bc0cc552"
为本次交易的地址
然后我们查看user2的账户余额:eth.getBalance(user2)
显示结果:0
这是因为没有矿工来挖矿处理。根据区块链的概念,我们知道,每次交易的确认,其实都是需要挖矿的,也就是被其他矿工共识确认,然后才能加入区块链的账本中。
然后我们启动挖矿:miner.start()
再查看user2的余额:3000000000000000000
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
参考博客:here 和 here