---
title: "如何為 NFT 訂價"
description: "透過這份完整指南,掌握 NFT 訂價的方法,學習如何為你的數位資產設定合適的價值。"
---

# 如何為 NFT 訂價

如何為你的 NFT 訂價的指南

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

- 🌟  [How to mint an NFT using Web3.js](https://www.alchemy.com/blog/how-to-mint-an-nft-using-web3-js)
- 🪄  [How to mint an NFT with Ether.js](https://www.alchemy.com/blog/how-to-mint-an-nft-with-ethers-js)
- 👛  [How to view your NFT in your mobile wallet](https://www.alchemy.com/blog/how-to-view-your-nft-in-your-mobile-wallet)
- 💻  [NFT minter tutorial: How to create a full stack dApp](https://www.alchemy.com/blog/nft-minter-tutorial-how-to-create-a-full-stack-dapp)

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

1. 在智慧合約內訂價（本指南介紹的方法）
1. 將 NFT 上架到 [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) 或平台（較常見的做法）

## 在合約內設定 NFT 價格

#### 要求鑄造時收取費用

<CalloutBlock>

**注意**：以下內容並非一個現成可用的解決方案。在 [NFT Creation](https://www.alchemy.com/docs/how-to-interact-with-erc-721-tokens-in-solidity) 教學的 [Step 10](https://www.alchemy.com/docs/how-to-interact-with-erc-721-tokens-in-solidity) 中，我們需要修改 [Solidity](https://www.alchemy.com/overviews/solidity) 程式碼以接受鑄造付款，這代表任何前端的 web3 / ethers.js 邏輯（用來觸發鑄造）都需要包含 msg.value 參數，以允許 ETH 的轉帳。

</CalloutBlock>

這種收費模式是完全去中心化的，因為整個過程都在合約內進行，並將收費機制內建於鑄造流程本身。要在鑄造時設定價格，你需要修改你的智慧合約以加入這項行為。簡單來說，只要讓 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](https://www.alchemy.com/dapps/opensea) 或其他 NFT 拍賣網站，讓你可以在上面設定價格。OpenSea 建構在 NFT 之上的 UI 層讓你可以設定價格、接受出價，或使用其他更複雜的拍賣方式，所有邏輯都由它幫你處理。

在 [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) 上，請使用：[https://opensea.io/](https://opensea.io/)

若是測試網，請使用：[https://testnets.opensea.io/](https://testnets.opensea.io/)

<CalloutBlock>

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

</CalloutBlock>
