---
title: "如何为 NFT 定价"
description: "本指南介绍如何为 NFT 定价，帮助你为数字资产设定合适的价值。"
---

# 如何为 NFT 定价

关于如何为你的 NFT 定价的指南

另外，别忘了查看我们 NFT 教程系列的其余部分：

- 🌟  [如何使用 Web3.js 铸造 NFT](https://www.alchemy.com/blog/how-to-mint-an-nft-using-web3-js)
- 🪄  [如何使用 Ether.js 铸造 NFT](https://www.alchemy.com/blog/how-to-mint-an-nft-with-ethers-js)
- 👛  [如何在手机钱包中查看你的 NFT](https://www.alchemy.com/blog/how-to-view-your-nft-in-your-mobile-wallet)
- 💻  [NFT 铸造教程：如何创建全栈 dApp](https://www.alchemy.com/blog/nft-minter-tutorial-how-to-create-a-full-stack-dapp)

你刚刚创建了一个 NFT，想把它卖给其他 NFT 爱好者。为此，我们需要给这个 NFT 定价，主要有两种定价方式：

1. 在智能合约中定价（本指南）
1. 将 NFT 上架到 [NFT 交易平台](https://www.alchemy.com/dapps/best/nft-marketplaces) 或其他平台（更常见的做法）

## 在合约中设置 NFT 价格

#### 在铸造时要求收取费用

<CalloutBlock>

**注意**：以下内容不是一个开箱即用的方案。在 [NFT 创建教程](https://www.alchemy.com/docs/how-to-interact-with-erc-721-tokens-in-solidity) 的 [第 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，否则函数会失败并回滚。`msg.value ` 参数是随铸造函数一起发送的 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 主网](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>
