手把手教你用 Black IDE 在 BSC 测试网发行、铸造和转移 NFT

·

本文将带你从 0 到 1 完成 NFT 发行、铸造、转移 全链路操作:环境配置、合约编写、部署、交互与在钱包中查看。全程基于 BNB Smart Chain(BSC)测试网Black IDE,不花 1 分钱真·实战。

关键词速览

BSC、NFT、Black IDE、ERC721、Solidity、MetaMask、测试网、铸造、转移、智能合约


1. 技术栈与环境准备

组件版本提示用途
Black IDE≥ v0.15.4集成开发环境,一键编译与部署
Trufflev5.5.19默认内嵌,合约编译与迁移
MetaMask≥ v10.16.1浏览器钱包账号管理与签名
Solidity≥ 0.8.4智能合约语言
Docker≥ v20.10.14Black IDE 部分的运行依赖
极简开干:仅需安装 MetaMask + Black IDE,Truffle 与 Solc 全部内置。

2. 连接 BSC 测试网

2.1 在 MetaMask 添加网络

确认网络后,👉 先领 1 枚测试 BNB,方便后续交易 再跑流程。


2.2 在 Black IDE 新建项目并绑定网络

  1. 打开 Black IDE 桌面版(推荐,支持 OpenZeppelin)。
  2. 登录 GitHub 账号 → New → 项目类型Basics – ERC20, ERC721 & ERC1155 (v31+)
  3. 命名项目BSC-NFT,保存路径随意。
  4. config.json 中把 main 改为 BSC-NFT.soldeploy 改为 BSCNFT.json

3. 编写并编译 NFT 合约

删除合约目录默认文件,新建 BSC-NFT.sol,核心代码如下(已精简映射部分字段,便于入门):

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

contract BSCNFT is ERC721, Ownable {
    uint256 public maxSupply = 1000;
    uint256 public mintPrice = 0.05 ether;

    constructor() ERC721("BSC-QuickNFT", "BQNFT") {}

    function safeMint(address to) external payable {
        require(msg.value >= mintPrice, "Insufficient BNB");
        require(totalSupply() < maxSupply, "Sold out");
        uint256 tokenId = totalSupply() + 1;
        _safeMint(to, tokenId);
    }

    function totalSupply() public view returns (uint256) {
        return _tokenIdCounter.current() - 1;
    }
}
  1. 右上角选择 Solc 0.8.4
  2. 点击 Build 图标,生成 _build/contracts/ → 无误后进入下一步:部署。

4. 部署与日志检查

4.1 生成并领取测试代币

4.2 一键部署

  1. 右上角 Network → 选 BNB Chain > Testnet
  2. 点击 Deploy 图标 → 填写构造函数参数(已为 0)。
  3. Estimate & Deploy → Deploy;等待链上确认,状态由 pendingconfirmed
  4. 点击交易哈希可在 BscScan 查看,记下 合约地址

5. 铸造(Mint)与转移(Transfer)

5.1 铸造 NFT

  1. 新建第二个 Keypair(接收方地址)。
  2. Transactions合约地址Write Functions 里选 safeMint

    • ETH to send:填 0.06 BNB(涵盖手续费)。
    • To 填入新地址,执行后确认状态为 success
  3. 同步在 Events tab 中查看 Transfer 事件,即可确认铸造成功。

5.2 确认所有权


6. 在手机 MetaMask 查看 NFT

MetaMask 浏览器插件暂不支持 NFT,切换到 手机端
  1. 用 Keypair 的私钥导入 MetaMask Mobile
  2. Settings > Networks 中添加 BSC Testnet(与桌面端参数相同)。
  3. NFTs 选项卡Import NFT

    • Contract Address:刚部署的合约地址
    • Token ID:1
  4. 点击 Import,NFT 即刻出现在列表!

7. FAQ 高频问答

  1. Q:为什么我部署后合约地址为 0x0?
    A:多数因私钥余额不足或 gas limit 估计失败;返回 领水环节 为账号补 BNB 后,重新 Estimate & Deploy 即可。
  2. Q:可以取消 OpenZeppelin 依赖吗?
    A:可以,直接复刻 ERC721.sol 代码改成自研实现,但不建议;审计与安全成本远高于使用可靠库。
  3. Q:能否提前铸造给白名单?
    A:在合约中加 mapping(address => bool) private whitelistmodifiers 即可实现提前或折扣铸造。
  4. Q:Mint 价格是否真的需要 0.05 BNB?
    A:这里指测试网数值,主网需根据币价与运营成本自行调整。
  5. Q:如何给 NFT 添加可定制图像?
    A:修改 _baseURI() 返回值指向你的元数据服务器,按 ERC721 标准 JSON 格式上传图像 image 字段即可。
  6. Q:可以直接在钱包内转移 NFT 吗?
    A:MetaMask Mobile 已内置 NFT 卡片,点击即可 Send 填接收方地址(链上仍需支付 gas)。

8. 拓展与延伸

👉 即刻动手,你的第一款 BNB 链 NFT 将在 10 分钟内上线!


祝你创作愉快,链上见!