WEB3——简易NFT铸造平台之nft.storage

article/2025/6/23 19:27:19

🧠 1. nft.storage 是什么?

  • https://nft.storage一个免费的去中心化存储平台,由 Filecoin 背后的 Protocol Labs 推出。

  • 它的作用是:
    ✅ 接收用户上传的文件(图片、JSON 等)
    ✅ 把它们永久存储到 IPFS 网络 + Filecoin
    ✅ 返回 ipfs://... 格式的地址(即 IPFS 内容哈希 CID)

使用起来也很简单。登录后生成API KEY就可以使用了。


🌐 2. 那为什么访问时不是用 nft.storage,而是用 ipfs.io?

因为:

  • ipfs:// 是一种特殊协议,浏览器默认无法解析(就像浏览器不认 mailto:// 一样);

  • 所以你必须通过一个 HTTP 网关 来“翻译”它,才能在浏览器中访问;

  • ipfs.io 就是一个公共 IPFS 网关,由 Protocol Labs 提供(也是 nft.storage 的“兄弟”)。


✅ 举例说明:

假设你上传的 NFT 元数据返回地址是:

ipfs://bafybeibwhlxyz123/metadata.json

这时你可以手动在浏览器访问:

https://ipfs.io/ipfs/bafybeibwhlxyz123/metadata.json

或者:

https://nftstorage.link/ipfs/bafybeibwhlxyz123/metadata.json

两者访问的是同一个 IPFS 对象,只是走的网关不同。


🚀 3. 所以我们开发者要做的是:

在拿到 IPFS 地址后,把它变成浏览器可识别的 HTTP 地址:

ipfsUrl.replace('ipfs://', 'https://ipfs.io/ipfs/')
// 或使用 nft.storage 官方推荐网关:
ipfsUrl.replace('ipfs://', 'https://nftstorage.link/ipfs/')

📌 4. 为什么 nft.storage 不直接提供自己的前缀访问?

他们其实提供了(官方文档说明),推荐的是:

ipfs://<CID> ➝ https://nftstorage.link/ipfs/<CID>

但:

  • https://ipfs.io/ipfs/<CID> 在业内更常见、更通用;

  • 大多数教程和代码示例默认用它;

  • 你也可以自由选择用哪个网关访问,不影响内容本身。


✅ 总结一句话:

nft.storage 负责上传 + 存储,ipfs.io 是浏览器访问的“翻译器”。

1. NFT.storage 上传图片和元数据的作用

  • NFT.storage 是一个去中心化的存储服务,帮你把 NFT 的图片和元数据(比如名称、描述、属性)上传到 IPFS 上永久保存。

  • 这一步解决了 NFT 图片和数据的存储问题,不会丢失,也不依赖中心化服务器。

但是:

  • NFT.storage 只是存储服务,不是 NFT 铸造

  • 你上传图片和元数据,拿到的是一个 IPFS 的 CID(内容地址),它只是数据,不是区块链上的 NFT 资产。


2. NFT 合约铸造(Mint)是必须的

  • 铸造 NFT(mint)是生成区块链上独一无二的 Token(NFT),这是 NFT 核心价值。

  • NFT 合约会把你的图片元数据(IPFS CID)关联到 Token ID 上,链上记录谁拥有这个 NFT。

  • 只有调用合约的 mint 函数,才算真正创建了区块链上的 NFT,别人才能通过区块链验证你的所有权。


3. NFT.storage + NFT 合约,两个步骤的关系

  • 你先用 NFT.storage 上传图片和元数据,得到 IPFS CID。

  • 合约 mint 的时候,把 CID 作为 tokenURI 传给合约。

  • 合约内部存储这个 URI,代表这个 NFT 的信息链接。

  • 这样 NFT 不仅有数据链接,还能在链上查到,用户能真正拥有这个唯一的 Token。


4. 你做“简易NFT铸造平台”的意义是什么?

  • 用户界面友好:让用户无需了解区块链细节,就能轻松上传图片,铸造 NFT。

  • 自动化:你封装了合约调用、IPFS 上传、后端接口,一键完成铸造流程。

  • 限制和管理:你在合约里设计“每个地址只能铸造一个 NFT”,这是你业务逻辑的体现。

  • 可扩展性:以后可以加交易、转让、销毁等功能。


总结

操作作用是否可替代
上传图片和元数据(NFT.storage)数据存储,永久保存图片和属性可用中心化服务器代替,但不够安全持久
合约铸造 NFT铸造链上唯一的 NFT 资产,记录所有权不能替代,NFT 本质必须合约铸造


如果你只用 NFT.storage 上传图片,别人看到的是一个普通的 IPFS 地址,而不是链上拥有的 NFT。

只有合约铸造后,才有真正的 NFT,可以在钱包、市场等地方展示和交易。


http://www.hkcw.cn/article/rFRNOglvnj.shtml

相关文章

MCP架构全解析:从核心原理到企业级实践

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storms…

注销微软账户

若你需要注销微软账号&#xff0c;请点击下方超链接。 点击此处

华为OD机试真题——生成哈夫曼树(2025A卷:100分)Java/python/JavaScript/C/C++/GO六种最佳实现

2025 A卷 100分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式! 本文收录于专栏:《2025华为OD真题目录+全流程解析/备考攻略/经验分享》 华为OD机试真题《生成…

Python实现P-PSO优化算法优化BP神经网络分类模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 随着人工智能技术的快速发展&#xff0c;神经网络在分类任务中展现了强大的性能。BP&#xff08;Back Propagation&…

学习海康VisionMaster之表面缺陷滤波

一&#xff1a;进一步学习了 今天学习下VisionMaster中的表面缺陷滤波&#xff1a;简单、无纹理背景的表面缺陷检测&#xff0c;可以检测表面的异物&#xff0c;缺陷&#xff0c;划伤等 二&#xff1a;开始学习 1&#xff1a;什么表面缺陷滤波&#xff1f; 表面缺陷滤波的核心…

34.x64汇编写法(一)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 上一个内容&#xff1a;33.第二阶段x64游戏实战-InLineHook 首先打开 Visual Studio&#xff0c;然后创…

Java网络编程实战:TCP/UDP Socket通信详解与高并发服务器设计

&#x1f50d; 开发者资源导航 &#x1f50d;&#x1f3f7;️ 博客主页&#xff1a; 个人主页&#x1f4da; 专栏订阅&#xff1a; JavaEE全栈专栏 内容&#xff1a; socket(套接字)TCP和UDP差别UDP编程方法使用简单服务器实现 TCP编程方法Socket和ServerSocket之间的关系使用简…

算法:滑动窗口

1.长度最小的子数组 209. 长度最小的子数组 - 力扣&#xff08;LeetCode&#xff09; 运用滑动窗口&#xff08;同向双指针&#xff09;来解决&#xff0c;因为这些数字全是正整数&#xff0c;在left位置确定的下&#xff0c;right这个总sum会越大&#xff0c;所以我们先让num…

AI笔记 - 网络模型 - mobileNet

网络模型 mobileNet mobileNet V1网络结构深度可分离卷积空间可分![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/aff06377feac40b787cfc882be7c6e5d.png) 参考 mobileNet V1 网络结构 MobileNetV1可以理解为VGG中的标准卷积层换成深度可分离卷积 可分离卷积主要有…

新中地三维GIS开发智慧城市效果和应用场景

近年来&#xff0c;随着科技的发展和城市化进程的加速&#xff0c;智慧城市成为了全球各大城市的一个重要发展方向。 在这一背景下&#xff0c;三维GIS技术以其独特的优势&#xff0c;成为构建智慧城市不可或缺的工具。新中地GIS开发特训营正是在这样的大环境下应运而生&#…

Linux笔记---线程

1. 线程的介绍 1.1 线程的概念 基本定义&#xff1a; 线程&#xff08;Thread&#xff09;是操作系统能够进行运算调度的最小单位。它被包含在进程&#xff08;Process&#xff09;之中&#xff08;或者说是进程的一部分、对进程的划分&#xff09;&#xff0c;是进程中的实际…

Java数据结构之ArrayList(如果想知道Java中有关ArrayList的知识点,那么只看这一篇就足够了!)

前言&#xff1a;ArrayList是Java中最常用的动态数组实现之一&#xff0c;它提供了便捷的操作接口和灵活的扩展能力&#xff0c;使得在处理动态数据集合时非常方便。本文将深入探讨Java中ArrayList的实现原理、常用操作以及一些使用场景。 一&#xff1a;体系结构 二&#xff…

antddesign使用iconfont的字体库和图标库

antddesign使用iconfont 使用iconfont自定义字体 1️⃣选择一种需要的字体&#xff0c;点击【字体包下载】&#xff1a; 2️⃣下载好的字体放到项目目录下&#xff1a;src/assets/fonts&#xff1a; 3️⃣新建styles/font.css文件&#xff1a; /* src/styles/fonts.css */ f…

LearnOpenGL-笔记-其十二

今天我们来将LearnOpenGL的高级光照部分彻底完结&#xff1a; Bloom 泛光是一个非常常见的用于改善图像质量的手段&#xff0c;其主要做法就是将某个高亮度区域的亮度向四周发善以实现该区域更亮的视觉效果&#xff08;因为显示器的亮度范围有限&#xff0c;需要通过泛光来体…

第十二节:第一部分:集合框架:概述、Collection集合的常用方法

集合体系结构 Collection集合体系 Collection的常用方法 代码&#xff1a; 代码一&#xff1a;认识Collection体系的特点 package com.itheima.day17_Collection;import java.util.ArrayList; import java.util.HashSet;/* * 目标:认识Collection体系的特点。 * */ public cl…

C++哈希表:unordered系列容器详解

本节目标 1.unordered系列关联式容器 2.底层结构 3.模拟实现 4.哈希的应用 5.海量数据处理面试题 unordered系列关联式容器 在c98中&#xff0c;STL提供了底层为红黑树结构的一系列关联式容器&#xff0c;在查询时效率可以达到logN&#xff0c;即最差的情况下需要比较红…

非常有趣的桌面萌宠互动软件

软件介绍 这里要介绍的软件是一款在主播直播领域十分实用的萌系插件&#xff0c;它能让主播的直播更具趣味性和吸引力。 软件开发者与特性 该软件由国外高中生kuroni开发&#xff0c;是一款开源软件。其最大的亮点在于&#xff0c;能让手鼓猫的手臂跟随鼠标和按键操作做出相…

InfluxQL 数据分析实战:聚合、过滤与关联查询全解析

InfluxQL 作为时序数据库的专用查询语言&#xff0c;在处理时间序列数据时展现出独特优势。本文深入探讨 聚合计算、数据过滤和跨测量关联 三大核心操作&#xff0c;通过真实代码示例展示如何从海量时序数据中提取关键洞察。文中涵盖从基础平均值计算到复杂多维度分析的完整流程…

记一次idea中lombok无法使用的解决方案

在注解处理器下&#xff0c;一般 Default 为“启用注解处理”和“从项目类路径获取处理器”&#xff0c;但是我的项目中的为选择“处理器路径”&#xff0c;导致了无法识别lombok&#xff0c;因此&#xff0c;需要改为使用“从项目类路径获取处理器”这个选项。如下图所示&…

【速通RAG实战:进阶】17、AI视频打点全攻略:从技术实现到媒体工作流提效的实战指南

一、AI视频打点的技术底层与数据处理流程 (一)视频内容结构化的核心技术栈 AI视频打点的本质是将非结构化视频数据转化为带时间戳的结构化信息,其技术流程涵盖音视频处理、语音识别、自然语言处理三大核心模块,形成“数据采集-内容解析-智能标记-协同应用”的完整闭环。 …