前端上传IPFS

Pinata

这只是一种走捷径的解决方案

可以直接通过ajax的方式上传,速度快,支持鉴权,权限控制;但是 有储存量限制,量大收费,有大小限制,如JSON 10M

使用

  1. 注册账号 https://app.pinata.cloud/

  2. 申请key,设置key相关权限

  1. 上传JSON

官方文档 https://docs.pinata.cloud/api-pinning/pin-json

const config = {
    
    
  APIKey: '7e261b35bd2e534779bb',
  APISecret: '56f6372eb684cb6b2dcfc884c5a8bd9b26a9253cf6c003e185320d71e54ab5fa',
  JWT: 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySW5mb3JtYXRpb24iOnsiaWQiOiI4YzY3NjMwOS00NDAzLTQ2ZDQtODRmNi05ODE5MDgzNjgzOWMiLCJlbWFpbCI6ImNud2ViMDNAMTYzLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJwaW5fcG9saWN5Ijp7InJlZ2lvbnMiOlt7ImlkIjoiRlJBMSIsImRlc2lyZWRSZXBsaWNhdGlvbkNvdW50IjoxfV0sInZlcnNpb24iOjF9LCJtZmFfZW5hYmxlZCI6ZmFsc2V9LCJhdXRoZW50aWNhdGlvblR5cGUiOiJzY29wZWRLZXkiLCJzY29wZWRLZXlLZXkiOiI3ZTI2MWIzNWJkMmU1MzQ3NzliYiIsInNjb3BlZEtleVNlY3JldCI6IjU2ZjYzNzJlYjY4NGNiNmIyZGNmYzg4NGM1YThiZDliMjZhOTI1M2NmNmMwMDNlMTg1MzIwZDcxZTU0YWI1ZmEiLCJpYXQiOjE2MzIyOTgyMDN9.9vd1v1h_0OP7UmuPmTas4FrPFN3QjAZlxCfNHxLdpA8'
}

axios.post('https://api.pinata.cloud/pinning/pinJSONToIPFS', {
    
    
title: "零三",
url: "https://web03.cn"
}, {
    
    
      headers: {
    
    
        // "Authorization": config.JWT
        "pinata_api_key": config.APIKey,
        "pinata_secret_api_key": config.APISecret
      }
    }).then(res => {
    
    
// 请求返回
	/*
	{
	IpfsHash: "QmWvgkVvZJZgkTPNUv2N2XyEWWJmxXHviuTihzxk7vioH4"
	PinSize: 51
	Timestamp: "2021-09-24T06:14:49.955Z"
	}
*/
	})

header可以使用两种方式

pinata_api_key: (put your personal pinata api key here)
pinata_secret_api_key: (put your personal pinata secret api key here)

// OR

Authorization: Bearer (put your pinata JWT here)

访问

拼接哈希

https://gateway.pinata.cloud/ipfs/{IpfsHash}

https://gateway.pinata.cloud/ipfs/QmWvgkVvZJZgkTPNUv2N2XyEWWJmxXHviuTihzxk7vioH4

通过get请求获取

扫描二维码关注公众号,回复: 14221741 查看本文章
axios.get('https://gateway.pinata.cloud/ipfs/QmWvgkVvZJZgkTPNUv2N2XyEWWJmxXHviuTihzxk7vioH4').then(res => {
    
    
console.log(res)
/*
 {
   title: "零三",
   url: "https://web03.cn"
 }
*/
})

上传其他类型与操作阅读文档 https://docs.pinata.cloud/

关于同步

通过pinata上传的数据也是会同步到其他节点的 https://ipfs.github.io/public-gateway-checker/

如:
https://gateway.pinata.cloud/ipfs/QmWvgkVvZJZgkTPNUv2N2XyEWWJmxXHviuTihzxk7vioH4

https://cf-ipfs.com/ipfs/QmWvgkVvZJZgkTPNUv2N2XyEWWJmxXHviuTihzxk7vioH4

猜你喜欢

转载自blog.csdn.net/weixin_43840202/article/details/121114196