除Infura.io外,免费存储IPFS哈希的替代方案有哪些?
免费IPFS存储替代方案(适用于React以太坊DApp)
针对小型个人项目,以下几个无需提供银行账户的免费IPFS存储方案完全够用:
1. Pinata 免费层
Pinata提供基础免费额度:每月1GB存储+10GB带宽,注册仅需邮箱,无需银行信息。适合小文件(如NFT元数据、哈希关联的小型资源)存储。
在React中集成示例:
// 安装依赖 npm install @pinata/sdk // 上传文件获取IPFS哈希 import pinataSDK from '@pinata/sdk'; const pinata = pinataSDK('你的API密钥', '你的API密钥密码'); async function uploadToPinata(file) { const { IpfsHash } = await pinata.pinFileToIPFS(file, { pinataMetadata: { name: file.name } }); return IpfsHash; }
注意:免费层有请求频率限制,个人项目完全足够,若流量超出可考虑升级或切换其他方案。
2. Web3.Storage
由Protocol Labs开发,免费提供每月1TB存储+1TB带宽,存储内容自动备份到Filecoin网络,可靠性更高。注册仅需GitHub账号或邮箱,无银行信息要求。
React集成示例:
// 安装依赖 npm install web3.storage // 上传文件 import { Web3Storage } from 'web3.storage'; const client = new Web3Storage({ token: '你的API令牌' }); async function uploadToWeb3Storage(files) { const cid = await client.put(files); return cid; // CID即为IPFS哈希 }
优势:额度大,适合存储较多或较大的文件,长期存储有Filecoin备份保障。
3. 运行本地IPFS节点
完全免费且无需第三方服务,适合测试或对隐私要求高的场景。可以通过IPFS Desktop客户端启动本地节点,或直接在React中用js-ipfs库运行浏览器节点。
浏览器节点示例(React中):
// 安装依赖 npm install ipfs-core // 创建本地节点并上传 import { create } from 'ipfs-core'; async function uploadToLocalIPFS(file) { const node = await create(); const { cid } = await node.add(file); return cid.toString(); }
注意:浏览器节点在页面关闭后会停止,文件仅在节点运行时可访问,适合开发测试;若要长期固定文件,需结合其他固定服务或自己保持节点在线。
4. NFT.Storage
同样是Protocol Labs旗下服务,专门针对NFT资产存储,免费额度无明确上限(非商业使用),存储的内容会被固定在Filecoin上,适合DApp中的NFT元数据、图片存储。
React集成示例:
// 安装依赖 npm install nft.storage // 上传NFT资产 import { NFTStorage } from 'nft.storage'; const client = new NFTStorage({ token: '你的API令牌' }); async function uploadToNFTStorage(file) { const metadata = await client.store({ name: 'My NFT', description: 'Personal project NFT', image: file }); return metadata.url.split('/').pop(); // 提取IPFS哈希 }
优势:针对NFT优化,免费且存储稳定,适合NFT相关的DApp项目。
内容的提问来源于stack exchange,提问作者MaheenUnzeelah
相关产品推荐
相关产品推荐

