本文基于PrysmaticLabs的Prysm客戶端,詳細講解如何參與以太坊2.0主網質押。主要基于以下幾個技術:
Ubuntuv20.04(LTS)x64服務器
GoEthereum節點(Github)
PrysmaticLabsETH2.0客戶端—Prysm(代碼分支)
瀏覽器插件加密錢包MetaMask
提示:參與質押至少需要32ETH以及額外的gas費。在搞清楚之前切記不要向任意地址發送ETH。本教程介紹了如何安全地將你的ETH存入存款合約。請牢記不要將ETH發送給任何人。
致謝
本教程參考了網上的各種資料,感謝這些提供資料的貢獻者!
感謝EthStaker管理團隊和提供教程的社區成員、Eth2客戶端團隊、以及質押社區的幫助和校對。
特別感謝Eth2客戶端團隊和以太坊基金會的研究員。他們經過幾年的不懈努力,將我們帶到這難以置信的時刻——Eth2.0成功創世。
免責聲明
本文僅供參考,不構成專業建議。作為本教程的作者。我本人不保證文中信息的準確性,對于那些參考了本文進行操作而產生的任何損失概不負責。文末有更加完整的免責聲明,請閱讀之后再進行操作。
支持
如需技術支持,請聯系:
EthStaker社區是一個以太坊2.0Staking社區,資源豐富且十分友好。
Reddit:
https://www.reddit.com/r/ethstaker/
Discord:
https://discord.gg/7z8wzehjrJ
Prysm客戶端團隊,
Discord:https://discord.gg/GVM5TJwzkU
條件
使用本教程需要對以太坊、ETH、Staking、Linux、MetaMask(Portis或Fortmatic)有一定的背景知識。
還需要準備:
Ubuntu服務器v20.04(LTS)amd64或者一個較新的,在本地計算機或云端安裝和運行的Ubuntu服務器。
已安裝或已配置的瀏覽器插件加密錢包MetaMask(或Portis、Fortmatic)。一臺裝有操作系統(Mac、Windows、Linux等)和瀏覽器(Brave、Safari、FireFox等)的計算機。
從測試網到主網
如果你從測試網設置轉到主網設置,那么我強烈建議你在一個全新的(新安裝的)服務器實例上開始。本教程沒有對遷移場景進行測試,所以如果你使用的是此前安裝過的測試網軟件,那么無法保證你的操作能成功。
要求
硬件要求是一個比較大的話題。總的來說:一個相對較新的CPU、8GB內存的RAM(16GB更佳)、一個內存至少500GB的SSD(1TB更佳)、穩定的網絡,這些性能都會讓質押過程更加安全順暢。
注意:檢查你的可用磁盤空間。盡管你有一個容量較大的SSD,Ubuntu也會出現僅剩200GB可用空間的狀況。如果你遇到這種情況,請查看附錄C——擴展邏輯卷。
概覽
下面這個簡化圖表標明了本篇教程所涉及的范圍,標黃的即是本文會覆蓋到的部分:
整個流程可以概念化表述為:
生成驗證者密鑰對和存款數據
準備Ubuntu服務器(防火墻、安全設置等)
設置一個Eth1節點并同步Eth1區塊鏈的數據
配置Prysm客戶端并同步Eth1節點數據
存款并激活驗證者密鑰對
那我們現在就開始吧!
第1步:生成質押數據
參與質押首先要決定你想要運行的驗證者節點的數量,并基于此生成一些數據文件。
注意:如果你的存款數據和驗證者密鑰對已經生成,可以跳過這一步。
一個驗證者節點需要存32ETH,你的MetaMask錢包里要有相應足夠的ETH。比如,如果你計劃運行5個驗證者節點,你將需要準備160ETH(32*5)并且預留一些gas費。存款過程會稍后再講解,下面教大家怎么把設備運行起來。
下載存款工具(存款CLI)
點擊此處下載最新發布的存款命令行界面app(CLIapp)。
下載鏈接:
https://github.com/ethereum/eth2.0-deposit-cli/releases/
在“Assets”那一欄選擇與你的設備(如Windows、Mac、LinuxDesktop等)匹配的版本并下載。
運行存款工具(Eth2存款CLI)
解壓文件,里面應該有一個二進制文件(可執行文件)。存款工具生成用于質押的文件和一組助記詞。這組助記詞需要安全地保存。下面有兩種選擇:
建議方案:將這份二進制文件復制粘貼到USB驅動器里。連接到一臺此前從未連接過網絡的計算機,將文件復制到計算機里并開始運行。
不建議方案:在當前使用的計算機上運行。但是網絡連接可能會導致你的助記詞密鑰泄漏。如果沒有未聯網的計算機,那就在開始運行之前斷開網絡。
準備好之后,在終端窗口(或windows的命令提示符CMD)中運行這份文件以繼續使用下面列出的命令。確定好你要運行的驗證者節點的數量之后,用該數字替換。比如:?--num_validators2
Linux/Mac:
./deposit?new-mnemonic?--num_validators??--chain?mainnet
數據:2022年以太坊NFT收藏品數量增長104.5%:4月18日消息,IntoTheBlock發推稱,僅在2022年,以太坊上的NFT收藏品數量就增長了104.5%,現有80300件。[2022/4/18 14:31:13]
Windows:
deposit.exe?new-mnemonic?--num_validators??--chain?mainnet
在你選擇的計算機執行上面的步驟之后,你將被要求創建一個驗證者密鑰存儲庫(validatorkeystore)密碼,并保存在一個安全的地方。在后面的步驟中,你將需要這個keystore來上傳驗證者密鑰到Prysm的驗證者錢包里。
隨后會生成一組助記詞,請保存在一個安全的地方,這至關重要。因為最終你需要助記詞來生成提款密鑰以提出質押的ETH,并且增加驗證者節點時也需要使用助記詞。如果你丟失了助記詞,就無法將你的資產提出了。
一旦你點擊確認已經記好助記詞之后,你的驗證者密鑰對便會生成。
新創建的驗證者密鑰對和存款數據文件會放置在指定位置。文件夾的內容如下所示:
關于這些文件:
文件deposit_data-.json包含驗證者公鑰和質押存款信息。該文件將用于完成隨后的ETH存款過程。
文件keystore-m...json包含經過加密的驗證者簽名密鑰。每一個驗證者節點對應一個“keystore-m”。該文件將被導入到Prysm驗證者錢包中以備質押時使用。隨后需要將這些文件復制粘貼到Ubuntu服務器中。
最后的步驟
現在你已經有了存款數據和密鑰存儲庫文件,接下來就可以設置Ubuntu服務器了。
注意:此時還不能進行存款。
首先完成并驗證你的質押設置非常重要。如果你的ETH存款激活了,但是質押設置還沒準備好的話,你將會受到怠工懲罰。
第2步:連接至服務器
使用一個SSH端口,連接至你的Ubuntu服務器。如果你用root登錄,最好是重新創建一個擁有管理權限的用戶賬戶,因為使用root用戶登錄存在很大的風險。
注意:如果你不是用root登錄的便可以直接跳到第三步。
創建一個新賬戶。在中填入你的用戶名,然后設置一個安全系數較高的密碼,并輸入其他可選信息。
#?adduser?
通過把新的用戶加入sudo群組中,來授予其管理權限。這樣用戶在命令行前輸入sudo,便會以超級用戶的權限來執行操作。
#?usermod?-aG?sudo?
可選項:如果你使用SSH密鑰通過root用戶連接你的Ubuntu系統,你需要將新創建的賬戶和root用戶的SSH密鑰數據組合起來。
#?rsync?--archive?--chown=:?~/.ssh?/home/
最后,退出登錄你的root賬戶,然后使用你新創建的用戶名登入Ubuntu服務器。
第3步:升級服務器
確保系統更新至最新的軟件和安全設置。
$?sudo?apt?update?&&?sudo?apt?upgrade$?sudo?apt?dist-upgrade?&&?sudo?apt?autoremove$?sudo?reboot
第4步:保護服務器
安全性十分重要。但由于本文不是針對安全性的指南,所有只列出了一些基礎的設置。
修改SSH默認端口
SSH默認端口是端口22,也是易受攻擊的矢量,因此可以修改SSH端口來防止攻擊。
在1024—49151之間選擇一個端口號,然后運行以下命令以檢索尚未使用的端口號。沒有其他顯示便意味著該端口號未被使用;顯示紅色便意味著已被使用,請嘗試其他端口號。比如:sudoss-tulpn|grep':6673'
$?sudo?ss?-tulpn?|?grep?':'
確定端口號可用之后,通過升級SSH設置來修改默認端口。
$?sudo?nano?/etc/ssh/sshd_config
在文件中檢索或者添加(如果沒有的話)Port22命令行。刪掉#(如果有的話)并在下面的命令行中輸入端口號。
Port?
參考下方的截圖。按CTRLx然后選‘y’,按回車保存并退出。
重新啟動SSH服務以顯示上述所作的修改。
$?sudo?systemctl?restart?ssh
登出并使用你的SSH端口號重新登入。
配置防火墻
Ubuntu20.04服務器可以使用默認的UFW防火墻來限制訪問該服務器的流量,不過要先設置其允許來自SSH、GoEthereum、Prysm的入站流量。
安裝UFW防火墻
按照下面的命令行輸入以保證在默認情況下安裝UFW。
$?sudo?apt?install?ufw
應用UFW默認值
明確地應用默認值,拒絕入站流量,允許出站流量。
$?sudo?ufw?default?deny?incoming$?sudo?ufw?default?allow?outgoing
AllowSSH允許SSH
允許你此前設置的端口號的入站流量。SSH要求TCP協議。比如:sudoufwallow6673/tcp
$?sudo?ufw?allow?/tcp
拒絕SSH端口號22
拒絕端口22/TCP的入站流量。
以太坊L2網絡總鎖倉量為68億美元:金色財經報道,L2BEAT數據顯示,截至1月18日,以太坊Layer2上總鎖倉量為68億美元。其中鎖倉量最高的為擴容方案Arbitrum,約36.5億美元,占比53.78%;其次是dYdX,鎖倉量為9.59億美元,占比14.10%;第三為Metis,鎖倉量為5.47億美元,占比8.05%[2022/1/18 8:55:51]
注意:當你完成了修改SSH默認端口之后再做這一步。
$?sudo?ufw?deny?22/tcp
允許GoEthereum
允許與GoEthereum的對等節點(端口30303)進行點對點(P2P)連接。如果你使用第三方托管的Eth1節點,則可以跳過這一步。
注意:如果你在本地托管你的Ubuntu服務器,你需要配置你的網絡路由以允許來自端口30303的入站流量。
$?sudo?ufw?allow?30303
允許Prysm客戶端
允許與Prysm的對等節點進行點對點連接,以便在信標鏈節點上(PrysmaticLabs的默認端口為13000/TCP和12000/UDP)進行操作。
注意:如果你在本地托管你的Ubuntu服務器,你需要配置你的網絡路由以允許來自端口13000和12000的入站流量。
$?sudo?ufw?allow?13000/tcp$?sudo?ufw?allow?12000/udp
開啟防火墻并檢查是否已按上述步驟正確地配置。
$?sudo?ufw?enable$?sudo?ufw?status?numbered
查看下面截圖以供參考。
第5步:配置定時器
Ubuntu內置了時間同步,并默認使用systemd‘stimesyncd服務進行激活。驗證其是否正確運行。
$?timedatectl
激活?NTPservice,運行方式:
$?sudo?timedatectl?set-ntp?on
參考下方的截圖:
只能使用單個定時器服務。如果你此前安裝過NTPD,你需要檢查此文件是否還存在,如果存在請操作下面的命令行以刪除。
$?ntpq?-p$?sudo?apt-get?remove?ntp
第6步:設置一個Eth1節點
參與質押需要一個Eth1節點。你可以選擇運行一個本地Eth1節點,也可以使用第三方提供的節點。本教程會詳細講解如何運行GoEthereum,如果你選擇第三方服務的話,可以跳過這一步。
注意:檢查你的可用磁盤空間。一個Eth1節點需要大概400GB的存儲空間。盡管你有一個容量較大的固態硬盤,Ubuntu也可能顯示僅剩200GB的可用空間。如果你遇到這種情況,請查看附錄C——擴展邏輯卷。
安裝GoEthereum
使用PPA(PersonalPackageArchives,個人安裝包存檔)安裝GoEthereum客戶端。
$?sudo?add-apt-repository?-y?ppa:ethereum/ethereum$?sudo?apt?update$?sudo?apt?install?geth
將GoEthereum作為后臺服務來運行,運行該服務需要創建一個賬戶。此種類型的賬戶無法登錄服務器。
$?sudo?useradd?--no-create-home?--shell?/bin/false?goeth
為Eth1區塊鏈創建數據目錄,用來存儲Eth1節點數據。
$?sudo?mkdir?-p?/var/lib/goethereum
設置目錄的權限。goeth賬戶需要權限來修改該數據目錄。
$?sudo?chown?-R?goeth:goeth?/var/lib/goethereum
創建一個systemd服務配置文件來對該服務進行配置。
$?sudo?nano?/etc/systemd/system/geth.service
將下列的服務配置復制粘貼到文檔中。
Description=Go?Ethereum?ClientAfter=network.targetWants=network.targetUser=goethGroup=goethType=simpleRestart=alwaysRestartSec=5ExecStart=geth?--http?--datadir?/var/lib/goethereum?--cache?2048?--maxpeers?30WantedBy=default.target
需要注意的flags:
flag--http用來公開與Prysm信標鏈節點連接的一個HTTP端口(http://localhost:8545)。
flag--cache指的是內部緩存的大小,以GB為單位。數值的增減取決于你的可用系統內存。設置2048將大概需要使用4-5GB的內存。
flag--maxpeers指的是所連接節點的最大數值。節點數量越多,意味著越多的網絡數據可用空間。所以記得不要將該數值設置得太低,否則你的Eth1節點將難以保持同步。
參考下方的截圖。按CTRLx然后選‘y’,按回車保存并退出。
重新加載systemd以顯示上述的更改并啟動服務。檢查狀態以確保其正確運行。
$?sudo?systemctl?daemon-reload$?sudo?systemctl?start?geth$?sudo?systemctl?status?geth
龍白滔:比特幣和以太坊等數字資產在理論上存在成為央行儲備資產的條件:2021年2月25日晚上,火幣集團旗下火幣研習社的“火幣尖峰對話”欄目經濟學人系列,以“數字貨幣如何開啟世界經濟新格局?”為主題在線上舉行。火幣研習社負責人程智鵬與中國國際商會區塊鏈委員會執行秘書長龍白滔展開對話。
關于對比特幣等數字資產和央行關系的看法,龍白滔表示,比特幣和以太坊等數字資產在理論上存在成為央行儲備資產的條件。理論上講,某個資產只要能為國家的主權貨幣計價,就有存在成為國家的貨幣的儲備資產的可能性,比如美國國債就是美元的發行的基石,而美國國債就是以美元計價的。
但是要成為央行儲備資產還需要滿足市值非常大,市場流動性非常好,被持有非常分散,價格相對穩定等條件。但數字資產市場的相關人員,需要對貨幣金融體系的運行有充分了解,對傳統金融有敬畏之心,要思考數字金融、數字貨幣、區塊鏈能為傳統統金融帶來什么樣的變化,兩方面融合在一起才能創造一個更美好的未來。[2021/2/25 17:53:08]
參考下方的截圖:
如果你每一步都做對了,它會用綠色字體顯示”active(running)"。如果沒有顯示,你需要倒回去重復上述步驟,修復問題。按Q退出(此操作不會影響geth服務)。
允許geth服務在系統重啟時自動啟動。
$?sudo?systemctl?enable?geth
GoEthereum節點將會開始同步。你可以運行下列命令來追蹤進程或檢查錯誤。按“CTRLc”退出(此操作不會影響geth服務)。
$?sudo?journalctl?-fu?geth.service
參考下方的截圖:
查看同步狀態
要檢查Eth1節點同步狀態,請使用下列命令訪問控制臺。
geth?attach?http://127.0.0.1:8545>?eth.syncing
如果顯示結果是false,表明你的同步已完成。如果顯示結果是同步數據,表明你仍在同步。作為參考,大概有7億個已知狀態knownStates.
參考下方的截圖
完成時按“CTRLd”以退出。
檢查連接的對等節點
要檢查你的Eth1節點所連接的對等節點,請使用下列命令訪問控制臺。
geth?attach?http://127.0.0.1:8545>?net.peerCount
對等節點總數peerCount不會超過你所設置的最大對等節點總數--maxpeers。如果無法找到需要同步的對等節點,參閱下一部分。
完成后按“CTRLd”以退出。
添加bootnodes(可選)
有時可能要花點時間才能找到要同步的對等節點,可以添加bootnodes以改善這種情況。
訪問https://gist.github.com/rfikki/a2ccdc1a31ff24884106da7b9e6a7453獲得最新的清單并根據下列操作修改geth服務:
$?sudo?systemctl?stop?geth$?sudo?nano?/etc/systemd/system/geth.service
修改ExecStart行,添加--bootnodesflag:在下方羅列出最新的對等點,并以逗號分割。
ExecStart=geth?--http?--datadir?/var/lib/goethereum?--cache?2048?--maxpeers?30?--bootnodes?"enode://d0b4a09d072b3f021e233fe55d43dc404a77eeaed32da9860cc72a5523c90d31e157.230.142.236:30303,enode://5070366042daaf15752fea340e7ffce3fd8fc576ac846034bd551c3eebac76db1116.202.231.71:30303"
保存文件之后退出。然后重啟服務并觀察。
$?sudo?systemctl?daemon-reload$?sudo?systemctl?start?geth$?sudo?journalctl?-fu?geth.service
注意:需要按照一系列特定的步驟來更新Geth。更多信息請參見“附錄A:更新Geth”。
第7步:下載Prysm
Prysm客戶端由兩份二進制文件組成:信標鏈節點和驗證者客戶端。本步驟將講解如何下載Prysm和那兩份二進制文件。
首先,訪問
https://github.com/prysmaticlabs/prysm/releases并找到最新發布的Prysm版本。通常在頁面的最頂部,比如:
在“Assets”那一欄(如果需要的話點擊展開)將下載鏈接復制粘貼至文檔beacon-chain-v…-linux-amd64以及文檔validator-v…-linux-amd64中。請確保復制的鏈接是正確的。
操作下列命令來下載這些文件。將下方指令部分的URL改為最新版本的下載鏈接。
$?cd?~$?sudo?apt?install?curl$?curl?-LO?https://github.com/prysmaticlabs/prysm/releases/download/v1.0.0/beacon-chain-v1.0.0-linux-amd64$?curl?-LO?https://github.com/prysmaticlabs/prysm/releases/download/v1.0.0/validator-v1.0.0-linux-amd64
重命名文檔并使它們可執行。將他們復制到目錄/usr/local/bin中,Prysm會在該處運行這些文件。根據需求修改文檔名。
以太坊網絡費用上周末連續兩天超過比特幣:金色財經報道,鏈上市場分析公司Glassnode的數據顯示,以太坊的每日網絡費用在6月6日和6月7日連續兩天超過比特幣。根據Glassnode的說法,6月6日,以太坊網絡上的總費用為49.8萬美元,而比特幣為30.8萬美元。6月7日的差距繼續擴大,兩個網絡的總費用分別為54萬美元和25.8萬美元。這是今年以太坊網絡費用第二次超過比特幣。 3月12日,以太坊網絡費用突然飆升,總計近80萬美元。[2020/6/9]
$?mv?beacon-chain-v1.0.0-linux-amd64?beacon-chain$?mv?validator-v1.0.0-linux-amd64?validator$?chmod?x?beacon-chain$?chmod?x?validator$?sudo?cp?beacon-chain?/usr/local/bin$?sudo?cp?validator?/usr/local/bin
清理下載的文檔。
$?cd?~$?sudo?rm?beacon-chain?&&?sudo?rm?validator
注意:需要按照一系列特定的步驟來更新Prysm。更多信息請參見“附錄B:更新Prysm”。
第8步:導入驗證者密鑰對
導入你在第1步生成的密鑰對,以配置Prysm驗證者錢包。
復制驗證者密鑰存儲文件
如果你的驗證者存儲文件keystore-m…json不是在你的Ubuntu服務器上生成的,那么你就需要將這些文件復制粘貼到你的本地目錄中。你可以用USB把文件拷過去(如果你的服務器是本地的),也可以使用安全的FTP(SFTP)。
將文件放置在:
$HOME/eth2deposit-cli/validator_keys。如果需要的話創建文件目錄。
將密鑰存儲文件導入驗證者客戶端
創建一個目錄以存儲驗證者錢包數據,并授予當前用戶訪問該目錄的權限。當前用戶需要訪問權限來執行導入。在修改登入用戶名。
$?sudo?mkdir?-p?/var/lib/prysm/validator$?sudo?chown?-R?:?/var/lib/prysm/validator
運行驗證者密鑰導入進程。你需要提供放置已生成的密鑰存儲庫文件的路徑。比如:$HOME/eth2deposit-cli/validator_keys
$?cd?/usr/local/bin$?validator?accounts?import?--keys-dir=$HOME/eth2deposit-cli/validator_keys
然后會出現一些使用條款,你需要輸入接受accept才能繼續下一步。
你將需要提供一個錢包目錄,在這里你可以創建新的錢包。輸入:/var/lib/prysm/validator
然后創建一個錢包密碼并保存在一個安全的地方。稍后你配置驗證者時將需要使用這個密碼。
接下來你需要提供你在第1步生成的驗證者密鑰對。
如果輸入正確,密鑰將被導入。
創建一個錢包密碼文件
創建一個文件來保存錢包密碼,這樣Prysm驗證者服務就可以在不知道密碼的情況下訪問該錢包了。文件命名為:password.txt
$?sudo?nano?/var/lib/prysm/validator/password.txt
將你的新錢包密碼導入文件中,用你的密碼替換掉YourNewWalletPassword。
參考下方的截圖。按CTRLx然后選‘y’,按回車保存并退出。
接下來會講如何設置驗證者目錄以及密碼文件的訪問權限。
現在已經導入成功并且設置好錢包了。
第9步:配置Prysm信標節點
在這一步,你要把節點作為服務那樣來配置并運行,因此如果系統重啟,這個過程將自動重新開始。
設置賬戶和目錄
為信標節點的運行創建一個賬戶。這種賬戶不能用來登錄進入服務器。
$?sudo?useradd?--no-create-home?--shell?/bin/false?prysmbeacon
為信標節點的數據庫創建數據目錄和設置權限。
$?sudo?mkdir?-p?/var/lib/prysm/beacon$?sudo?chown?-R?prysmbeacon:prysmbeacon?/var/lib/prysm/beacon$?sudo?chmod?700?/var/lib/prysm/beacon$?ls?-dl?/var/lib/prysm/beacon
參考下方的截圖。
創建和配置服務
創建一個systemd服務的config文檔來配置服務
$?sudo?nano?/etc/systemd/system/prysmbeacon.service
將下面這段代碼復制粘貼到文檔里
Description=Prysm?Eth2?Client?Beacon?NodeWants=network-online.targetAfter=network-online.targetUser=prysmbeaconGroup=prysmbeaconType=simpleRestart=alwaysRestartSec=5ExecStart=/usr/local/bin/beacon-chain?--datadir=/var/lib/prysm/beacon?--http-web3provider=http://127.0.0.1:8545?--accept-terms-of-useWantedBy=multi-user.target
行情 | 以太坊網絡未確認交易筆數持續下降:根據公開數據顯示,目前以太坊的網絡平均未確認交易筆數為10935筆,較昨日26587筆,有較大幅度的減少,近幾日以太坊網絡未確認交易筆數持續下降,當前網絡相對流暢。[2018/7/30]
需要注意的flags:
--http-web3provider如果你正在使用一個遠程或第三方的Eth1節點,你需要改變這個值。如果你是在本地創建Eth1節點的,這里不需要改動。
--accept-terms-of-use需要自動啟動服務。使用這個flag表示接受Prysm的使用條款。
參考下方的截圖。按CTRLx然后'y',按回車保存然后退出。(譯注:此處原文無截圖)
重新加載systemd以顯示更改。
$?sudo?systemctl?daemon-reload
啟動服務并檢查,確保正確運行。
$?sudo?systemctl?start?prysmbeacon$?sudo?systemctl?status?prysmbeacon
參考下方的截圖
如果你每一步都做對了,它會用綠色字體顯示”active(running)"。如果沒有顯示,你需要倒回去重復上述步驟,修復問題。按Q退出(不會影響prysmbeacon的服務)。
允許服務隨系統重啟而自動重啟。
$?sudo?systemctl?enable?prysmbeacon
如果Eth2鏈處于創世后的狀態,Prysm的信標鏈會開始同步數據。它可能要花幾個小時才能完全實現同步。你可以通過運行journalctl命令來追蹤進程或檢查錯誤。按CTRLc退出(將不會影響prysmbeacon的服務)
$?sudo?journalctl?-fu?prysmbeacon.service
日志的截位視圖會顯示以下狀態信息。
Nov?27?06:20:48?ETH-STAKER-001?bash:?time="2020-11-27?06:20:48"?level=info?msg="Processing?deposits?from?Ethereum?1?chain"?deposits=1024?genesisValidators=1019?prefix=powchain
當Eth2主網啟動,信標鏈和驗證者將自動開始處理數據。
注意:如果你的Eth1節點仍在同步,你將會出現以下報錯信息。當同步完成了,它會自動消失。
Nov?27?06:16:29?ETH-STAKER-001?bash:?time="2020-11-27?06:16:29"?level=error?msg="Could?not?connect?to?powchain?endpoint"?error="could?not?dial?eth1?nodes:?eth1?node?using?incorrect?chain?id,?0?!=?1"?prefix=powchain
第10步:配置Prysm驗證者客戶端
在這一步,你需要將你的驗證者客戶端作為一項后臺服務來配置和運行,因此系統重啟時這個進程會自動重啟。
創建賬戶和目錄
為驗證者客戶端的運行創建一個賬戶。這類賬戶無法登錄服務器。
$?sudo?useradd?--no-create-home?--shell?/bin/false?prysmvalidator
這個驗證者數據目錄已經在第8步創建了。現在設置權限,使得這個prysmvalidator賬戶可以修改這個數據目錄。
$?sudo?chown?-R?prysmvalidator:prysmvalidator?/var/lib/prysm/validator$?sudo?chmod?700?/var/lib/prysm/validator$?ls?-dl?/var/lib/prysm/validator
參考下方的截圖。
驗證者錢包的password.txt文檔在第8步已經創建了。現在設置權限,使得只有prysmvalidator的賬戶可以讀取這個文檔。
$?sudo?chmod?-R?700?/var/lib/prysm/validator/password.txt$?sudo?ls?-lh?/var/lib/prysm/validator/
創建并配置服務
創建一個systemd服務文件來配置服務
$?sudo?nano?/etc/systemd/system/prysmvalidator.service
將下面這段代碼復制粘貼到文檔里
Description=Prysm?Eth2?Validator?ClientWants=network-online.targetAfter=network-online.targetUser=prysmvalidatorGroup=prysmvalidatorType=simpleRestart=alwaysRestartSec=5ExecStart=/usr/local/bin/validator?--datadir=/var/lib/prysm/validator?--wallet-dir=/var/lib/prysm/validator?--wallet-password-file=/var/lib/prysm/validator/password.txt?--graffiti=""?--accept-terms-of-useWantedBy=multi-user.target
需要注意的flag:
--graffiti=""填上你的涂鴉字串符。出于安全和隱私,應避免使用能唯一辨識你的信息。比如--graffiti"HelloEth2!FromDominator"。
參考下方的截圖。按CTRLx然后選‘y’,按回車保存并退出。
重新加載systemd以顯示更改。
$?sudo?systemctl?daemon-reload
開啟服務并檢查,確保運行正確。
$?sudo?systemctl?start?prysmvalidator$?sudo?systemctl?status?prysmvalidator
參考下方的截圖
如果你每一步都做對了,它會用綠色字體顯示”active(running)"。如果沒有顯示,你需要倒回去重復上述步驟,修復問題。按Q退出(不會影響prysmvalidator的服務)。
允許服務隨系統重啟而自動重啟。
$?sudo?systemctl?enable?prysmvalidator
你可以通過運行journalctl命令來追蹤進程或檢查錯誤。按CTRLc來退出(將不會影響prysmvalidator的服務)
$?sudo?journalctl?-fu?prysmvalidator.service
日志的截位視圖會顯示以下狀態信息。
ETH-STAKER-001?systemd:?Started?Prysm?Eth2?Validator?Client.level=warning?msg="Running?on?ETH2?Mainnet"?prefix=flagslevel=info?msg="Opened?validator?wallet"?keymanager-kind=direct?level=info?msg="Checking?DB"?databasePath="/var/lib/prysm/validator"?level=info?msg="Starting?validator?node"?prefix=node?...level=info?msg="Validating?for?public?key"?prefix=validator?publicKey=0x9072a8f02c18level=info?msg="Validating?for?public?key"?prefix=validator?publicKey=0xaa5ff8b63560level=info?msg="Waiting?for?beacon?chain?start?log?from?the?ETH?1.0?deposit?contract"?prefix=validatorlevel=info?msg="Beacon?chain?started"?genesisTime=2020-12-01?12:00:23?0000?UTC?prefix=validatorlevel=info?msg="Waiting?for?deposit?to?be?observed?by?beacon?node"?prefix=validator?pubKey=0x9072a8f02c18?status="UNKNOWN_STATUS"
你可以在beaconcha.in查看你的驗證者狀態。只需要搜索你的驗證者公鑰或使用你的MetaMask錢包地址進行搜索。你的數據可能要過一段時間才會在網站上顯示。
第11步:進行驗證者存款
現在你的節點已經設置好并開始運行,你將需要將ETH存入你的驗證者節點。
注意:如果你已經提交了你的質押存款,你可以跳過這一步。
這一步是關于將所需的ETH存入Eth2.0的存款合約。不要把ETH發送到存款合約。這需要在瀏覽器上通過Eth2.0的Launchpad網站啟動你的MetaMask(或其他)錢包。
注意:如果是在創世后進行的話,你需要在你的Eth1節點和信標鏈都完全同步完之前存入你的存款。如果你不這樣做,當你的Eth1節點或信標鏈在同步時,Prysm會處于怠工狀態,而你可能要遭遇怠工懲罰。
以太坊2.0Launchpad:
https://launchpad.ethereum.org/
一直隨著屏幕切換點擊這些警告步驟,直到你到達密鑰對生成的部分。選擇你打算運行的驗證者數量。選擇一個與你在步驟1中生成的驗證者文件數量相匹配的值。
往下滾動,看這些內容你是否同意,然后點擊“Continue”(繼續)。
你會被要求上傳deposit_data-.json文檔。這個文檔你是在步驟1生成的。瀏覽/選擇或拖拉這個文檔,然后點擊Continue。
連接你的錢包。選擇MetaMask(或者是其他支持的錢包),登錄,選擇存有你的ETH的錢包,然后點擊Continue。
你的MetaMask余額就會顯示出來。如果你選擇了主網且你有充足的ETH余額,網站會允許你繼續下一步。
然后會出現一個Summary(總結),顯示驗證者數和所需的ETH數量。如果你同意的話就給那些方框打勾,然后點擊Continue。
如果你準備好去存款了,點擊"InitiateAllTransactions"(啟動所有交易)。
當你到了可以確認每筆交易那一步時,MetaMask(或其他錢包)的窗口會自動彈出。
當所有的交易都成功完成時,你的質押也完成了!
恭喜你已經成功存入你的質押存款了!
查看你的驗證者存款狀態
新加入的驗證者需要等一下(幾個小時到幾天不等)才能激活。你可以以下幾步來查看你的密鑰狀態:
1.復制你的MetaMask(或其他)錢包地址。
2.前往這里:beaconcha.in/
3.用你的錢包地址搜索你的密鑰。
點進某個驗證者詳情,每個驗證者激活后你會看到在Status那一欄有預估時間。
現在你面前有一個條正在運作的信標鏈、一個驗證者節點以及你的主網存款。如果以太坊2.0主網處于運行中,一旦你的存款被激活,你將開始工作并賺取收益。
恭喜你:你終于正式成為了一名以太坊質押者!
是時候來一頓肥宅水狂歡了。
第12步:監測
因為一些還沒被解決的安全問題,監測這一部分將在未來補充到這份教程。
結束語及后續建議
感謝大家給我這個機會。希望這份教程能幫到大家。
后續步驟:
檢查三次所有密鑰與密碼備份。
重啟你的電腦并確保服務都能自動啟動。
了解如何升級客戶端與服務器軟件。
使用htop來監測本地電腦的資源
熟悉beaconcha.in,這樣你就能監測你的驗證者情況,其提供警報功能和最多3個POAP。
加入Ethstaker和Prysm的Discord,留意重要通知。
請在Discord,Twitter,orReddit分享對這份教程的反饋。
在Ethstaker的discord上幫助其他人設置。
用friendlink分享這份教程
支持一下:somer.eth
延伸閱讀
強烈建議大家從盡可能多的來源獲取信息,還有很多其他資源可以幫助你熟悉如何在Eth2上質押。
如果作者對這些資源還沒測試或驗證過,而你采用了的話,是要自己承擔風險的。
客戶端團隊的官方文檔Prysm|Lighthouse|Teku|Nimbus
/r/EthStakerSticky
以太坊2.0客戶端的非官方docker環境
如何在Ubuntu上設置Eth2主網驗證者系統
指南|如何在ETH2主網設置驗證者
指南|ETH2驗證者信標鏈節點的安全最佳實踐
質押節點的額外監察
以太坊2.0質押的Telegram服務
Appendix附錄A—Geth更新
如果你需要更新到Geth的最新版本,請按下列步驟:
$?sudo?systemctl?stop?prysmvalidator$?sudo?systemctl?stop?prysmbeacon$?sudo?systemctl?stop?geth$?sudo?apt?update?&&?sudo?apt?upgrade$?sudo?systemctl?start?geth$?sudo?systemctl?status?geth?#?<--?Check?for?errors$?sudo?journalctl?-fu?geth?#?<--?Monitor$?sudo?systemctl?start?prysmbeacon$?sudo?systemctl?status?prysmbeacon#?<--?Check?for?errors$?sudo?journalctl?-fu?prysmbeacon.service?#?<--?Monitor$?sudo?systemctl?start?prysmvalidator$?sudo?systemctl?status?prysmvalidator#?<--?Check?for?errors$?sudo?journalctl?-fu?prysmvalidator.service?#?<--?Monitor
Appendix附錄B—更新Prysm
如果你需要更新到Prysm的最新版本,請按下列步驟進行:
首先,前往這里找出最新的Linux發布。在asset部分(如果需要的話點擊展開)復制下載連接到beacon-chain-v…-linux-amd64和validator-v…-linux-amd64文檔。注意要復制正確的鏈接。
將下方指令部分的URL改為最新版本的下載鏈接。
$?cd?~$?sudo?apt?install?curl$?curl?-LO?https://github.com/prysmaticlabs/prysm/releases/download/v1.0.0/beacon-chain-v1.0.0-linux-amd64$?curl?-LO?https://github.com/prysmaticlabs/prysm/releases/download/v1.0.0/validator-v1.0.0-linux-amd64
停止Prysm的服務。
$?sudo?systemctl?stop?prysmvalidator$?sudo?systemctl?stop?prysmbeacon
重命名文檔使其可執行。復制它們到/usr/local/bin目錄。需要的話修改下方的文檔名。
$?mv?beacon-chain-v1.0.0-linux-amd64?beacon-chain$?mv?validator-v1.0.0-linux-amd64?validator$?chmod?x?beacon-chain$?chmod?x?validator$?sudo?cp?beacon-chain?/usr/local/bin$?sudo?cp?validator?/usr/local/bin
重啟服務并檢查錯誤。
$?sudo?systemctl?daemon-reload$?sudo?systemctl?start?prysmbeacon$?sudo?systemctl?status?prysmbeacon#?<--?Check?for?errors$?sudo?journalctl?-fu?prysmbeacon.service?#?<--?Monitor$?sudo?systemctl?start?prysmvalidator$?sudo?systemctl?status?prysmvalidator#?<--?Check?for?errors$?sudo?journalctl?-fu?prysmvalidator.service?#?<--?Monitor
清理已下載的文檔。
$?cd?~$?sudo?rm?beacon-chain?&&?sudo?rm?validator
Appendix附錄C—擴展邏輯卷
很多時候Ubuntu只預配200GB的較大固態硬盤,導致用戶在同步他們的Eth1節點時就耗盡存儲空間了。報錯信息近似于:
Fatal:?Failed?to?register?the?Ethereum?service:?write?/var/lib/goethereum/geth/chaindata/383234.ldb:?no?space?left?on?device
為了解決這個問題,假設你有一個大于200GB的固態硬盤,你可以通過下列步驟為LVM(邏輯卷管理)擴大容量。
$?sudo?lvdisplay?#?<--?Check?your?logical?volume?size$?sudo?lvm?>?lvextend?-l?100%FREE?/dev/ubuntu-vg/ubuntu-lv>?exit$?sudo?resize2fs?/dev/ubuntu-vg/ubuntu-lv$?df?-h?#?<--?Check?results
這會重新調整你的硬盤至它的最大可用空間。
如果你在這方面需要支持,請在EthStaker的Discord上尋求幫助。
鏈聞消息,BraveSoftware宣布推出隱私新聞閱讀器BraveToday,該應用權衡幾個因素算法,從數百種流行的RSS提要中為用戶本地分類新聞,其中包括用戶的瀏覽器歷史記錄和文章發布日期.
1900/1/1 0:00:00尊敬的社區用戶: ETH2.0質押服務第一期獎勵BETH已經空投,請在錢包賬戶查收。風險提示:數字資產是創新的投資產品,價格波動較大,請您理性判斷自己的投資能力,審慎做出投資決策.
1900/1/1 0:00:00現階段,Filecoin主網上線已有一段時間了,Filecoin挖礦也已經開始了,出售礦機的企業比比皆是,我們究竟要如何去選擇一個可靠的企業呢?首先,單機封存數據的速度.
1900/1/1 0:00:00尊敬的LOEx用戶:為了向用戶提供更加優質的服務和體驗,LOEx國際站將于新加坡時間2020年12月10日19:00-12月10日21:00進行系統升級維護.
1900/1/1 0:00:00據《華爾街日報》報道,總部位于美國馬薩諸塞州的保險公司MassMutual已為其一般投資帳戶購買了價值1億美元的比特幣.
1900/1/1 0:00:00Filecoin能否復刻比特幣的成功?fil幣價能否超越比特幣?ipfs的未來!2020年8月15日,摩根克里克(MorganCreek)的聯合創始人AnonyPompliano在推特上表示.
1900/1/1 0:00:00