Metaplex NFT鑄造教學(1)- 設置和安裝

兄弟鏈 Brochain
7 min readDec 4, 2021

--

Photo by Fakurian Design on Unsplash

非同質性代幣 (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。 所以,請繼續關注,下次見!

--

--