【区块链基础07】-使用geth搭建私有链
2018-06-26 本文已影响139人
Geeks_Chen
1、geth是以太坊客户端,用go语言编写。这篇主要使用geth来搭建自己的私有链,并完成挖矿和转账功能。
2、安装geth
打开终端,执行命令
brew tap ethereum/ethereum
brew install ethereum
geth version
brew tap ethereum/ethereum.png
brew install ethereum.png
版本信息.png因为已经安装过了。
3、创建创世区块
cd 文件目录,配置创世区块信息
vim genesis.json
{
"coinbase" : "0x0000000000000000000000000000000000000001",
"difficulty" : "0x80000",
"extraData" : "",
"gasLimit" : "0x8000000",
"nonce" : "0x0000000000000042",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00",
"alloc": {},
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
}
}
初始化创世区块
geth --datadir "./" init genesis.json
查看区块log
geth --datadir "./" --nodiscover console 2>>geth.log
创建创世区块.png
4、挖矿
设置挖矿地址
miner.setEtherbase(eth.accounts[0])
开始挖矿
miner.start()
查询余额
eth.getBalance('0xB97168a67AB66E55B98B1439222Ee665E657fFc0')
查看节点信息
admin.nodeInfo
查看节点高度
eth.blockNumber
停止挖矿
miner.stop()
挖矿.png
5、转账
解锁
personal.unlockAccount("0xa9436991e002986f58d948d79e737df190c4f26b")
转账
eth.sendTransaction({from:eth.coinbase, to:eth.accounts[1], value: web3.toWei(0.05, "ether")})
查询余额
eth.getBalance('0xB97168a67AB66E55B98B1439222Ee665E657fFc0')
转账.png
注意,在执行转账操作时,保持挖矿状态,可以快速完成转账,如果停止挖矿,需要等待再次开始挖矿后,转账操作才可以完成。