一、ETH客戶端對配置的要求?

    ETH歸檔節點對網絡、cpu並沒有非常高的要求,主要是在存儲上有要求,使用 Geth、Nethermind客戶端同步歸檔節點需要12T以上磁盤空間,而Erigon客戶端用一塊4T的硬盤就可以了。黑瞎子目前是用的凱俠CD6 8T的固態硬盤,如果對性能不做要求使用機械硬盤也是可以的,就是同步時間會慢很多,可能需要十幾天時間才能完成歸檔節點的搭建。

    黑瞎子目前使用過2臺配置不同的機器都運行過ETH歸檔節點,均無問題。機器配置如下,各位幣有可以作個參考

    主用機

  •     主板        Z790ProArt

  •     CPU        13900K

  •     內存        128G 海力士 DDR5

  •     系統硬盤 PM9A1 1T

  •     存儲硬盤 凱俠CD6 7.68T

  •     備份硬盤 希捷 8T機械硬盤

    備用機

  •     主板        影馳B450M

  •     CPU        AMD 3600

  •     內存        32G 威剛 DDR4

  •     系統硬盤 三星870evo 250G

  •     存儲硬盤 希捷 8T機械硬盤

二、爲什麼要用VMware來搭建?

    主因是前段時間天氣太熱,黑瞎子的I9主機長期24小時不停機運作,又忘記開空調,導致熱炸雞玻璃碎了一地。因爲erigon客戶端和teku客戶端是會把cpu核心數用滿的。不管是使用13900k還是amd 3600,都會把cpu佔滿,發熱和功耗都非常恐怖。

根據黑瞎子的使用經驗來看,13900k和amd 3600兩者同步速度其實沒有太大的差別,只要用了固態硬盤都不會落後太多區塊,網速好時基本上只落後幾個區塊。

    所以使用虛擬機能省電費,還能控制發熱,同時vmWare的虛擬機文件也可以快速的遷移和複製,在erigon、teku客戶端升級調試時也比較方便,安全性也有保證,如果被黑了也只是虛擬機被黑不會涉及一臺主機都被黑。

    總結下來就是:安全、省心省力,還節能。

三、搭建流程概覽

1.創建一個Ubuntu虛擬機,瞎哥用的是Ubuntu 22.04版本,也嘗試過centos,centos上的默認軟件太老了,對PC主板兼容性也不太好,不推薦。

2.掛載物理硬盤

3.下載安裝ETH執行客戶端erigon

4.執行erigon客戶端同步區塊數據

5.下載安裝ETH共識客戶端teku

6.執行teku客戶端同步eth2.0以後的區塊數據

四、搭建流程詳細記錄

搭建流程如下

1.創建一個Ubuntu虛擬機,這個想必大家都會了,省略。。

2.掛載物理硬盤

    2.1 在虛擬機設置裏點添加硬盤

2.2 如果是機械硬盤或者sata固態就選 SATA、m2的ssd就選 NVME,

下一步選使用物理硬盤,完成後就可以開機了

2.3 開機後掛載硬盤,相關操作命令如下

// 查看機器可用的硬盤

fdisk -l

// 創建一個硬盤掛載目錄

mkdir /mnt/data

// 掛載硬盤,注意如果是新硬盤,則需要格式化成ext4格式(mkfs -t ext4 /dev/nvme0n2)

sudo mount -t ext4 /dev/nvme0n2 /mnt/data

有條件可以設置成開機自動掛載

3.下載安裝ETH執行客戶端erigon

3.1 創建一個目錄存放erigon客戶端,黑瞎子喜歡放在/home/wwwroot目錄下

mkdir -p /home/wwwroot/erigon

cd /hom/wwwroot/erigon

3.2 下載erigon客戶端源代碼,並進行編譯,注意這裏需要安裝golang環境、gcc和g++

3.3 編譯源碼,生成erigon客戶端,這裏耗時會有點就,要下載很多依賴包,如果中途有報錯可以多嘗試幾次

編譯完後大概是這個樣子

3.4 運行erigon客戶端,開始同步數據,大概要下載320G的數據包,下載下來後還會進行解壓和數據還原,一共有15階段,15個階段全部完成eth歸檔節點就搭建好了

./build/bin/erigon --datadir=/mnt/data/erigon

客戶端持續運行中

總結

進行到上面的步驟只要耐心等待就可以完成搭建eth節點的一半操作了,等erigon客戶端數據同步到ETH2.0附近的時候,就需要安裝teku共識客戶端同步ETH2.0以後的數據,同步速度這一塊黑瞎子低配機器在使用機械硬盤的情況下中途陸陸續續花了大概12天時間左右,使用高配機器則在1星期時間左右。

PS: 安裝teku客戶端文章將會在後面推出,有興趣的朋友可以自己開始搭建啦。