WEB3——简易NFT铸造平台之nft.storage
🧠 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,可以在钱包、市场等地方展示和交易。