-
安裝go環境
- 從參考鏈接選擇Linux版本的go的安裝包?
- 使用命令? mv go(Tab補全)/usr/local? 移動go安裝包到/usr/local目錄下
- 使用命令解壓? sudo tar -xvzf go(Tab補全)?
- 配置環境?
- sudo gedit ~/.profile??
- export PATH=$PATH:/usr/local/go/bin
- 激活生效??source ~/.profile
- 驗證?go version 如果輸出結果類似?go version go1.14.2 linux/amd64 表示安裝成功
參考鏈接
- 如何在 Ubuntu 20.04 上安裝 Go - 云+社區 - 騰訊云
- Downloads - go.dev? 官網下載安裝包
安裝以太坊Geth
- 安裝之前需要確保已經安裝了git
- sudo apt-get update
- sudo apt-get install git
- 查看安裝是否成功
- git --version
- 安裝Geth
- sudo apt-get install software-properties-common
- sudo add-apt-repository -y ppa:ethereum/ethereum
- sudo apt-get update
- sudo apt-get install ethereum
- 查看安裝是否成功
- geth --help
參考鏈接
- Ubuntu18.04下安裝geth_KaryDean的博客-CSDN博客
搭建聯盟鏈
- 聯盟鏈使用私有化部署,只有使用同一個創世區塊才可以加入到同一個組織內部,創世區塊信息寫在一個json格式的配置文件中
- 使用genesis.json 對其進行命名
- 前提操作
- genesis.json文件內容如下,直接拷貝復制即可
{"config": {"chainId": 666999, "homesteadBlock": 0,"eip150Block": 0,"eip155Block": 0,"eip158Block": 0},"alloc" : {},"coinbase" : "0x0000000000000000000000000000000000000000","difficulty" : "0x20000","extraData" : "","gasLimit" : "0x2fefd8","nonce" : "0x0000000000000042","mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000","parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000","timestamp" : "0x00"
}
- 參數解釋
- 注意事項,我參考好多文章都缺失eip150Block:0這一句,這會出現錯誤。
- 報錯情況為Failed to wirte genesis block:unsupported ordering
新的方案
- 在/home/chy-cpabe/Test_chain_ipfs/文件夾下面創建chain-first和chain-second兩個文件夾
- 將這兩個節點組合在一起構成聯盟鏈
- 在chain-first和chain-second文件夾下面各自創建chaindata文件夾用于數據存儲,和存儲同一份genesis.json文件,將chainid設置為一樣的
- 分別進行初始化操作
- –datadir:指定區塊鏈數據的存儲位置;這個需要大家根據實際的情況進行調整,進行自己路徑的替換
- --networkid:指定創世腳本中的chainId
- ?啟動運行? 初始化的命令
geth --datadir "/home/chy-cpabe/Test_chain_ipfs/chain-first/chaindata" init "/home/chy-cpabe/Test_chain_ipfs/chain-first/genesis.json"
geth --datadir "/home/chy-cpabe/Test_chain_ipfs/chain-second/chaindata" --networkid 666999 --port 30306 console 2>output.log
- 啟動節點
geth --datadir "/home/chy-cpabe/Test_chain_ipfs/chain-first/chaindata" --networkid 666999 --port 30303 console 2>output.log
geth --datadir "/home/chy-cpabe/Test_chain_ipfs/chain-second/chaindata" --networkid 666999 --port 30306 console 2>output.log
- 查看進程
- 使用命令 ps aux | grep "geth"? 查看當前的geth進程
- 使用命令 sudo kill -9 進程ID即可殺死進程
?為兩個節點都進行用戶的創建
- personal.newAccount():創建賬戶
- eth.accounts:枚舉系統中的賬戶;
- admin.peers? 查看節點的peers的情況?
- 通過分享enode地址的方式來讓兩個節點建立鏈接? 使用命令?admin.nodeInfo.enode
- 通過上面命令,我們獲得了節點的encode信息。encode信息主要用于連接到不同節點,在這些不同的節點它們能夠分享交易和成功挖掘信息。
?聯盟鏈互通
- 使用命令admin.addPeer添加分享enode地址的方式來讓兩個節點建立鏈接?
- ?admin.addPeer("enode://5dac7e1cbe892387f5ff403b5b79f4235789ba322fbc69f128ff5e5ef78c1475440e48444a6a39582d3742124647877dd7c4b75eceb746917b3cb0de433e5c97@127.0.0.1:30306")
- 返回true表示鏈接成功
- 在兩個節點的終端輸入 admin.peers 查看互聯的節點信息,具體輸入內容如下
交互式執行環境
- 這是一個交互式的 JavaScript 執行環境,在這里面可以執行 JavaScript 代碼,其中 > 是命令提示符。在這個環境里也內置了一些用來操作以太坊的 JavaScript 對象,可以直接使用這些對象。這些對象主要包括:
- eth:包含一些跟操作區塊鏈相關的方法;
- net:包含一些查看p2p網絡狀態的方法;
- admin:包含一些與管理節點相關的方法;
- miner:包含啟動和停止挖礦的一些方法;
- personal:主要包含一些管理賬戶的方法;
- txpool:包含一些查看交易內存池的方法;
- web3:包含了以上對象,還包含一些單位換算的方法。
?常用命令:
- personal.newAccount():創建賬戶;
- personal.unlockAccount():解鎖賬戶;
- eth.accounts:枚舉系統中的賬戶;
- eth.getBalance():查看賬戶余額,返回值的單位是 Wei(Wei 是以太坊中最小貨幣面額單位,類似比特幣中的聰,1 ether = 10^18 Wei);
- eth.blockNumber:列出區塊總數;
- eth.getTransaction():獲取交易;
- eth.getBlock():獲取區塊;
- miner.start():開始挖礦;
- miner.stop():停止挖礦;
- web3.fromWei():Wei 換算成以太幣;
- web3.toWei():以太幣換算成 Wei;
- txpool.status:交易池中的狀態;
- admin.addPeer():連接到其他節點;
獲取完整節點地址
- 但是執行這個命令之后, 無法進入JavaScript console終端,使用其余命令進入終端
?
參考鏈接
- 區塊鏈以太坊學習筆記_xpj55975的博客-CSDN博客
- https://www.i4k.xyz/article/qq_42532598/109333344
- 以太坊之Metamask錢包(Metamask簡介,安裝,使用,導入賬戶,挖礦,轉賬)_Rose J 的博客-程序員宅基地_metamask - 程序員宅基地
參考鏈接
- 以太坊如何搭建私有連聯盟鏈_程序新視界-CSDN博客_以太坊搭建聯盟鏈教程
- 以太坊搭建聯盟鏈詳細教程_weixin_34183910的博客-CSDN博客
- 以太坊聯盟鏈-多節點私鏈搭建手冊【附源碼】_暗黑魔君_51CTO博客
- 自己動手部署以太坊聯盟鏈 - 掘金
- https://www.i4k.xyz/article/qq_42532598/109333344
- 以太坊私有鏈 使用dev模式_CHYabc123456hh的博客-CSDN博客
- 基于Mac環境搭建以太坊私有區塊鏈進行挖礦模擬_CHYabc123456hh的博客-CSDN博客_mac挖礦eth
- https://github.com/xianfeng92/Love-Ethereum/blob/master/notes/%E8%87%AA%E5%B7%B1%E5%8A%A8%E6%89%8B%E9%83%A8%E7%BD%B2%E4%BB%A5%E5%A4%AA%E5%9D%8A%E8%81%94%E7%9B%9F%E9%93%BE.md