Metaplex NFT鑄造教學(1)- 設置和安裝
非同質性代幣 (NFT) 為2021 年區塊鏈市場上的第一大是熱門。 很多NFT以數百萬美元價格售出。 在本系列文章中,我們將介紹如何使用 Metaplex 託管您自己的 NFT 站點。 Metaplex 是 Solana 上的一個項目。 你可能聽說過,在 Solana 中鑄造 NFT 比在以太坊中鑄造便宜得多。 通過使用 Metaplex,您可以舉辦你自己的 NFT 拍賣或從您的網站創建你自己的 NFT。 像往常一樣,我們將在 Ubuntu 框中執行以下操作。 您可以在 VPS 或云端製作。 本系列的第一篇文章將向您介紹如何設置站點。 那麼,讓我們開始吧:
設立伺服器
因此,您首先需要的是雲服務器或 VPS 服務器。 如果你仍沒有,不用擔心。 您可以單擊此推薦鏈接在 Digital Ocean 中設置一個。 利用此推薦連結,您將在註冊頭60天內獲得100美元餘額 。
在設置後, 您應該擁有以 root 身份登錄的詳細資料。 所以,現在,你可以使用這些信息登錄:
$ ssh root@your-vps-ip
添加用戶
由于您的 metaplex 站點將面向公眾,因此您必須遵循嚴格的安全措施。 否則,您的 NFT 可能會被他人竊取。在 Linux 中,千萬不要在 root 下運行任何程序,這點非常重要的。 所以,現在讓我們添加另一個名為 metaplex 的用戶:
$ adduser metaplex
然後將metaplex加進sudo群裡:
$ usermod -aG sudo metaplex
然後,你可以以metaplex身分繼續餘下操作:
$ su - metaplex
安裝和設置
我們首先更新Linux系統,再安裝fail2ban和nginx服務器。 Fail2ban 是一種軟件,它可以保護你免受黑客暴力破解你的 linux 機器的侵害。 而Nginx則是市場上常用的反向代理和Http Server。
$ sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt install fail2ban -y && sudo apt install nginx -y
完成後,測試一下Nginx是否安裝妥當:
$ systemctl status nginx
然後,添加防火墻:
$ sudo ufw allow proto tcp from any to any port 22
$ sudo ufw allow proto tcp from any to any port 80
$ sudo ufw allow proto tcp from any to any port 3000
$ sudo ufw enable
$ sudo ufw allow 'Nginx HTTP'
之後,安裝Node下邊的軟件管理軟件nvm:
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
之後將nvm加進指令:
$ source ~/.bashrc
檢查一下是否安裝成功:
$ nvm — version
然後,使用以下命令檢查最新版本的nodejs:
$ nvm ls-remote
截至本文發布之日,nodejs 的最新版本是 v17.1.0。 但是,我多次嘗試使用 Node 17 進行部署Metaplex,均未能成功。 經過幾次嘗試和錯誤後,我發現 Node 14與Metaplex運行最好。 Node 14 的最新版本是 v14.18.1。 因此,您只需要輸入以下命令即可下載 v14.18.1:
$ nvm install 14.18.1
$ curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
$ sudo apt-get install -y nodejs
現在,安裝yarn:
$ sudo npm install -g yarn
複製項目
現在,我們可以從Github複製Metaplex項目:
$ git clone https://github.com/metaplex-foundation/metaplex.git
現在,到其環境檔案進行更改:
$ sudo nano ~/metaplex/js/packages/web/.env
之後在REACT_APP_STORE_OWNER_ADDRESS提供你錢包的公匙,如下圖:
REACT_APP_STORE_OWNER_ADDRESS_ADDRESS=EstBazfvAPEDnSTLxfdos81vrzov4NW8LTEfaLKWd
SPL_TOKEN_MINTS=kinXdEcpDQeHPEuQnqmUgtYykqKGVFq6CeVX5iAHJq6,ETAtLmCmsoiEEKfNrHK
CG_SPL_TOKEN_IDS=kin,media-network,boring-protocol,star-atlas,usd-coin
SPL_TOKEN_MINTS地址應該自動載入的。
啟動伺服器
現在,用yarn啟動伺服器:
$ cd metaplex/js
$ yarn install && yarn bootstrap && yarn build
$ yarn start
啟動後,如發想一下報錯:
web: Watchpack Error (watcher): Error: ENOSPC: System limit for number of file watchers reached, watch '/home/metaplex/metaplex/js'
這是因為Yarn使程序不斷重新加載和重新編譯文件。 因此,您需要增加 inotify 限制:
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
再從新啟動,如成功,你應該看到一下畫面:
現在,應用程序在 localhost:3000 上運行。 所以,你仍未能從公開渠道訪問伺服器。如想測試一下,你可以先讓此伺服器保持運行。 然後,使用新終端訪問 VPS 並鍵入:
$ wget localhost:3000
然後,從運行中的伺服器,你應該看到以下Log:
但是,此時您只能通過 localhost 訪問它。 你不能從公共訪問它。 要允許公眾訪問,您需要為 Web 設置反向代理。
設置反向代理
現在,訪問以下檔案:
$ sudo nano /etc/nginx/sites-available/default
向下滾動到 server_name 並將其更改如下:
server_name localhost;location / {
proxy_pass http://127.0.0.1:3000/;
}
現在測試一下nginx配置有否報錯:
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
如果像上面一樣響應,那就意味著它很好。
現在,重新啟動 Nginx
$ sudo systemctl restart nginx
並再次啟動伺服器:
$ cd ~/metaplex/js
$ yarn start
現在,在瀏覽器中輸入您的 VPS IP。 你應該看到以下畫面:
恭喜! 您已成功構建 NFT 站點。 但是,在運行網站時,您可能會發現一些類似的錯誤。
這是因為網站沒有啟用 HTTPS。 在下一篇文章中,我們將帶您了解如何獲取域名並啟用 HTTPS。 所以,請繼續關注,下次見!