1、进入以太坊开发控制台(开发环境):
geth console --datadir "~/electrumx/ethdev" --dev 2>>eth.log
通过tail -f eth.log查看日志:
2、查看当前有哪些账户
eth.accounts
默认会有一个coinbase账户(挖矿账户),默认挖矿会挖到这个账户里。
3、创建一个新的账号
personal.newAccount('密码')
我们这里除了coinbase账户,又创建了两个账户
4、可以把账户赋值给某一个变量,同时查询账户中的余额
可以看到新加的两个账户中的以太币都是0.但coinbase账户默认已经有了余额。
5、在geth控制台中启动挖矿:
miner.start()
执行挖矿返回的是null,日志中输出开始挖矿,并提交了挖矿的工作量,但同时也有提示区块处理失败,错误信息显示等待交易。(在geth1.7.3之后,挖矿的工作量确认需要有交易产生的时候才能确认),我用到的geth是1.8.3
使用miner.stop()停止挖矿
对比了挖矿前后,coinbase账户里面的余额并没有变化。
6、那我们来尝试发起一笔交易看看会发生什么
从coinbase用户向user1转账
eth.sendTransaction({from: user1,to: user2,value: web3.toWei(3,"ether")})
交易地址:0xba9419f284c4e473597363a37b4e6fb399dac5f291b7682c638a5f9f872354bf
输出日志
如果出现账户锁定的提示,需要先解锁账户
personal.unlockAccount(user1, "123456")
从user1向user2转账
7、再次查看以太币转移后的user2账户余额
但是发现user2的账户还是为0.这是因为没有矿工来挖矿处理。根据区块链的概念,我们知道,每次交易的确认,其实都是需要挖矿的,也就是被其他矿工共识确认,然后才能加入区块链的账本中。
好,我们执行“miner.start()”开始挖矿,
注意,前面挖矿操作因为没有交易,没有成功,这次有交易的情况下挖矿miner.start()虽然返回的是null,但日志中出现了挖矿的记录。
再次查看user1中的余额,3以太币到账
不过奇怪的是转账并没有使coinbase里面的余额减少,挖矿似乎也没有增加。
eth.blockNumber变为1了
试试把挖矿地址设置成user2