比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads
首頁 > 火幣APP > Info

ETH:以太坊2.0主網質押教學_ethic

Author:

Time:1900/1/1 0:00:00

本文基于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

以太坊網絡當前已銷毀超251.37萬枚ETH:金色財經報道,據Ultrasound數據顯示,截止目前,以太坊網絡總共銷毀2,513,721.69枚ETH。其中,ETHtransfers銷毀232,145.21枚ETH,OpenSea銷毀230,049.97枚ETH,UniswapV2銷毀134,465.10枚。注:自以太坊倫敦升級引入EIP-1559后,以太坊網絡會根據交易需求和區塊大小動態調整每筆交易的BaseFee,而這部分的費用將直接燃燒銷毀。[2022/7/6 1:53:10]

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

最近一周,以太坊網絡新增209.97萬枚NFT資產:金色財經報道,NFTScan數據顯示,最近一周,以太坊網絡新增209.97萬枚NFT資產,平均每天新增鑄造29.99萬枚NFT資產。[2022/6/15 4:26:57]

$?sudo?ufw?allow?/tcp

拒絕SSH端口號22

拒絕端口22/TCP的入站流量。

注意:當你完成了修改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

一名12歲的小學生在以太坊鏈上部署了一份智能合約:金色財經報道,RND創立者、12歲小學生黃正發布Solidity教程-智能合約創建和部署的視頻教程,黃正稱,一周前,在以太坊鏈上部署了一份智能合約。

這個課程是基于部署的這份智能合約的整個過程。課程將詳細介紹智能合約的創建、部署、測試、到發布及后續一系列內容,希望大家能從這個課程當中學會如何自己創建一份智能合約。[2022/2/6 9:34:11]

參考下方的截圖:

如果你每一步都做對了,它會用綠色字體顯示”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會在該處運行這些文件。根據需求修改文檔名。

$?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

以太坊二層協議Metis宣布完成400萬美元融資:以太坊二層協議Metis宣布完成400萬美元的新一輪融資。該輪融資由Master Ventures、Oasis Capital、AU21、BMW Capital、Consensus Lab、Genblock Capital、M6等公司牽頭。目前,該公司在IDO之前的資金總額已達500萬美元。(Bitcoinschannel)[2021/5/10 21:45:31]

清理下載的文檔。

$?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

需要注意的flags:

--http-web3provider如果你正在使用一個遠程或第三方的Eth1節點,你需要改變這個值。如果你是在本地創建Eth1節點的,這里不需要改動。

--accept-terms-of-use需要自動啟動服務。使用這個flag表示接受Prysm的使用條款。

參考下方的截圖。按CTRLx然后'y',按回車保存然后退出。(譯注:此處原文無截圖)

程序員創建標準化代理合約以解決以太坊合約規模的限制:7月19日消息,當有太多函數和代碼時,以太坊合約可能會達到最大合約大小24KB的限制,程序員Nick Mudge在他7月10日的博客中透露,盡管V神堅持使用“代理合約”可能是解決這些限制的潛在方法,但他創建的標準化代理合約“鉆石標準”可能為其錦上添花。代理合約是指通過借用其他合同的功能來保持較小規模的合約。Mudge指出,ERC1400安全代幣標準需要很多函數和事件,實現標準契約很容易就會受到限制。而“鉆石標準”可以將程序員如何從任意數量的合同中創建小合約借用功能。(Cointelegraph)[2020/7/20]

重新加載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上尋求幫助。

Tags:ETHPRYSUDOUDOethicpry幣行情Sudoswapsudo幣價值

火幣APP
EOS:金色薦讀 | 巴菲特:投資總體上可以分為三大類_THE

編者按:早前,美團網CEO王興在其飯否賬戶中連續發出三條與加密貨幣領域相關的推文。而11日,王興再度提及加密貨幣,他提問伯克希爾·哈撒韋公司何時會開始投資加密貨幣?作為由巴菲特創立的一家主營保險.

1900/1/1 0:00:00
BIG:BigONE 關于將上線 VET、IRIS、ATOM 杠桿交易的公告_泰達幣和usdt有什么區別

親愛的用戶: BigONE將于2020年12月11日15:00上線VET、IRIS、ATOM杠桿交易,開通VET/USDT、IRIS/USDT、ATOM/USDT杠桿交易對,杠桿倍數為10倍.

1900/1/1 0:00:00
比特幣:摩根士丹利:比特幣能否顛覆美元地位 成為全球儲備貨幣?_Guarded Ether

摩根士丹利投資管理公司首席全球策略師魯奇·夏爾馬在他最新的評論文章中,提出了使比特幣成為全球儲備貨幣的理由.

1900/1/1 0:00:00
GAT:Gate.io今日直播新鮮看,市場分析、投資教學等12個節目即將開播_GATE

Gate.io直播間作為行業內首個交易所內置直播功能,通過多樣性的直播形式為平臺用戶帶來具有深度、有趣、開放的信息內容.

1900/1/1 0:00:00
BIT:關于XRP開放充提幣的公告_GET

Bitget全球站用戶:Bitget已恢復XRP充提幣服務。感謝您對Bitget的關注與支持! 相關公告 充幣教程 提幣教程 Bitget團隊 聲音 | 中央財經大學鄧健鵬:目前我國關于反假幣的.

1900/1/1 0:00:00
比特幣:財哥談幣:市場情緒逐步兩極化 后續走勢我們應該怎么看?_PREMA

市場情緒逐步兩極化后續走勢我們應該怎么看?自上周比特幣價格刷新歷史新高以來,突破20000美元便成為了市場萬眾期待的一個目標.

1900/1/1 0:00:00
ads