woff 發表於 2022-7-28 11:59:50

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

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 位址0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aCStorj 另外提供 Layer 2 網路 zkSync 來收款回報,這樣做可以節省以太坊的高手續費成本。
按照適用於您的操作系統的安裝指南安裝 Docker。
[*]Ubuntu Docker 安裝
sudo su
apt-get update
apt-get -y install curl wget net-tools

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

開通防火牆 28967 PortStorj 節點使用 TCP 與 UDP 的 Port 都是 28967,要開通此 Port 才可以運行節點。Ubuntu 預設沒有啟用防火牆,但我認為這樣是比較危險的,建議要開啟防火牆,然後針對有需要的 Port 開通,其它的就關閉。檢查防火牆狀態指令:
sudo ufw status
如果防火牆沒有啟用的話,可以開啟防火牆指令:
sudo ufw enable
允許 Port 28967 可連線指令:
sudo ufw allow 28967
安裝 Storj 節點工具與設定這裡會取得節點憑證、下載安裝 Storj 節點工具。取得授權令牌開啟官網取得授權令牌網頁,輸入 Email 取得授權碼。
輸入後會收到類似這樣的令牌。
將自己的授權令牌存儲下來,等等會用到。下載身份憑證工具在 Ubuntu 用使用者身份 (不是 Root) 執行以下的指令,每行逐一執行。下載檔案
curl -L https://github.com/storj/storj/releases/latest/download/identity_linux_amd64.zip -o identity_linux_amd64.zip
解壓縮檔案
unzip -o identity_linux_amd64.zip
賦予執行權限
chmod +x identity
移動檔案
sudo mv identity /usr/local/bin/identity

執行後就會安裝身份工具在 /usr/local/bin/ 目錄。
生成身份憑證執行以下指令可能要等待數小時,取決於你機器的速度。輸入指令:
identity create storagenode
完成之後會在電腦上產生 CA 憑證。
授權身份憑證執行指令:
identity authorize storagenode <email:characterstring>
請將 <email:characterstring> 取代為剛剛獲得的授權令牌。
執行以下指令確認是否已正確授權身份。grep -c BEGIN ~/.local/share/storj/identity/storagenode/ca.cert
grep -c BEGIN ~/.local/share/storj/identity/storagenode/identity.cert

當正確授權時,第一個指令會回傳 “2”,第二個指令會回傳 “3”。
你可以備份此憑證,當你想要更換電腦執行時,可以複製此憑證至新電腦上使用。
安裝 DockerStorj 將許多複雜的設定都封裝在 Docker 內,以方便執行節點服務,如果你的 Ubuntu 尚未安裝 Docker,使用以下步驟安裝 Docker,若你已安裝 Docker 則建議將 Docker 更新至最新版本。執行此指令可以安裝 Docker:(請直接用ROOT身分,不然會出現權限問題)
apt-get -y install docker.io
安裝之後可用此指令確認是否已啟動:
service docker status
將使用者帳號加入 Docker 群組,執行指令:
sudo usermod -aG docker $USER
newgrp docker
下載 Storj Docker 容器下載 Storj Docker 容器至 Docker 內,執行指令:
docker pull storjlabs/storagenode:latest
https://blog.hungwin.com.tw/wp-content/uploads/2022/03/storj-mining-12.png執行 Storj Docker 容器在第一次執行節點前,我們先設置 Docker 參數,其中一些設定要更換為你的設定。
指令是:(注意,此為一行指令)docker run --rm -e SETUP="true" \
--user $(id -u):$(id -g) \
--mount type=bind,source="<identity-dir>",destination=/app/identity \
--mount type=bind,source="<storage-dir>",destination=/app/config \
--name storagenode storjlabs/storagenode:latest
你需要將 <identity-dir> 取代為剛剛授權身份憑證目錄,以我上面的範例路徑為 /home/woff/.local/share/storj/identity/storagenode/
將 <storage-dir> 取代為要共享的硬碟空間路徑,也就是容量較大的硬碟空間,此目錄如果是外接硬碟,建議要先執行靜態掛載,否則可能會有資料審核失敗的風險。
接著以下是執行節點的指令,其中一些設定要更換為你的設定。(注意,此為一行指令)docker run -d --restart unless-stopped --stop-timeout 300 \
-p 28967:28967/tcp \
-p 28967:28967/udp \
-p 127.0.0.1:14002:14002 \
-e WALLET="0xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-e EMAIL="user@example.com" \
-e ADDRESS="domain.ddns.net:28967" \
-e STORAGE="2TB" \
--user $(id -u):$(id -g) \
--mount type=bind,source="<identity-dir>",destination=/app/identity \
--mount type=bind,source="<storage-dir>",destination=/app/config \
--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/ 會出現節點運作狀態,以及獲利資訊。https://blog.hungwin.com.tw/wp-content/uploads/2022/03/storj-mining-15.png狀態 「STATUS」 值為 “Online” 表示正在運作中。關於狀態數據的說明,可至官網查詢。如何停止與啟動節點運作當要關機前或是重開機之後,可以執行以下指令來停止或啟動。停止指令:
docker stop -t 300 storagenode
啟動指令:
docker start storagenode
移除指令:docker rm storagenode

權限問題(無法正常讀到設定檔)請先停止節點->移除節點->重新部屬
更換設定不知道為什麼在Ubuntu 20.04 DOCKER PORT都會失敗cat /usr/lib/systemd/system/docker.service | grep ExecStart
ExecStart=/usr/bin/dockerd --iptables=false -H fd:// --containerd=/run/containerd/containerd.sock
重新啟動DOCKER就可以了systemctl daemon-reload
systemctl restart docker



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

docker exec -it storagenode /app/dashboard.sh
運行以下命令以查看硬碟使用狀況
docker ps
參考文章
頁: [1]
查看完整版本: Storj 挖礦教學 – Ubuntu 20.04 安裝實例