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

关于TON NFT铸造后元数据未在钱包及TonViewer显示的技术求助

TON NFT元数据不显示问题排查

我铸造了一枚TON NFT,在NFT资产合约中可查看到其已完成初始化,且返回的内容不为空,但钱包及TonViewer均未显示我所设置的元数据。请问我遗漏了什么关键步骤?

以下是构建元数据的代码:

export function setItemContentCell_nft(content: itemContent): Cell {
    console.log("content content content",content.image);
    
    const itemContentDict = Dictionary.empty(Dictionary.Keys.BigUint(256), Dictionary.Values.Cell())
    .set(toSha256("name"), toTextCell1(content.name))
    .set(toSha256("description"), toTextCell1(content.description))
    .set(toSha256("image"), toTextCell1(content.image)) 
     
    return beginCell()
            .storeUint(0,8)
            .storeDict(itemContentDict)
            .endCell();
}

可能遗漏的关键步骤

1. 元数据格式不符合TON生态工具的解析习惯

TON合约支持内嵌字典格式的元数据,但钱包、TonViewer这类前端工具通常优先识别指向外部JSON文件的uri字段,而非直接存在链上的键值对字典。你的代码是把元数据直接编码成字典存在链上,多数解析工具无法直接识别这种格式。

2. 文本编码函数toTextCell1存在问题

需要确认toTextCell1是否正确实现了UTF-8编码存储:

  • 必须严格按照TON的Cell文本编码规范处理,不能有多余的前缀或错误的长度标识
  • 如果编码错误,即使链上有数据,工具也无法解析出可读的文本内容

3. 链上索引服务未同步数据

TonViewer和钱包依赖第三方索引服务同步链上数据,可能存在延迟。可以等待10-30分钟后重新查看,或者手动调用合约的get_content方法,验证返回的Cell能否被解码为预期的元数据。

4. 元数据字段格式不达标

  • image字段必须是完整可访问的URL:如果用IPFS哈希,需要写成ipfs://<哈希>格式,或者转为网关链接(如https://ipfs.io/ipfs/<哈希>)
  • 部分工具要求必须包含uri字段,指向一个标准的JSON元数据文件,而非直接内嵌键值对

5. 合约初始化时未正确写入元数据

再确认一次:在NFT合约的初始化逻辑中,是否调用了set_content或对应方法,将你生成的Cell正确写入合约的存储结构里?如果只是生成了Cell但未完成存储写入,链上数据的有效性会受影响。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 19:12:41