Storj 挖礦教學 – 共享硬碟空間賺取加密貨幣

Storj 挖礦教學 – 共享硬碟空間賺取加密貨幣

Storj 是雲端存儲服務商,採用分散式存儲架構,將用戶資料分散在全球眾多節點上面,任何人可共享硬碟空間給 Storj,並賺取加密貨幣 STORJ 做為回報。

我們許多人都在努力創造收入,尤其是被動收入,如果你有一台 24 小時運作的電腦,你就可以安裝 Storj 工具成為節點,將額外的硬碟空間出租,賺取被動收入。

什麼是 Storj ?

Storj 是一個 DCS (Decentralized Cloud Storage, 分散式雲存儲) 服務商,其保存的文件不在中央數據庫,而是分散在世界各地的節點中。

這些文件被加密然後分割成碎片分佈在不同節點上,單一碎片無法得知文件內容,每個文件分為 80 份,但恢復一個文件只需要其中 29 份存在即可。

Storj 提供用戶免費 150 GB 的空間,比起其他雲端存儲服務商 Google Drive, ASUS WebStorage , Dropbox 等等高出許多。

成為 Storj 節點預期收益

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

Storj 節點預期收益

官方原文說明頁面

成為節點需求

以下列出成為 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 另外提供 Layer 2 網路 zkSync 來收款回報,這樣做可以節省以太坊的高手續費成本。

防火牆與 DNS 設定

當節點運作時,需要開通指定 Port 連線與固定 IP 或 DNS 連線到此主機。

我以下使用的環境是 Ubuntu 20.04 環境做為教學。

開通防火牆 28967 Port

Storj 節點使用 TCP 與 UDP 的 Port 都是 28967,要開通此 Port 才可以運行節點。

Ubuntu 預設沒有啟用防火牆,但我認為這樣是比較危險的,建議要開啟防火牆,然後針對有需要的 Port 開通,其它的就關閉。

檢查防火牆狀態指令:
sudo ufw status

如果防火牆沒有啟用的話,可以開啟防火牆指令:
sudo ufw enable

允許 Port 28967 可連線指令:
sudo ufw allow 28967

設定 DNS

如果你的主機擁有固定 IP,那你可以忽略此設定,如果你的主機每次開機會有不同對外 IP,例如中華電信撥號上網一樣,那建議你可以申請 NoIP 服務,使你的主機擁有 DNS 指向這台主機。

NoIP 是一個免費的服務,可以提供一組 DNS 給你並自動更新你的浮動 IP 地址,但如果是免費帳號,需要每 30 天手動更新一次。。

開啟 NoIP DNS 頁面,執行「Create Hostname」。

「Hostname」 輸入網域名稱,「Domain」 選擇網域,可以下拉選不同網址,「Record Type」 選「DNS Host」,「IP v4 Address」 輸入目前對外的 IP。

開啟 NoIP DNS 頁面,執行「Create Hostname」。

完成後會得到你的新網域。

完成後會得到你的新網域

Ubuntu 安裝 NoIP 工具

輸入以下指令,在執行之前確保使用管理者權限,可以使用 sudo su 切換至管理員。

cd /usr/local/src/
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar xf noip-duc-linux.tar.gz
cd noip-2.1.9-1/
make install

如果你在執行 make install 時發生了錯誤,可能是 make 與 gcc 尚未安裝,可以用以下指令先安裝。

apt install make
apt install gcc

執行 make install 之後需要設定你 NoIP 帳戶。
首先會先詢問你的對外網路名稱是什麼,我的網路有 0 1 2 可以選擇,其中 ppp0 是我的對外網路,這是撥接後才會有的名稱,你可以透過 ifconfig 指令來查詢你的對外網路名稱。

NoIP make install

接著輸入 NoIP 的帳號密碼,使用的 DNS 名稱,還有設定檔名稱。

接著輸入 NoIP 的帳號密碼,使用的 DNS 名稱,還有設定檔名稱

這裡 NoIP 就安裝好了,接著要設定開機自動啟用。
新增一份檔案,指令:
sudo nano /etc/systemd/system/noip2.service

在文件裡面輸入以下內容

執行 <ctrl+o> <Enter> <ctrl+x>
儲存後,執行指令:
sudo systemctl enable noip2

這樣下次開機後,不需要登入即會自動執行了。

安裝 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”。
你可以備份此憑證,當你想要更換電腦執行時,可以複製此憑證至新電腦上使用。

安裝 Docker

Storj 將許多複雜的設定都封裝在 Docker 內,以方便執行節點服務,如果你的 Ubuntu 尚未安裝 Docker,使用以下步驟安裝 Docker,若你已安裝 Docker 則建議將 Docker 更新至最新版本。

執行此指令可以安裝 Docker:
sudo apt-get install docker.io

安裝之後可用此指令確認是否已啟動:
service docker status

將使用者帳號加入 Docker 群組,執行指令:
sudo usermod -aG docker $USER
newgrp docker

下載 Storj Docker 容器

下載 Storj Docker 容器至 Docker 內,執行指令:
docker pull storjlabs/storagenode:latest

下載 Storj Docker 容器

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

執行 Storj Docker 容器

接著以下是執行節點的指令,其中一些設定要更換為你的設定。(注意,此為一行指令)

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> 取代為要共享的硬碟空間路徑。

執行 Storj Docker 容器

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

如何檢查執行狀態

開啟網頁就可以檢查執行狀態了,在瀏覽器上輸入 http://127.0.0.1:14002/ 會出現節點運作狀態,以及獲利資訊。

如何檢查執行狀態

狀態 「STATUS」 值為 “Online” 表示正在運作中。

關於狀態數據的說明,可至官網查詢

如何停止與啟動節點運作

當要關機前或是重開機之後,可以執行以下指令來停止或啟動。

停止指令:
docker stop -t 300 storagenode

啟動指令:
docker start storagenode

當你做到這裡,恭喜你已經開始執行 Storj 節點挖礦,有任何問題可以在下面留言,我也是初次接觸,對於許多設定不甚了解,可以一起討論。

相關學習文章

如果你在學習上有不懂的地方,可以參考專業諮詢或線上家教服務,我想辨法解決你的問題
如果文章內容有錯誤的地方,幫我在下方留言通知我一下,謝謝
喜歡我的文章,請幫我在上方綠色拍手圖示按 5 下,也歡迎按月贊助,鼓勵我繼續創作,謝謝

加入社團一起討論

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

18 − 18 =