以太坊/ethereum搭建单节点私有链,执行挖矿

创建一个私有链节点目录
cd /opt
sudo mkdir privateChain
cd privateChain
vim genesis.json #创世块
{
  "config": {
        "chainId": 10,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
  "alloc"      : {},
  "coinbase"   : "0x0000000000000000000000000000000000000000",
  "difficulty" : "0x02000000",
  "extraData"  : "",
  "gasLimit"   : "0x2fefd8",
  "nonce"      : "0x0000000000000042",
  "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp"  : "0x00"
} 
保存退出!
#初始化创始块节点,并设置data目录
geth --datadir "./data/00" init genesis.json
会出现类似这种的输出
以太坊/ethereum搭建单节点私有链,执行挖矿_第1张图片
#启动节点,加上console,表示启动后,启用命令行
geth --datadir ./data/00 --networkid 10 console 

类似输出:

以太坊/ethereum搭建单节点私有链,执行挖矿_第2张图片

到现在区块链私有网络搭建成功,下面就可以在这个刚刚搭建得环境中执行挖矿了。

下面是常用命令:

#查看账户
eth.accounts 
#新建账户
personal.newAccount("xxxxx")
personal.newAccount()
#获取账户信息
eth.getBalance("账户id")
#给账户设置变量名
user1 = eth.accounts[0]  #将第一个账户设置为user1
#解锁账户(默认所有的账户是加锁状态,执行交易的时候要解锁)
personal.unlockAccount(user1)
#交易(user1给user2发送几块钱)
eth.sendTransaction({from:user1,to:user2,value:8})

挖矿操作miner.start()

以太坊/ethereum搭建单节点私有链,执行挖矿_第3张图片

# 解锁账户
personal.unlockAccount(user1)
personal.unlockAccount(user2)
# 执行交易
eth.sendTransaction({from:user1,to:user2,value:8})

# 查看user2账户
eth.getBalance(user2)
这时会发现账户余额是  0   
如果想完成这笔交易,就要执行挖矿
miner.start() # 很多文档中说执行这个会返回true,但是实际会返回null,原因不知道,没仔细研究
以太坊/ethereum搭建单节点私有链,执行挖矿_第4张图片
  像地址0x0b52…写的的交易0xab24..,在区块8中才写入,我们可以查看区块8进行验证
以太坊/ethereum搭建单节点私有链,执行挖矿_第5张图片
# 查看user2账户
eth.getBalance(user2)
这时就会返回 8


到这里搭建以太坊区块链私有节点,执行挖矿,交易都已经完成!!


里面有很多图片是其他资料中截取的图片,是在巴比特中的资料,只是供用参考,按照文字执行流程,也可以完成操作。

不开发区块链,所以...不求甚解

你可能感兴趣的:(区块链)