1. 创建genesis.json
{
  "alloc": {},
  "config": {
    "chainID": 72,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip155Block": 0,
    "eip158Block": 0
  },
  "nonce": "0x0000000000000000",
  "difficulty": "0x4000",
  "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "coinbase": "0x0000000000000000000000000000000000000000",
  "timestamp": "0x00",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "extraData": "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa",
  "gasLimit": "0xffffffff"
}
  1. 创建⼀个⽂件夹,指定为私有⽹络数据存储位置
mkdir private-net
cd private-net
  1. 创建私有链
    geth --datadir "./node1" init genesis.json
  2. 启动一个节点
    geth --datadir "./node1" --networkid 72 --port 30301 console
  3. 私有链基本命令
- 创建新账户
- 查看余额
- 挖矿
- 指定矿工
- 查看所有节点
  1. 创建一个新节点,步骤同上
geth --datadir "./node2" init genesis.json
geth --datadir "./node2" --networkid 72 --port 30302 --authrpc.port 8552 console
init不要忘记,直接执⾏启动也会成功运⾏,但是后续添加节点总是失败。
两个节点想互连的话,需要指定相同的networkid,这里是 --networkid 72
  1. 子命令attach,接⼊控制台(在private-net目录下)
    geth attach ipc:note2/geth.ipc

  2. 在node1中添加node2节点

获取node2的enode:admin.nodeInfo.enode
在node1中 T添加node2的enode:admin.addPeer("enode://")
  1. 由node1的账户0向node2的账户1转账
eth.sendTransaction({from : eth.accounts[0], to: "0xf78160e527e3fe2f187546008b59ca36608f8ef4", value: web3.toWei(5, "ether")})
可能会报错:
Error: authentication needed: password or unlock
at web3.js:3143:20 
at web3.js:6347:15 
at web3.js:5081:36 
at <anonymous>:1:
这说明当前账户被锁定,需要解锁后才能发起交易。
  1. 解锁账户
    personal.unlockAccount(eth.accounts[0])

  2. 然后再尝试转账
    eth.sendTransaction({from : eth.accounts[0], to: "0xf78160e527e3fe2f187546008b59ca36608f8ef4", value: web3.toWei(5, "ether")})

  3. 查看交易状态: 此时交易处于pending状态
    txpool.status

  4. 将交易打包上链(挖矿)

miner.start()
miner.stop()

原文地址:http://www.cnblogs.com/jujubos/p/16817559.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性