跳至內容
0%

如何為 NFT 訂價

作者:Alchemy Team

最後更新:2021年8月30日1 分鐘閱讀

如何為你的 NFT 訂價的指南

此外,也別忘了看看我們其他的 NFT 教學系列:

你剛剛鑄造了一個 NFT,並想把它賣給其他 NFT 愛好者。要做到這件事,我們必須為這個 NFT 訂價,而訂價主要有兩種方式:

  1. 在智慧合約內訂價(本指南介紹的方法)
  2. 將 NFT 上架到 NFT marketplace 或平台(較常見的做法)

在合約內設定 NFT 價格

要求鑄造時收取費用

注意:以下內容並非一個現成可用的解決方案。在 NFT Creation 教學的 Step 10 中,我們需要修改 Solidity 程式碼以接受鑄造付款,這代表任何前端的 web3 / ethers.js 邏輯(用來觸發鑄造)都需要包含 msg.value 參數,以允許 ETH 的轉帳。

這種收費模式是完全去中心化的,因為整個過程都在合約內進行,並將收費機制內建於鑄造流程本身。要在鑄造時設定價格,你需要修改你的智慧合約以加入這項行為。簡單來說,只要讓 mint 函式變成 payable,並要求使用者在觸發 NFT 轉移給買家之前先支付一定數量的 ETH,就能實作 NFT 鑄造價格。

以下是這類鑄造流程的範例程式碼:

function mintToken(address to, uint256 tokenId, string uri) public virtual payable

  • 為了讓使用者可以支付 ETH 來鑄造 NFT,這個函式需要同時是 public 和 payable。public 函式可以被內部呼叫,或透過訊息呼叫,讓任何人都能與該函式互動。(我們不希望這個函式只能被合約擁有者呼叫,因為這樣會把潛在買家擋在外面!)

require(msg.value >= 10, "Not enough ETH sent; check price!");

  • 這個 require 陳述式要求這個 payable 函式至少收到 10 wei,否則該函式會失敗並回復(revert)。msg.value 參數是隨 mint 函式一起送入的 ETH 金額。‍

mint(to, tokenId);

  • 這會呼叫 OpenZepplin 的 ERC721 合約檔案中包含的 mint 函式,並將選定的 NFT 實例化/轉移給買家。

_setTokenURI(tokenId, uri);

  • 這會呼叫 OpenZepplin 的 ERC721 合約檔案中包含的 \_setTokenURIfunction,並將 NFT URI 設定為特定的端點。

‌實作鑄造費用的方式有很多種變形。上面列出的是最簡單的一種,但許多協定也會使用複雜得多的收費模式。

透過拍賣平台設定 NFT 價格

將 NFT 上架到 OpenSea 或其他 NFT 拍賣平台

一個不需要寫程式的替代方案,就是直接把你剛鑄造好的 NFT 上架到 OpenSea 或其他 NFT 拍賣網站,讓你可以在上面設定價格。OpenSea 建構在 NFT 之上的 UI 層讓你可以設定價格、接受出價,或使用其他更複雜的拍賣方式,所有邏輯都由它幫你處理。

在 Ethereum mainnet 上,請使用:https://opensea.io/

若是測試網,請使用:https://testnets.opensea.io/

注意: NFT 拍賣平台通常會針對上架與拍賣處理過程收取費用。請隨時關注不同平台,以找到有競爭力的費率並提升你的 NFT 銷量。Zora 和 SuperRare 是另外兩個提供類似 OpenSea 服務的平台。

Alchemy 電子報

搶先掌握最新發布消息

訂閱我們的電子報

取得 Alchemy 最新產品更新與資源

A
O
D
+
超過 80,000 名訂閱者

輸入您的電子郵件地址,即表示您同意接收我們的行銷通訊與產品更新。您了解 Alchemy 會依照我們的隱私權聲明處理所收到的資訊。您可以隨時取消訂閱。