在前篇發布後至今一個月,以太坊官方的 Modalla 測試網已經啟動,ETH 2 的驗證者啟動頁面 (launchpad)也首次就緒。雖然尚未有新版的 EthereumOnARM ROM,但做完以下設定後,我也順利遷移到了新測試網。
0. 準備
照著前一篇 的教學安裝好樹莓派,按照設定驗證者 (Validator) 資訊 一節做完後,跟著本篇做 Modalla 測試網的設定。
接著打開 https://medalla.launchpad.ethereum.org 網頁,我們將跟著一步步完成驗證者的設定 (使用 prysm 客戶端)。
1. 存入 32 (test) ETH
從 https://faucet.goerli.mudit.blog/ 取得 > 32 goerli (測試網) ETH
請及早準備好 32 ETH,從存入到完成遷移 ETH 2 網路,預計需要花 8 小時以上。
2. 設定樹莓派
ssh 登入樹莓派,確認相關的軟體都升級到最新版本
$ sudo apt update && sudo apt upgrade
3. 產生驗證者所需檔案
下載並執行 eth2.0-deposit-cli 命令,以產生驗證者所需檔案3
cd ~
sudo apt-get install python3-pip
git clone https://github.com/ethereum/eth2.0-deposit-cli.git
cd eth2.0-deposit-cli
sudo ./deposit.sh install
./deposit.sh --num_validators 1 --chain medalla
將產生的檔案 (/eth2.0-deposit-cli/validator_keys
) 從樹莓派複製到本機4
scp [email protected]://home/ethereum/eth2.0-deposit-cli/validator_keys/deposit_data-1596511852.json deposit_data-1596511852.json
將檔案上傳到 Launchpad https://medalla.launchpad.ethereum.org/upload-validator
4. 設定 validator
在樹莓派上,將產生的驗證者檔案匯入 prysm
$ /usr/bin/validator accounts-v2 import --keys-dir=$HOME//eth2.0-deposit-cli/validator_keys
Enter a wallet directory (default: /home/ethereum/.eth2validators/prysm-wallet-v2):
Directory where passwords will be stored (default: /home/ethereum/.eth2validators/prysm-wallet-v2-passwords):
[2020-08-04 12:14:33] INFO accounts-v2: Successfully created new wallet wallet-path=/home/ethereum/.eth2validators/prysm-wallet-v2
New wallet password:
Confirm password:
Enter the password for your imported accounts:
Importing accounts, this may take a while...
Importing accounts... 100% [===========================================================================================================================================] [36s:0s]
Successfully imported 1 accounts, view all of them by running accounts-v2 list
可以使用 $ /usr/bin/validator accounts-v2 list
命令查看是否成功匯入。
5. 啟動 beacon 服務
如果你和我一樣有跑之前的測試網,需要先清空之前測試網的資料庫紀錄,才能順利啟動 beacon 服務。
/usr/bin/beacon-chain --force-clear-db
接著啟動 beacon 服務 (用的是 EthereumOnARM ROM 提供的 service)
sudo systemctl start prysm-beacon
運行順暢後,再啟動 validator 服務。
啟動 validator 服務
先建立 password.txt 檔案,並將密碼寫入其中
touch ~/.eth2validators/prysm-wallet-v2/password.txt
vi ~/.eth2validators/prysm-wallet-v2/password.txt
編輯 /etc/ethereum/prysm-validator.conf
檔案,將內容改為
ARGS="--wallet-dir /home/ethereum/.eth2validators/prysm-wallet-v2 --wallet-password-file /home/ethereum/.eth2validators/prysm-wallet-v2/password.txt"
sudo systemctl start prysm-validator
要查看各服務的狀態,可以用以下命令
sudo systemctl status prysm-beacon
sudo systemctl status prysm-validator
sudo systemctl status geth.service
參考資料
- [1] Eth2 launchpad onboarding https://docs.prylabs.network/docs/testnet/medalla/
- [2] eth2 validator launchpad https://blog.ethereum.org/2020/07/27/eth2-validator-launchpad/
- [3] https://github.com/metanull-operator/eth2-ubuntu#make-validator-deposits-and-install-keys
- [4] scp 指令用法 https://blog.gtwang.org/linux/linux-scp-command-tutorial-examples/
- [5] Guide to Staking on Ethereum 2.0 (Ubuntu/Medalla/Prysm) https://medium.com/@SomerEsat/guide-to-staking-on-ethereum-2-0-ubuntu-medalla-prysm-4d2a86cc637b