3.6 以太坊私有鏈與聯盟鏈搭建

尹成發表於2018-11-08

1. 私有鏈搭建

1. 新建一個geth目錄:mkdir geth && cd geth

2. 新建建立區塊配置檔案:touch genesis.json

3. 初始化 mkdir db

4. cd geth

    1. geth --datadir "./db" init genesis.json

        1. Geth init 初始化區塊鏈

    2. 啟動節點

        1. geth --datadir "./db" --rpc --rpcaddr=0.0.0.0 --rpcport 8545 --rpccorsdomain "*" --rpcapi "eth,net,web3,personal,admin,shh,txpool,debug,miner" --nodiscover --maxpeers 30 --networkid 1981 --port 30303 --mine --minerthreads 1 --etherbase "0xcCE4c1093D63416Eb079BFfe50Dc9Ce590703c6B" console 2>>tail.log

        2. 可以通過 tailf -f tail.log檢視日誌,如果不追加到日誌中,會在當前終端視窗顯示日誌資訊

2. 聯盟鏈搭建

1. 配置創世區塊檔案 genesis.json 同一條聯盟鏈中的所有節點必須使用同一份創世區塊檔案進行初始化配置

2. 初始化配置

    1. 建立聯盟鏈賬戶

        1. Geth --datadir data account new

        2. 輸入兩次密碼後返回新賬戶的地址 address:{<address of new account>}

        3. 將該地址複製到genesis.json的alloc引數中,可根據節點數量重複操作

        4. 然後將genesis.json檔案和data資料夾複製到其他節點中。

        5. 在每臺節點上建立聯盟鏈節點

            1. geth --datadir data init genesis.json

    2. 搭建聯盟鏈網路

        1. 在每個節點上啟動geth

            1. geth --datadir data --networkid 15 console

        2. 獲取節點地址

            1. admin.nodeInfo.enode

        3. 將返回地址資訊中的"[::]"部分替換為該節點的公網IP

        4. 在每一個節點的data/geth目錄下建立靜態節點檔案static-nodes.json,並寫入其他節點的完整地址資訊

        5. 在每個節點機器 上使用admin.peers檢視其他節點(如果沒連線上可以採用"admin.addPeer("enode::<…>")"手動新增)

    3. 測試

        1. 挖礦

        2. 解鎖賬戶

        3. 發起交易,然後 檢視結果

 

相關文章