以太坊搭建聯盟鏈:兩個節點完成一次轉賬交易
阿新 • • 發佈:2020-12-10
建立組織
- 新建兩個資料夾啊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的?這個過程只是簡單地走了一遍過程,具體的過程還沒有捋順,也沒有使用智慧合約?接下來就是看看如何部署智慧合約。