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 位址 - 0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC
複製代碼
Storj 另外提供 Layer 2 網路 zkSync 來收款回報,這樣做可以節省以太坊的高手續費成本。
按照適用於您的操作系統的安裝指南安裝 Docker。 - sudo su
- apt-get update
- apt-get -y install curl wget net-tools
複製代碼
防火牆與 DNS 設定當節點運作時,需要開通指定 Port 連線與固定 IP 或 DNS 連線到此主機。
開通防火牆 28967 PortStorj 節點使用 TCP 與 UDP 的 Port 都是 28967,要開通此 Port 才可以運行節點。 Ubuntu 預設沒有啟用防火牆,但我認為這樣是比較危險的,建議要開啟防火牆,然後針對有需要的 Port 開通,其它的就關閉。 安裝 Storj 節點工具與設定這裡會取得節點憑證、下載安裝 Storj 節點工具。 取得授權令牌
輸入後會收到類似這樣的令牌。
將自己的授權令牌存儲下來,等等會用到。 下載身份憑證工具在 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
複製代碼
賦予執行權限
移動檔案
- 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
複製代碼
將使用者帳號加入 Docker 群組,執行指令:
- sudo usermod -aG docker $USER
- newgrp docker
複製代碼
下載 Storj Docker 容器下載 Storj Docker 容器至 Docker 內,執行指令:
- docker pull storjlabs/storagenode:latest
複製代碼
執行 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> 取代為要共享的硬碟空間路徑。
成功執行後,會回傳一段代碼。
如何檢查執行狀態狀態 「STATUS」 值為 “Online” 表示正在運作中。 如何停止與啟動節點運作當要關機前或是重開機之後,可以執行以下指令來停止或啟動。 停止指令:
- docker stop -t 300 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
複製代碼
運行以下命令以查看硬碟使用狀況
參考文章 |