最近比較流行BZZ挖礦,未來ETH2.0時代挖礦方式的改變,也使bzz挖礦成為一個熱門,Windows下面的標誌著挖礦適合個人PC用戶,而礦工如果想大量的部署bee節點,就需要Linux服務器,然後進行虛擬化部署。對於bee節點的部署,當然是多多益善! BZZ挖礦是ETH創始人V神親自站台,是ETH項目官方的一部分,它主要是由ETH基金會領頭和開發,允許礦池儲存、帶寬和算力資源來支持基於以太坊網絡的應用、(據說是在六月份中旬)主網還沒有確定上線時間。 下面我們來看一下在linux下如何部署bee節點進行bzz挖礦。 bzz挖礦的必備條件:
- 一台支持虛擬化Linux服務器,系統安裝建議安裝centos8
- 1個G的網絡帶寬(虛擬機共享1G帶寬)
- 服務器配置CPU16核和32G內存以上(用於創建更多虛擬機配置節點)
Linux服務器環境搭建有些雲主機名字都是一串字符,不利於平時使用。我們可以重命名主機來標記。 - systemctl restart systemd-hostnamed
複製代碼
修改好主機名稱後,首先需要做的是更新系統,以及設置一下軟件倉庫數據源,安裝軟件包等操作! 更新系統輸入下面的命令更新centos8服務器系統:
更新好系統後,下面我們來安裝centos的軟件源。 安裝軟件源首先查看以下系統版本和位數,以免手動安裝的時候,安裝錯誤的源!
- cat /etc/centos-release
- uname -a
複製代碼
Repo倉庫介紹
CentOS默認自帶CentOS-Base.repo源,但官方源中去除了很多有版權爭議的軟件,而且安裝的軟件也不是最新的穩定版。 Fedora 自帶的源中也找不到很多多媒體軟件,如果需要安裝,必需先添加其他源,如RPMFusion 和RPMForge 等第三方軟件庫。
但是除了EPEL之外還有很多其他三方軟件包,下面我們介紹各種第三方軟件庫,以下軟件庫適用於與RHEL完全兼容的 linux 發行版,如CentOS, Fedora, Scientific Linux. Scientific Linux大家可能有點陌生,它與CentOS類似,是RedHat Linux的克隆版。 EPEL倉庫介紹
EPEL是yum的一個軟件源,裡麵包含了許多基本源里沒有的軟件了,但在我們在使用epel時是需要安裝它才可以了,下文來介紹CentOS7/RHEL7 安裝 EPEL步驟:
EPEL,即Extra Packages for Enterprise Linux 的簡稱,是為企業級Linux 提供的一組高質量的額外軟件包,包括但不限於Red Hat Enterprise Linux (RHEL), CentOS and Scientific Linux (SL),Oracle Enterprise Linux (OEL)。 安裝EPEL軟件源 使用yum或者dnf命令在線安裝:
- yum -y install epel-release
複製代碼
安裝完畢後查詢一下epel源是否添加到源列表。
安裝Remi源
Remi源大家或許很少聽說,但是我們強烈推薦,尤其對於不想編譯最新版的Linux使用者,因為Remi源中的軟件幾乎都是最新穩定版。 或許您會懷疑Remi 源的穩定性? 放心吧,這些都是 Linux 骨灰級的玩家編譯好放進源里的,他們對於系統環境和軟件編譯參數的熟悉程度毋庸置疑。 好了上面兩個軟件源已經添加完畢了,下面更新一下軟件的緩存。
yum clean all && yum makecache 緩存更新完畢後,下面進行軟件包安裝!首先安裝一個常用編譯軟件包: - dnf groupinstall "Development Tools" -y
複製代碼
常用編譯軟件包安裝完畢後,我們開始安裝運行bee所需的軟件包。 安裝BeeBee提供了基於Ubuntu,Raspbian,Debian和CentOS的Linux發行版軟件包。 要安裝Bee,您需要完成以下過程。 - 設置Bee的外部簽名人Bee Clef。
- 安裝Bee並將其設置為作為服務運行。
- 配置蜜蜂。
- 用gETH和gBZZ為您的節點提供資金
- 等待您的支票簿交易完成並且批存儲更新。
- 檢查Bee是否在工作。
首先需要做的第一步是在mnt目錄下創建bee文件夾 - cd /mnt
- mkdir bee
- ll
- cd bee
複製代碼
安裝Bee Clef由於Bee必須要快速的自動簽署大量交易,因此打包了Bee特定版本的Clef,Bee -clef包括所有相關配置,並實現了使Clef與Bee一起使用所需的特定配置。 首先需要下載bee-clef的軟件包到服務器上。 - wget https://github.com/ethersphere/bee-clef/releases/download/v0.4.12/bee-clef_0.4.12_amd64.rpm
複製代碼
- rpm -i bee-clef_0.4.12_amd64.rpm
複製代碼
安裝bee-clef_0.4.12_amd64.rpm軟件包,在安裝過程中可能會遇到sssd緩存錯誤。
如果遇到“Usermod錯誤-[sysdb_domain_cache_connect](0x0010):數據庫版本太舊[0.21],對於域hidden_files預期為[0.22]”的錯誤的話。 刪除緩存數據庫即可,首先查看一下緩存目錄的內容
- rm /var/lib/sss/db/cache_implicit_files.ldb
複製代碼
刪除之後,使用“sss_cache -e”命令查詢一下。不報錯了就可以進行下一步安裝了。 最後,讓我們檢查Bee Clef是否正在運行。 - systemctl status bee-clef
複製代碼
如果輸入上面命令後,返回錯誤:“Failed to get properties: Access denied” 那麼輸入下面的命令即可解決錯誤:
重新加載了守護程序,之後所有systemctl命令再次開始工作。 如果出現“Warning: The unit file, source configuration file or drop-ins of bee-clef.service changed on disk. Run 'systemctl daemon-reload' to reload units.” 輸入systemctl daemon-reload即可解決。
使用systemctl start命令啟動bee-clef程序。
下面查看一下bee-clef的狀態。
- systemctl status bee-clef
複製代碼
一旦bee開始與bee-clef您進行交互,您應該開始看到日誌消息,對於定期處於活動狀態且已連接的節點,它們將每隔幾秒鐘出現一次: - journalctl -f -u bee-clef.service
複製代碼
bee-clef程序數據存儲在/var/lib/bee-clef/ bee-clef程序已經安裝完畢了,下面安裝bee主程序。 安裝Bee主程序設置Bee並將其作為後台服務在計算機上啟動並在後台運行。
- wget https://github.com/ethersphere/bee/releases/download/v0.6.2/bee_0.6.2_amd64.rpm
複製代碼
安裝bee_0.6.2_amd64.rpm - sudo rpm -i bee_0.6.0_amd64.rpm
複製代碼
安裝完畢後需要需要申請swap-endpoint測試交換節點,先不要啟動bee。
ETH交換節點首先你需要申請ETH的交換節點,官方推薦自建交換節點,也可以去Infura網站申請。
Infura的免費賬戶每天只支持100000次交換請求,如果你是專職礦工的話,建議你搭建自己的Goerli節點!
填寫一個有效的郵箱進行註冊,建議使用海外郵箱,gmail或者live。註冊成功後需要進入郵箱激活。
確認好郵件地址後,直接進入到後台管理界面。
點擊第三項以太坊圖標的選項,開始並創建您的第一個項目,以訪問以太坊網絡! Bee配置由於Bee在向網絡提供服務以交換gBZZ時會佔用大量資源,因此默認情況下,Bee節點以Light Node模式啟動。為了允許Bee使用網絡帶寬和計算資源為網絡服務並開始兌現支票,請將full-node設置為true。
Bee設計用於許多不同的硬件配置。為了促進對此的探索,在我們的beeta階段,我們允許節點操作員訪問leveldb的db-open-files-limit。這有助於確定Bee讀取和寫入數據庫的速度,從而確定其轉發和服務塊的效率。有人說,將其設置為比默認值200大得多,可以大大提高參與群體並獲得這些gBZZ的能力!需要將db-open-files-limit設置成2000。 安裝screenGNU Screen是一款由GNU計劃開發的用於命令行終端切換的自由軟件。用戶可以通過該軟件同時連接多個本地或遠程的命令行會話,並在其間自由切換。 GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了統一的管理多個會話的界面和相應的功能。 - 會話恢復
只要Screen本身沒有終止,在其內部運行的會話都可以恢復。這一點對於遠程登錄的用戶特別有用——即使網絡連接中斷,用戶也不會失去對已經打開的命令行會話的控制。只要再次登錄到主機上執行screen -r就可以恢復會話的運行。同樣在暫時離開的時候,也可以執行分離命令detach,在保證裡面的程序正常運行的情況下讓Screen掛起(切換到後台)。這一點和圖形界面下的VNC很相似。 - 多窗口
在Screen環境下,所有的會話都獨立的運行,並擁有各自的編號、輸入、輸出和窗口緩存。用戶可以通過快捷鍵在不同的窗口下切換,並可以自由的重定向各個窗口的輸入和輸出。Screen實現了基本的文本操作,如復制粘貼等;還提供了類似滾動條的功能,可以查看窗口狀況的歷史記錄。窗口還可以被分區和命名,還可以監視後台窗口的活動。 - 會話共享
Screen可以讓一個或多個用戶從不同終端多次登錄一個會話,並共享會話的所有特性(比如可以看到完全相同的輸出)。它同時提供了窗口訪問權限的機制,可以對窗口進行密碼保護。 - GNU's Screen 官方站點:http://www.gnu.org/software/screen/
screen安裝命令:
安裝json 解析工具,方便後面查詢命令的時候,輸出顯示效果更友好。
沒有ifconfig 和netstat -an 命令的話請安裝net-tools
查看服務器端口占用
運行Bee運行bee節點,首次運行要設置密碼。輸入的時候,屏幕不會顯示字符,請牢記密碼。 首先新建一個bee窗口
查看一下你的錢包地址,輸入命令:
獲取你的錢包地址後,前往官方水龍頭節水。 或是 https://faucet.ropsten.be/
輸入下面命令,啟動bee - bee start --config /etc/bee/bee.yaml
複製代碼
此時節點正常運行,雖然也會有很多報錯信息,但會有與其他節點成功通信並進行交換的提示,這樣bee就啟動成功了。可以用以下命令監測客戶端已經連接了多少個節點:- curl -s http://localhost:1635/peers | jq '.peers | length'
複製代碼
正常啟動後,沒有遇到啟動問題的話,就可以退出screen了,按住ctrl+a然後按d退出screen虛擬CLI,此時Bee客戶端進入後台運行,就可以關閉Xshell或進行其它調試,想回到之前的Bee節點窗口,可以使用命令返回到screen。
禁用IPV6如果你的服務器啟用了IPV6,在啟動bee節點時候會報錯。 “Error: init chain: dial eth client: dial tcp [::1]:8546: connect: connection refused” 檢查服務器是否啟用IPV6
如果有inet6的返回的話,需要禁用IPV6
在GRUB_CMDLINE_LINUX中添加ipv6.disable=1 應用新的配置:使用grub2-mkconfig 生成新的grub引導文件。 - grub2-mkconfig -o /boot/grub2/grub.cfg
複製代碼
輸入命令後查看一下,沒有inet6的返回了,已經成功禁用了ipv6。
BEE相關命令啟動Bee:systemctl start bee
停止Bee:systemctl stop bee
重啟Bee:systemctl restart bee
設置開機啟動Bee:systemctl enable bee
設置開機禁用Bee:systemctl disable bee
Bee狀態:systemctl status bee 刪除Bee如果在安裝過程中出現一些不可逆的錯誤,請先刪除bee,然後再重新安裝。
- rpm -e bee-0.6.2-1.x86_64
- rpm -e bee-clef-0.4.12-1.x86_64
複製代碼
或者 - yum remove bee
- yum remove bee-clef
複製代碼
數據存放位置bee-clef
配置文件存儲在/etc/bee-clef/
關鍵材料和其他數據存儲在/var/lib/bee-clef/
bee
配置文件存儲在/etc/bee/
狀態,塊和其他數據存儲在/var /lib/bee/ 關閉系統防火牆關閉系統自帶的防火牆服務,然後設置開機禁用防火牆服務。
- systemctl stop firewalld
- systemctl disable firewalld
複製代碼
參考文章 |