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

Hedera链NFT元数据处理:如何还原原始CID以展示NFT图片

从Hedera Mirror Node还原NFT元数据中的CID

核心问题拆解

Mirror Node返回的NFT元数据是Base64编码字符串,你之前直接转Uint8Array的流程跳过了解码步骤,导致无法还原原始CID。

解决步骤

  • 第一步:解码Base64元数据
    先把Mirror Node返回的metadata字段从Base64转成Uint8Array:

    // 浏览器环境
    const metadataBase64 = "替换为你从API拿到的metadata值";
    const uint8Array = Uint8Array.from(atob(metadataBase64), c => c.charCodeAt(0));
    
    // Node.js环境
    const uint8Array = Buffer.from(metadataBase64, 'base64');
    
  • 第二步:还原CID字符串
    使用IPFS的CID处理库(推荐multiformats)将Uint8Array解码为原始CID:

    import { CID } from 'multiformats/cid';
    
    const cid = CID.decode(uint8Array);
    const originalCid = cid.toString(); // 得到你创建NFT时的原始CID
    
  • 第三步:生成图片链接
    用还原后的CID拼接IPFS访问链接,就能在前端展示图片:

    const imageUrl = `https://ipfs.io/ipfs/${originalCid}`;
    

关键说明

  • Hackpack钱包能正常显示图片,本质就是自动执行了「Base64解码 → CID还原 → IPFS链接生成」的流程,你只需要复刻这套逻辑即可。
  • 确保提前安装依赖包:npm install multiformats

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 22:35:49