ETH 2.0 Testnet in Raspberry pi4 4GB 教學 - 數位貨幣

Table of Contents

感謝 @b24333666 的教學, 這兩天也用 Raspberry Pi 4(4GB) 試著建構

為了節省記憶體的使用, 再加上我喜歡 headless 的部署方式,

我沒有安裝桌面系統, 而是採用 SSH 進機器操作.


## 預設開啟 SSH Server

第一次開機前在SD卡的 system-boot 分割中,
產生一個命名為 ssh 的檔案(空的即可)
之後開機會自動叫起 SSH Server.


## Firefox/MetaMask

主要是當 Goerli ETH 的錢包, 可以直接在一般電腦上跑.
跑 Beacon Chain/Validator Client 建議可以使用 tmux 以避免斷線.
PS. 記得 MetaMask 切換到 Goerli Test Network, 在右上角

## Beacon Chain

跑 Beacon Chain 大約會花 2~3 小時做 init-sync, 這時候會吃非常多記憶體
建議可以在 SSD 上面暫時先開一個 swap 檔, init-sync 完可以關掉
作法如下

```
# 檔名路徑可自選一個 SSD 的空間, 8x1G 可以更大沒關係
$ sudo dd if=/dev/zero of=/var/swapfile bs=1G count=8
$ sudo mkswap /var/swapfile
$ sudo swapon /var/swapfile
$ free
total used free shared buff/cache
available
Mem: 3884376 2322780 47260 3916 1514336
2924320
Swap: 8388604 1024 8387580
```

完成 init-sync 後如不使用可以透過 `sudo swapoff /var/swapfile` 關閉

PS1.如果不使用 SWAP 的話, 有可能會遇到 Kernel Out-of-memory 的問題,
beacon chain 的程式就會被 Kernel 關掉, 而且會 hang 好一段時間..
oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=beacon-chain-v1,pid=2522,uid=1001 Out of memory: Killed process 2522 (beacon-chain-v1)
total-vm:5812104kB, anon-rss:3570120kB, file-rss:0kB, shmem-rss:0kB, UID:1001 pgtables:7652kB oom_score_adj:0
oom_reaper: reaped process 2522 (beacon-chain-v1), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB

PS2.beacon chain可以不需要以 sudo 權限執行

## Validator Client

當 Beacon chain init-sync 跑完後,
Validator 會需要一段時間等你的 deposit 被處理到..(約一個多小時)
此時 Log 訊息會有 status=DEPOSITED 的字樣,
只要等到 expectedInclusionSlot == slot 就會開始分派工作了!

PS.Validator Client 可以不需要 sudo 權限執行

## 結論

- Validator 跑了約 18 小時, 總共收到 0.008 ETH 的獎勵..
請參閱 https://bit.ly/2WaQ2Py
- SSD 共額外吃了 1GB (剛剛算錯空間了 XD)
- 我的Pi4 在 init-sync 時, CPU 48度, USB 52度, 只有貼散熱片
- 離線會有 penalty, raspberry pi4 的可靠度老實說我打個問號...
- 要考慮 SSD 壽命(保固?) vs 獎勵划不划算
- 路由器 13000/tcp 做 NAT

小費箱
ETH: 0xf92512467cF72b249e621DB334391F7d11FAFcB1
simpleledger:qq2c29w68qkre380j4fc9s53a9cnnmt2uvdq5l87hd

--

It is better to be approximately right than exactly wrong.

--

All Comments

Rae avatarRae2020-05-03
再來要把重開機自動跑service設定好
Charlie avatarCharlie2020-05-04
Faithe avatarFaithe2020-05-06
PS.當Validator要有24/7的能力, 是不是一些設備都要有
備品可以壞了隨時換呢?
Cara avatarCara2020-05-09
Tristan Cohan avatarTristan Cohan2020-05-12
看起來是pos節點,但實際上是燒ssd挖礦,也算是某種pow
Gilbert avatarGilbert2020-05-12
ssd用好一點有dram der
Damian avatarDamian2020-05-14
推 跪求詳細教學
Rebecca avatarRebecca2020-05-17
Anthony avatarAnthony2020-05-21
proof of ssd 就是 POS 沒錯阿(?
Elma avatarElma2020-05-22
依吹吹的論述,BTC是PoS:Proof of sdtty信仰
Donna avatarDonna2020-05-23
Proof of SSD XDDD
Queena avatarQueena2020-05-26
ssd保固三至五年,以後金士頓說不定會新增條款,不得商用
當作節點xd
Jessica avatarJessica2020-05-27
別騙我 我書讀得少 PoS 不是 Proof of Steak 牛排多的贏嗎
Agnes avatarAgnes2020-05-29
Pork of Steak 來吃豬排啦pork steak
Caroline avatarCaroline2020-06-01
難怪一直覺得不通順 原來是 pork or steak 要吃豬還牛排
Hazel avatarHazel2020-06-05
你確定不是選擇住 Park or Suite ?
Ida avatarIda2020-06-06
推推
Olga avatarOlga2020-06-08
不過如果只有init-sync用到swap 壽命會有什麼影響嗎
Kama avatarKama2020-06-10
為什麼這篇梗這麼多?XD
Hedwig avatarHedwig2020-06-14
可能這兩天大家都賺飽飽很開心 XD
Zora avatarZora2020-06-15
這篇大家都好有梗XDD
Jack avatarJack2020-06-16
等SSD損失大於獎勵 PoS 就是 Proof of Stupidity (誤)
Elizabeth avatarElizabeth2020-06-20
第一天獎勵約 0.01 ETH, 第二天約 0.012 ETH
Charlie avatarCharlie2020-06-23
記憶體夠大,一部分做ramdisk是否可以解決swap設在SS
D操的問題
Wallis avatarWallis2020-06-26
記憶體夠大應該就不需要swap, swap用意記憶體不足時可以
Charlie avatarCharlie2020-07-01
系統可以把部分不常用的部分轉移swap上, 有需要存取再轉
回記憶體中... 所以夠大應該就不需要特別設定
Edwina avatarEdwina2020-07-06
像我用 AWS 的 nano 在跑 記憶體只給400m 不開 swap 跑不
起來 反正用人家的機器就是貴
Jessica avatarJessica2020-07-06
弄一個跑在virtualbox的版本會不會比較好推?
Emma avatarEmma2020-07-09
windows 也能裝喔~ 我網路連免費的 沒固定Ip和開port權
Jacob avatarJacob2020-07-12
不論決定在哪個平台跑, 都要先評估風險和穩定度, 出現問
Gilbert avatarGilbert2020-07-16
題可能會扣壓艙的 32ETH 喔.
Doris avatarDoris2020-07-20
開 NAT Port 的問題, 我在開之前 Beacon Chain 偶爾會跳
連不上某個GRPC的ErrorLog, 開 NAT 後改善很多..
Freda avatarFreda2020-07-23
https://is.gd/ZYe6JG 提供一個不好好開機被扣錢的反例XD
Selena avatarSelena2020-07-27
有如何退出這個 contract 不當 validator 的方法嗎?
Bennie avatarBennie2020-08-01
印象中 phase 1 才能 withdraw...
Kumar avatarKumar2020-08-03
T_T 啊不就還好是 goerli 測試幣而已 居然沒做退出功能