创建组织

  • 新建两个文件夹啊a,b,分别代表两个组织在两个文件夹内分别创建文件genesis.json,内容如下:
{
  "config": {
    "chainId": 666,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "ethash": {}
  },
  "nonce": "0x0",
  "timestamp": "0x5ddf8f3e",
  "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "gasLimit": "0x47b760",
  "difficulty": "0x00002",
  "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "coinbase": "0x0000000000000000000000000000000000000000",
  "alloc": {
    "0x1e82968C4624880FD1E8e818421841E6DB8D1Fa4" : {"balance" : "30000000000000000000"}
  },
  "number": "0x0",
  "gasUsed": "0x0",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
  • 在a中执行geth --datadir ./data-init1/ init genesis.json
  • 在b中执行geth --datadir ./data-init2/ init genesis.json

启动控制台

  • 在a中执行geth --datadir ./data-init1/ --networkid 22 --nodiscover console;新开一个终端,在b中执行geth --datadir ./data-init2/ init genesis.json.
  • 出现 Welcome to the Geth JavaScript console!, 说明网络启动成功。

添加账户

  • 在a,b上分别添加账户。
personal.newAccount("123456")
  • a:"0xd4df3fab07d7d957b5f023b107c388173f0b24b1"
  • b:"0xe0e0772c036e0864d33d20c90bcd5f7ce9bf18bb"

互通

  • 查看b节点信息,在a节点添加b

  • 执行命令admin.peers验证

进行一次转账交易

  • 在a上执行eth.getBalance(eth.coinbase),账户余额为0,开始挖矿miner.start().

  • 然后再执行eth.getBalance(eth.coinbase):

  • 解锁账号,输入密码。向b的账户进行转账。

  • 开始挖矿

  • 在b上查询账户余额,转账成功(b未进行挖矿且初始账户余额为0)

参考


一个疑问,可能比较蠢-_- 一个节点可以创建多个账户,但只有一个coinbase?coinbase就是用来接受coin的?这个过程只是简单地走了一遍过程,具体的过程还没有捋顺,也没有使用智能合约?接下来就是看看如何部署智能合约。

 posted on 2020-12-10 16:03  捞起月亮的渔民  阅读(424)  评论(0编辑  收藏  举报