You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何单次调用TokenMintTransaction在Hedera批量铸造多个NFT

问题解答

不需要累计调用100次TokenMintTransaction(),Hedera Token Service原生支持单笔交易批量铸造NFT,单笔交易最高支持单次铸造100个NFT,完全可以通过一次API调用完成你100个NFT的铸造需求。

.setMetadata()参数要求

这个方法接收元素为Buffer类型的数组作为入参,数组的长度对应当次交易铸造的NFT数量,数组中每一个Buffer元素对应单个NFT的元数据(通常是你存储元数据的CID转成的Buffer值)。
你当前的代码里只在数组中传入了1个CID转成的Buffer,所以每次只会铸造1个NFT,要实现一次性铸造100个,只需要把100个NFT各自对应的CID分别转成Buffer,统一放到数组中传入即可。

参考实现代码

// 1. 提前整理好100个NFT对应的元数据CID列表
const nftCidList = [
  "bafybeih1xxxxxxxxx第一个NFT的CID",
  "bafybeih2xxxxxxxxx第二个NFT的CID",
  // 此处省略中间97个CID条目,累计凑够100个即可
  "bafybeih100xxxxxxxxx第一百个NFT的CID"
];

// 2. 将所有CID转为Buffer格式,组装成元数据数组
const batchMetadata = nftCidList.map(cid => Buffer.from(cid));

// 3. 构造批量铸造交易
let mintTx = new TokenMintTransaction()
  .setTokenId(tokenId)
  .setMetadata(batchMetadata) // 传入长度为100的Buffer数组
  .freezeWith(client);

注意事项

  • 单笔TokenMintTransaction批量铸造NFT的数量上限为100个,刚好匹配你本次的铸造规模,不需要拆分多笔交易
  • 交易执行后,铸造出的NFT会按照你传入元数据数组的顺序,依次分配序列号
  • 请确保传入的每个CID都对应已上传完成、可正常访问的元数据文件,避免铸造出的NFT无法解析元数据

内容的提问来源于stack exchange,提问作者Ed Marquez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 06:54:28