Pinata
这只是一种走捷径的解决方案
可以直接通过ajax的方式上传,速度快,支持鉴权,权限控制;但是 有储存量限制,量大收费,有大小限制,如JSON 10M
使用-
注册账号 https://app.pinata.cloud/
-
申请key,设置key相关权限
- 上传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请求获取
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