TShopping

 找回密碼
 註冊
搜索
查看: 1428|回復: 0
打印 上一主題 下一主題

[Ubuntu] Storj 挖礦教學 – Ubuntu 20.04 安裝實例

[複製鏈接]
跳轉到指定樓層
1#
發表於 2022-7-28 11:59:50 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
 
Push to Facebook
Storj 是雲端存儲服務商,採用分散式存儲架構,將用戶資料分散在全球眾多節點上面,任何人可共享硬碟空間給 Storj,並賺取加密貨幣 STORJ 做為回報。
我們許多人都在努力創造收入,尤其是被動收入,如果你有一台 24 小時運作的電腦,你就可以安裝 Storj 工具成為節點,將額外的硬碟空間出租,賺取被動收入。

成為 Storj 節點預期收益
如果你有意願想要成為 Storj 節點賺取回報,你可以先評估一下投資回報是否滑算,這裡有一份官方提供的預期收益表讓你參考,Excel 連結

成為節點需求
以下列出成為 Storj 挖礦節點的需求。
硬體需求
  • 至少 1 個專用於節點的 CPU
  • 最少 500 GB 以上,最大 24 TB 的硬碟空間
  • 網路頻寬上傳大於 5 Mbps,下載大於 25 Mbps
  • 每月 99.5 % 的正常運行時間

要提供 Storj 節點挖礦,最主要準備的是大容量硬碟空間,而 Storj 限制一個 CPU 核心可以運行一個節點,而一個節點最多使用 8 TB 的空間,如果要提供 16 TB 硬碟挖礦,就需要二個 CPU 核心。
而維持電腦運作至少要一個 CPU 核心,所以扣除一個 CPU 核心之後,剩下的就可以提供給 Storj 使用。
例如一個四核心的 CPU,扣除一個給系統運作,其他三個核心提供給 Storj 使用,那最多可以提供 24 TB 的硬碟空間來挖礦。
記憶體要求不高,我實測每個節點使用記憶體在 1 G 以下。
每月最低正常運行時間要求是 99.3%,每月最長停機時間是 5 小時,如果時間達不到要求,可能當月就沒有收益。


作業系統要求
Storj 節點支援 Windows, Linux, macOS 三個平台都行。


網路要求
Storj 需要可由外面直接連線的網路,使用固定 IP 是很好的選擇,但如果是浮動 IP 的話,例如中華電信撥號,那可以申請 No-IP 服務來指向浮動 IP。
如果是區域網路,例如是 192.168 類型的網路就不行了。


ETH 以太坊錢包
Storj 的加密貨幣是以太坊上的 ERC-20 代幣,在挖礦之前需要先擁有 ETH 錢包地址。
如果還沒有以太坊錢包的話,可以使用 MetaMask 來建立錢包。
Storj contract 位址
  1. 0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC
複製代碼
Storj 另外提供 Layer 2 網路 zkSync 來收款回報,這樣做可以節省以太坊的高手續費成本。

按照適用於您的操作系統的安裝指南安裝 Docker。
  • Ubuntu Docker 安裝
  1. sudo su
  2. apt-get update
  3. apt-get -y install curl wget net-tools
複製代碼


防火牆與 DNS 設定
當節點運作時,需要開通指定 Port 連線與固定 IP 或 DNS 連線到此主機。
我以下使用的環境是 Ubuntu 20.04 環境做為教學。


開通防火牆 28967 Port
Storj 節點使用 TCP 與 UDP 的 Port 都是 28967,要開通此 Port 才可以運行節點。
Ubuntu 預設沒有啟用防火牆,但我認為這樣是比較危險的,建議要開啟防火牆,然後針對有需要的 Port 開通,其它的就關閉。
檢查防火牆狀態指令:
  1. sudo ufw status
複製代碼

如果防火牆沒有啟用的話,可以開啟防火牆指令:
  1. sudo ufw enable
複製代碼

允許 Port 28967 可連線指令:
  1. sudo ufw allow 28967
複製代碼

安裝 Storj 節點工具與設定
這裡會取得節點憑證、下載安裝 Storj 節點工具。
取得授權令牌
開啟官網取得授權令牌網頁,輸入 Email 取得授權碼。

輸入後會收到類似這樣的令牌。

將自己的授權令牌存儲下來,等等會用到。
下載身份憑證工具
在 Ubuntu 用使用者身份 (不是 Root) 執行以下的指令,每行逐一執行。
下載檔案
  1. curl -L https://github.com/storj/storj/releases/latest/download/identity_linux_amd64.zip -o identity_linux_amd64.zip
複製代碼

解壓縮檔案
  1. unzip -o identity_linux_amd64.zip
複製代碼

賦予執行權限
  1. chmod +x identity
複製代碼

移動檔案
  1. sudo mv identity /usr/local/bin/identity
複製代碼


執行後就會安裝身份工具在 /usr/local/bin/ 目錄。

生成身份憑證
執行以下指令可能要等待數小時,取決於你機器的速度。
輸入指令:
  1. identity create storagenode
複製代碼

完成之後會在電腦上產生 CA 憑證。

授權身份憑證
執行指令:
  1. identity authorize storagenode <email:characterstring>
複製代碼

請將 <email:characterstring> 取代為剛剛獲得的授權令牌。

執行以下指令確認是否已正確授權身份。
  1. grep -c BEGIN ~/.local/share/storj/identity/storagenode/ca.cert
  2. grep -c BEGIN ~/.local/share/storj/identity/storagenode/identity.cert
複製代碼


當正確授權時,第一個指令會回傳 “2”,第二個指令會回傳 “3”。
你可以備份此憑證,當你想要更換電腦執行時,可以複製此憑證至新電腦上使用。

安裝 Docker
Storj 將許多複雜的設定都封裝在 Docker 內,以方便執行節點服務,如果你的 Ubuntu 尚未安裝 Docker,使用以下步驟安裝 Docker,若你已安裝 Docker 則建議將 Docker 更新至最新版本。
執行此指令可以安裝 Docker:(請直接用ROOT身分,不然會出現權限問題)
  1. apt-get -y install docker.io
複製代碼

安裝之後可用此指令確認是否已啟動:
  1. service docker status
複製代碼

將使用者帳號加入 Docker 群組,執行指令:
  1. sudo usermod -aG docker $USER
  2. newgrp docker
複製代碼

下載 Storj Docker 容器
下載 Storj Docker 容器至 Docker 內,執行指令:
  1. docker pull storjlabs/storagenode:latest
複製代碼

執行 Storj Docker 容器
在第一次執行節點前,我們先設置 Docker 參數,其中一些設定要更換為你的設定。
指令是:(注意,此為一行指令)
  1. docker run --rm -e SETUP="true" \
  2. --user $(id -u):$(id -g) \
  3. --mount type=bind,source="<identity-dir>",destination=/app/identity \
  4. --mount type=bind,source="<storage-dir>",destination=/app/config \
  5. --name storagenode storjlabs/storagenode:latest
複製代碼

你需要將 <identity-dir> 取代為剛剛授權身份憑證目錄,以我上面的範例路徑為
  1. /home/woff/.local/share/storj/identity/storagenode/
複製代碼

將 <storage-dir> 取代為要共享的硬碟空間路徑,也就是容量較大的硬碟空間,此目錄如果是外接硬碟,建議要先執行靜態掛載,否則可能會有資料審核失敗的風險。

接著以下是執行節點的指令,其中一些設定要更換為你的設定。(注意,此為一行指令)
  1. docker run -d --restart unless-stopped --stop-timeout 300 \
  2. -p 28967:28967/tcp \
  3. -p 28967:28967/udp \
  4. -p 127.0.0.1:14002:14002 \
  5. -e WALLET="0xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
  6. -e EMAIL="user@example.com" \
  7. -e ADDRESS="domain.ddns.net:28967" \
  8. -e STORAGE="2TB" \
  9. --user $(id -u):$(id -g) \
  10. --mount type=bind,source="<identity-dir>",destination=/app/identity \
  11. --mount type=bind,source="<storage-dir>",destination=/app/config \
  12. --name storagenode storjlabs/storagenode:latest
複製代碼

將 WALLET 錢包地址的值更換為你的 ETH 地址。
將 EMAIL 的值更換為你的 EMAIL
將 ADDRESS 的值更換為你的固定 IP 或是 NoIP 的網址,後面帶有 Port 號。
將 STORAGE 的值更換為你要共享的硬碟容量,如果共享容量等於硬碟空間總容量,建議共享容量要少 50 GB 比較好。
將 <identity-dir> 取代為剛剛授權身份憑證目錄。
將 <storage-dir> 取代為要共享的硬碟空間路徑。

成功執行後,會回傳一段代碼。




如何檢查執行狀態
開啟網頁就可以檢查執行狀態了,在瀏覽器上輸入 http://127.0.0.1:14002/ 會出現節點運作狀態,以及獲利資訊。
狀態 「STATUS」 值為 “Online” 表示正在運作中。
關於狀態數據的說明,可至官網查詢
如何停止與啟動節點運作
當要關機前或是重開機之後,可以執行以下指令來停止或啟動。
停止指令:
  1. docker stop -t 300 storagenode
複製代碼

啟動指令:
  1. docker start storagenode
複製代碼

移除指令:
  1. docker rm storagenode
複製代碼


權限問題(無法正常讀到設定檔)
請先停止節點->移除節點->重新部屬

更換設定不知道為什麼在Ubuntu 20.04 DOCKER PORT都會失敗
  1. cat /usr/lib/systemd/system/docker.service | grep ExecStart
複製代碼
ExecStart=/usr/bin/dockerd --iptables=false -H fd:// --containerd=/run/containerd/containerd.sock

重新啟動DOCKER就可以了
  1. systemctl daemon-reload
  2. systemctl restart docker
複製代碼




運行以下命令以使用 CLI 儀表板監控節點的活動:

  1. docker exec -it storagenode /app/dashboard.sh
複製代碼

運行以下命令以查看硬碟使用狀況
  1. docker ps
複製代碼

參考文章

 

臉書網友討論
*滑块验证:
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2024-11-1 08:37 , Processed in 0.089317 second(s), 25 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表