创建组织
- 新建两个文件夹啊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的?这个过程只是简单地走了一遍过程,具体的过程还没有捋顺,也没有使用智能合约?接下来就是看看如何部署智能合约。