市值: $2.607T 0.90%
成交额(24h): $88.5549B -12.29%
恐惧与贪婪指数:

64 - 贪婪

  • 市值: $2.607T 0.90%
  • 成交额(24h): $88.5549B -12.29%
  • 恐惧与贪婪指数:
  • 市值: $2.607T 0.90%
加密货币
话题
百科
资讯
加密话题
视频
热门加密百科

选择语种

选择语种

选择货币

加密货币
话题
百科
资讯
加密话题
视频

如何部署NFT智能合约? (安全帽和混音教程)

Set up Hardhat, write an ERC-721 NFT contract with OpenZeppelin, test locally, then deploy to Sepolia via script or Remix—ensuring proper URI handling and ownership control.

2026/02/23 12:20

设置开发环境

1. 安装 Node.js 和 npm 以确保与 Hardhat 工具链和依赖管理的兼容性。

2. 在空项目目录中运行npm install --save-dev Hardhat以初始化 Hardhat 工作区。

3. 执行npx Hardhat init并选择示例项目选项以生成样板文件,包括合同、脚本和测试文件夹。

4. 使用 Sepolia 或 Mumbai 等网络端点配置Hardhat.config.js以进行测试网部署。

5. 通过npm install @openzeppelin/contracts安装 OpenZeppelin 合约,以利用经过审计的 ERC-721 实施。

编写 NFT 合约

1. 创建继承ERC721Ownable的contracts/MyNFT.sol ,用于所有权控制。

2.定义公共_baseTokenURI字符串以支持通过IPFS或中心化服务器动态元数据解析。

3. 实现一个铸造函数,该函数检查调用者授权并使用_safeMint分配连续的令牌 ID。

4. 添加仅限合约所有者使用的setBaseURI函数,以允许部署后 URI 更新。

5. 包括supportsInterface重写,以完全符合ERC-721标准接口检测要求。

本地编译和测试

1. 使用npxhardhatcompileartifacts/文件夹中生成ABI和字节码工件。

2. 在test/MyNFT.test.js中编写测试脚本,验证铸造逻辑、所有权转移和 URI 一致性。

3. 使用npx Hardhat 节点启动本地以太坊节点来模拟区块链行为,无需外部依赖。

4. 使用npx hardhat test运行测试并确认所有断言均通过,然后再继续部署。

5. 通过检查编译输出并与 EVM 版本限制进行比较,验证合约字节码是否与预期操作码匹配。

通过 Hardhat 脚本进行部署

1. 创建script/deploy.js ,导入合约工件并初始化部署参数,例如名称、符号和基本 URI。

2. 在部署脚本中使用await ethers.getContractFactory('MyNFT')实例化合约工厂。

3. 使用构造函数参数调用deploy() ,并等待所选网络上的交易确认。

4. 记录部署的合约地址并验证其在成功挖矿后出现在 Etherscan 上。

5. 将地址存储在 JSON 文件或环境变量中,以供后续交互脚本或前端集成使用。

通过 Remix IDE 进行部署

1. 导航到remix.ethereum.org并创建一个名为MyNFT.sol的新 Solidity 文件。

2. 粘贴 Hardhat 中使用的相同合约代码,确保编译器版本与Hardhat.config.js中指定的版本匹配。

3. 选择Injected Provider - MetaMask作为环境并连接到 Sepolia 或其他支持的测试网。

4. 在交易弹出窗口中确认构造函数参数和 Gas 估算后,单击“部署”

5. 在 MetaMask 中确认收据,并使用交易哈希在相应的区块浏览器上验证合约创建。

常见问题解答

问:我可以在不拥有 ETH 的情况下部署 ERC-721 合约吗?答:不需要。每次部署都会消耗以 ETH 支付的 Gas。在像 Sepolia 这样的网络上部署之前,必须从水龙头获取测试网 ETH。

问:为什么我的铸币功能恢复为“ERC721:转移到零地址”?答:当_safeMint收到零地址作为收件人时,就会发生这种情况。确保调用者传递有效的非零以太坊地址。

问:铸造后是否可以更改代币 URI?答:是的,如果合约包含从可变基本 URI 读取并附加令牌 ID 的tokenURI覆盖。一旦发布到 IPFS,元数据本身就保持不变。

问:如果我在铸造之前忘记调用_setBaseURI会发生什么?答:令牌将使用默认的空字符串解析 URI,从而导致元数据损坏或无法访问,除非稍后通过仅限所有者的 setter 进行更新。

免责声明:info@kdj.com

所提供的信息并非交易建议。根据本文提供的信息进行的任何投资,kdj.com不承担任何责任。加密货币具有高波动性,强烈建议您深入研究后,谨慎投资!

如您认为本网站上使用的内容侵犯了您的版权,请立即联系我们(info@kdj.com),我们将及时删除。

相关百科

什么是 NFT 生态系统代币?为什么NFT项目要推出自己的代币?

什么是 NFT 生态系统代币?为什么NFT项目要推出自己的代币?

2026-08-25 21:59:57

定义和核心功能1. NFT 生态系统代币是由在更广泛的不可替代代币空间内运行的平台、市场或协议发行的本机实用程序或治理代币。 2. 这些代币通常构建在标准化智能合约框架上,例如以太坊上的 ERC-20 或 Solana 上的 SPL,从而实现与去中心化交易所和借贷协议等 DeFi 基础设施的互操作性...

什么是 NFT 实用程序?除了数字资产你还能得到什么?

什么是 NFT 实用程序?除了数字资产你还能得到什么?

2026-08-21 09:40:07

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少每个区块新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将使其达到 3.1...

什么是动态 NFT? NFT 的图像或元数据会随着时间的推移而改变吗?

什么是动态 NFT? NFT 的图像或元数据会随着时间的推移而改变吗?

2026-08-31 18:20:08

定义及核心机制1. 动态 NFT 是一种不可替代的代币,其元数据在铸造后可以通过编程方式可变。 2. 与引用 IPFS 或集中式服务器上托管的不可变 JSON 文件的静态 NFT 不同,动态 NFT 指向由可更新智能合约控制的 URI 端点。 3. 可以重写ERC-721或ERC-1155合约中的t...

什么是 NFT 掉落?如何在新的 NFT 系列售完之前找到它们?

什么是 NFT 掉落?如何在新的 NFT 系列售完之前找到它们?

2026-08-23 02:40:00

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少了新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将达到 3.125 BT...

什么是免费的 NFT 铸币厂?扣除 Gas 费后“免费”真的免费吗?

什么是免费的 NFT 铸币厂?扣除 Gas 费后“免费”真的免费吗?

2026-08-22 10:00:29

市场波动模式1. Bitcoin 在 ETF 批准公告或重大交易所中断等高流动性事件期间,24 小时窗口内价格波动通常超过 5%。 2. 当第 2 层升级提案进入最终治理投票阶段时,以太坊的波动性指数会飙升,特别是在多个竞争性汇总同时获得开发人员支持的情况下。 3. 稳定币脱钩事件(例如 2023 ...

什么是 NFT 铸币通证?为什么有些项目在铸造之前需要一个?

什么是 NFT 铸币通证?为什么有些项目在铸造之前需要一个?

2026-08-29 09:00:30

Bitcoin 减半机制1. Bitcoin 的协议强制规定 2100 万枚代币的固定供应上限,并通过区块奖励引入新单位。 2. 每 210,000 个区块(大约每四年),区块奖励就会减少一半,这个过程称为减半。 3. 最近一次减半发生在 2024 年 4 月,每个区块的奖励从 6.25 BTC 减...

什么是 NFT 生态系统代币?为什么NFT项目要推出自己的代币?

什么是 NFT 生态系统代币?为什么NFT项目要推出自己的代币?

2026-08-25 21:59:57

定义和核心功能1. NFT 生态系统代币是由在更广泛的不可替代代币空间内运行的平台、市场或协议发行的本机实用程序或治理代币。 2. 这些代币通常构建在标准化智能合约框架上,例如以太坊上的 ERC-20 或 Solana 上的 SPL,从而实现与去中心化交易所和借贷协议等 DeFi 基础设施的互操作性...

什么是 NFT 实用程序?除了数字资产你还能得到什么?

什么是 NFT 实用程序?除了数字资产你还能得到什么?

2026-08-21 09:40:07

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少每个区块新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将使其达到 3.1...

什么是动态 NFT? NFT 的图像或元数据会随着时间的推移而改变吗?

什么是动态 NFT? NFT 的图像或元数据会随着时间的推移而改变吗?

2026-08-31 18:20:08

定义及核心机制1. 动态 NFT 是一种不可替代的代币,其元数据在铸造后可以通过编程方式可变。 2. 与引用 IPFS 或集中式服务器上托管的不可变 JSON 文件的静态 NFT 不同,动态 NFT 指向由可更新智能合约控制的 URI 端点。 3. 可以重写ERC-721或ERC-1155合约中的t...

什么是 NFT 掉落?如何在新的 NFT 系列售完之前找到它们?

什么是 NFT 掉落?如何在新的 NFT 系列售完之前找到它们?

2026-08-23 02:40:00

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少了新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将达到 3.125 BT...

什么是免费的 NFT 铸币厂?扣除 Gas 费后“免费”真的免费吗?

什么是免费的 NFT 铸币厂?扣除 Gas 费后“免费”真的免费吗?

2026-08-22 10:00:29

市场波动模式1. Bitcoin 在 ETF 批准公告或重大交易所中断等高流动性事件期间,24 小时窗口内价格波动通常超过 5%。 2. 当第 2 层升级提案进入最终治理投票阶段时,以太坊的波动性指数会飙升,特别是在多个竞争性汇总同时获得开发人员支持的情况下。 3. 稳定币脱钩事件(例如 2023 ...

什么是 NFT 铸币通证?为什么有些项目在铸造之前需要一个?

什么是 NFT 铸币通证?为什么有些项目在铸造之前需要一个?

2026-08-29 09:00:30

Bitcoin 减半机制1. Bitcoin 的协议强制规定 2100 万枚代币的固定供应上限,并通过区块奖励引入新单位。 2. 每 210,000 个区块(大约每四年),区块奖励就会减少一半,这个过程称为减半。 3. 最近一次减半发生在 2024 年 4 月,每个区块的奖励从 6.25 BTC 减...

查看所有文章

User not found or password invalid

Your input is correct