亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何搭建以太坊私有鏈

發布時間:2022-01-18 10:42:16 來源:億速云 閱讀:159 作者:iii 欄目:互聯網科技

這篇文章主要介紹“如何搭建以太坊私有鏈”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“如何搭建以太坊私有鏈”文章能幫助大家解決問題。

安裝geth

下載離線安裝地址:https://geth.ethereum.org/downloads/ ,選擇對應的操作版本

初始化創世區塊

創建工作區目錄

如何搭建以太坊私有鏈

區塊描述文件

文件結構語法采用json數據格式配置,genesis.json文件內容如下

{
    "config": {
        "chainId": 7777,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
    "alloc": {},
    "coinbase": "0x0000000000000000000000000000000000000000",
    "difficulty": "0x20000",
    "extraData": "",
    "gasLimit": "0x2fefd8",
    "nonce": "0x0000000000000042",
    "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "timestamp": "0x00"
}
config.chainId // 區塊鏈的ID,在 geth 命令中的 --networkid 參數需要與 chainId 的值一致
config.homesteadBlock // Homestead 硬分叉區塊高度,不需要關注
config.eip155Block // EIP 155 硬分叉高度,不需要關注
config.eip158Block // EIP 158 硬分叉高度,不需要關注
coinbase // 礦工賬號,第一個區塊挖出后將給這個礦工賬號發送獎勵的以太幣
difficulty // 難度值,越大越難
extraData // 附加信息隨便填
gasLimit // gas 的消耗總量限制,用來限制區塊能包含的交易信息總和,因為我們是私有鏈,所以填最大
nonce // 一個 64 位隨機數
mixhash // 與 nonce 配合用于挖礦,由上一個區塊的一部分生成的 hash
parentHash // 上一個區塊的 hash 值
alloc // 預設賬號以及賬號的以太幣數量,私有鏈挖礦比較容易可以不配置
運行命令:

./geth --datadir ./privateChain/data0 init genesis.json

執行命名后在privateChain生產如下結構目錄及文件

啟動私鏈節點

./geth --identity "TestNode1" --datadir "./privateChain/data0" --rpc --rpcapi "db,eth,net,web3" --rpcaddr "127.0.0.1" --rpcport "8486" --port "30304" --networkid "7777" console

令的主體是geth console,表示啟動節點并進入交互式控制臺,--datadir選項指定使用data0作為數據目錄,--networkid選項后面跟一個數字,這里是7777,表示指定這個私有鏈的網絡id為7777。網絡id在連接到其他節點的時候會用到,以太坊公網的網絡id是1,為了不與公有鏈網絡沖突,運行私有鏈節點的時候要指定自己的網絡id。運行上面的命令后,就啟動了區塊鏈節點并進入了Javascript Console:只有console命令和attach命令會進入js交互窗口。

 使用命令 geth -h 可以查看geth 相關的幫助文檔。這里我說幾個常用的屬性。

   --Identity : 節點身份標識,起個名字
   --datadir : 指定節點存在位置,“data0”
   --rpc : 啟用http-rpc服務器
   --rpcapi : 基于http-rpc提供的api接口。eth,net,web3,db...
  --rpcaddr : http-rpc服務器接口地址:默認“127.0.0.1”
   --rpcport : http-rpc 端口(多節點時,不要重復)
   --port : 節點端口號(多節點時,不要重復)
   --networkid : 網絡標識符 隨便指定一個id(確保多節點是統一網絡,保持一致)

如何搭建以太坊私有鏈

這是一個交互式的Javascript執行環境,在這里面可以執行Javascript代碼,其中>是命令提示符。在這個環境里也內置了一些用來操作以太坊的Javascript對象,可以直接使用這些對象。這些對象主要包括:

  • eth:包含一些跟操作區塊鏈相關的方法

eth.accounts:枚舉系統中的賬戶; 
eth.getBalance():查看賬戶余額,返回值的單位是 Wei(Wei 是以太坊中最小貨幣面額單位,類似比特幣中的聰,1 ether = 10^18 Wei);
eth.blockNumber:列出區塊總數; 
eth.getTransaction():獲取交易; 
eth.getBlock():獲取區塊
  • net:包含以下查看p2p網絡狀態的方法

  • admin:包含一些與管理節點相關的方法

admin.addPeer():連接到其他節點 
admin.nodeInfo.enode 查看本節點enode
  • miner:包含啟動&停止挖礦的一些方法

miner.start():開始挖礦;

miner.stop():停止挖礦

  • personal:主要包含一些管理賬戶的方法

personal.newAccount():創建賬戶;

personal.unlockAccount():解鎖賬戶 以太坊的一個保護機制,每隔一段時間賬戶就會自動鎖定

  • txpool:包含一些查看交易內存池的方法

txpool.status:交易池中的狀態;

  • web3:包含了以上對象,還包含一些單位換算的方法

web3.fromWei():Wei 換算成以太幣;

web3.toWei():以太幣換算成 Wei;

向本節點添加其他P2P節點信息

查看節點信息

添加在同一個創世鏈上節點
admin.addPeer("enode://2f86dbb18242371fa0a8e7098cb13a012ad9d8ee80f0bbba94a798b16d3c6c3c247d3e333b8da27a591b38365f927a25359376d4bf38575bb0371a1365294f91@[::]:30301?discport=0")

注意:當連接同一個網絡中的其他節點時,使用的就是上面的第一個字段enode的值。

按照如上操作,可以建立并形成一個私鏈去中心化的集群。任意一個節點挖礦,挖到區塊之后,都會同步到其他的兩個節點。如果genesis.json文件不相同或者networkid不相同時,都不能添加成功。genesis.json不同,將會生成不一樣的創世區塊,networkid不同就是兩個不同的網絡,自然就不能添加成功。

關于“如何搭建以太坊私有鏈”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岑巩县| 迭部县| 松潘县| 关岭| 铜梁县| 汕头市| 东山县| 历史| 宁远县| 苍南县| 绥江县| 凉城县| 盈江县| 天津市| 平顺县| 邓州市| 延津县| 昭通市| 江北区| 抚宁县| 农安县| 海林市| 临朐县| 苍溪县| 萨迦县| 营山县| 武穴市| 易门县| 遂平县| 利辛县| 武邑县| 特克斯县| 韩城市| 邵阳县| 株洲市| 浙江省| SHOW| 儋州市| 宜兰县| 襄樊市| 定兴县|