區塊鏈專業課實驗_Windows平臺下以太坊私有鏈搭建

區塊鏈專業課實驗_Windows平臺下以太坊私有鏈搭建

      • 1、環境準備
      • 2、安裝Ethereum-Wallet
      • 3、安裝geth
      • 4、創建第一個節點
      • 5、創建geth和keystore文件
      • 6、啟動私有鏈節點

1、環境準備

安裝Win10虛擬機,官網地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
然後選擇VMWare就行。然後直接導入,如下圖:
開機密碼是Passw0ord!。

2、安裝Ethereum-Wallet

①在C盤新建文件夾Eth,專門放置以太坊開發環境:
②把下載的Ethereum-Wallet-win64-0-11-1壓縮包解壓到C:\Eth目錄下:

3、安裝geth

①geth下載:https://ethereum.github.io/go-ethereum/downloads/
②安裝geth,安裝在 C:\Eth 目錄下
③在 C:\Eth 目錄下創建 privatechain 文件,用以存放區塊鏈數據。

4、創建第一個節點

在 C:\Eth 目錄下創建創世塊文件 genesis.json,文件內容如下:

1.{ 2.  "nonce": "0x0000000000000042", 3.3.  "difficulty": "0x40000", 4.  "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", 5.  "coinbase": "0x0000000000000000000000000000000000000000", 6.  "timestamp": "0x00", 7.  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", 8.  "extraData": "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa" 9.  "gasLimit": "0xffffffff", 10.  "alloc": { 11.    "3282791d6fd713f1e94f4bfd565eaa78b3a0599d": { 12.      "balance": "1337000000000000000000" 13.    },  14.    "17961d633bcf20a7b029a7d94b7df4da2ec5427f": { 15.      "balance": "229427000000000000000" 16.    }  17.  },  18.  "config": { 19.        "chainId": 15, 20.        "homesteadBlock": 0, 21.        "eip155Block": 0, 22.        "eip158Block": 0 23.    }  24.}  

Coinbase: 曠工賬戶
Difficulty: 挖礦難度,0x400,這個是簡單。
extraData:相當於備註 gasLimit:最小消耗 gas
nonce :64位隨機數,用於挖礦,註意他和mixhash的設置需要滿足以太坊黃皮書中的要求
parentHash :上一個區塊的Hash值,因為是創世塊,石頭裡蹦出來的,沒有在它前面的,所以是0
Timestamp : 時間戳

5、創建geth和keystore文件

打開cmd,進入 C:\Eth 目錄下(該目錄下有 geth.exe 和 genesis.json 文件,便於運行geth命令),創世塊文件初始化命令如下:

1.geth -datadir "%cd%\privatechain\node1" init genesis.json   

datadir:後面跟本節點數據存放的目錄。
genesis.json:是init命令的參數。
執行該命令後會在 C:\Eth\privatechain下自動新建 node1 文件夾,並在node1下生成 geth 和 keystore 兩個文件夾。

初始化完成以後你就擁有一條自己的私有鏈瞭,之後就可以啟動自己的私有鏈進行一些操作。

6、啟動私有鏈節點

1.geth --targetgaslimit 4294967295 --rpc --rpcport "8101" --port "30301" --rpcapi "eth,web3,personal" --networkid 2020 --identity 2020 --nodiscover --maxpeers 5 --datadir "%cd%\privatechain\node1" --unlock 0 --rpccorsdomain "*" console   
-targetgaslimit:每個塊的gas上限,這裡可以暫時理解為容量-rpc:啟動rpc通信,可以進行智能合約的部署和調試-rpcaddr:rpc接口的地址-rpcport:rpc接口的端口號-port:網絡監聽端口,用於節點之間的通信-rpcapi:設置rpc的范圍,暫時開啟eth.web3.personal足夠-networkid:設置當前區塊鏈的網絡ID,是一個數字,可以隨意寫-identity:區塊鏈的標示,隨便填寫,用於標示目前網絡的名字-nodiscover:禁止被網絡中其它節點發現,需要手動添加該節點到網絡-maxpeers:最大節點數量-datadir:設置當前區塊鏈網絡數據存放的位置-unlock:解鎖某用戶(此處用用戶坐標來控制,解鎖後的用戶調用接  發起交易時,不要需要提供密碼),0代表存儲在賬號數組中的第一個賬號。-rpccorsdomain:限制rpc訪問源的ip,代表不限制 -mine:允許挖礦-console:啟動命令行模式,可以在Geth中執行命令

出現這個頁面代表創建成功!

本文來自網絡,不代表程式碼花園立場,如有侵權,請聯系管理員。https://www.codegarden.cn/article/30461/
返回顶部