首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将json文件(或JavaScript对象)上载到NextJS中的IPFS?

如何将json文件(或JavaScript对象)上载到NextJS中的IPFS?
EN

Stack Overflow用户
提问于 2022-09-20 22:42:41
回答 2查看 334关注 0票数 1

我正在尝试从JavaScript的客户端上传一个已经上传到IPFS的文件的元数据( NextJS对象)。我能够在Infura's HTTP API包的帮助下使用ipfs-http-client将文件(PDF)上传到IPFS,但我不能使用JSON吗?我也尝试过使用pinata SDK上传,但没有成功。如何将JavaScript对象上传到IPFS?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-20 22:42:41

简短的回答:对JavaScript对象执行JSON.stringify()并将返回的值上传到IPFS。您可以使用恩弗拉的HTTP端点,也可以使用ipfs-http-client,这是IPFS的客户端库。

长篇大论:

从用户磁盘上传文件:-

1.使用ipfs-core包:

  • 安装ipfs核心包
代码语言:javascript
复制
yarn add ipfs-core
  • 使用ipfs核心包
代码语言:javascript
复制
import * as IPFS from 'ipfs-core'      

const ipfs = await IPFS.create()       //creating an IPFS node
//passing the file object  extracted from the HTML input.
const { cid } = await ipfs.add(file)   
console.info(cid) // QmXXY5ZxbtuYj6DnfApLiGstzPN7fvSyigrRee3hDWPCaf

2.使用公共指规数网关

  • 您可以使用恩弗拉提供的公共IPFS网关,并通过向该IPFS网关发送post请求直接使用它来上传文件。
  • 您可以参考dev.to上的帖子。

将JavaScript对象上传为JSON:-

  • 您可以以JSON文本的形式将JavaScript对象上载到IPFS。
  • 首先,您必须使用JSON.stringify(<JS_OBJECT>)对JSON进行字符串化,并将此函数的返回值上传到IPFS。
  • 您可以使用上面讨论的两种方法中的任何一种来上载此函数返回的值。
票数 2
EN

Stack Overflow用户

发布于 2022-11-24 22:26:57

您可以使用没有第三方库的皮纳塔-api

从客户端向服务器发送元数据,服务器向pinata发送post请求。

代码语言:javascript
复制
    const url = `https://api.pinata.cloud/pinning/pinJSONToIPFS`;
    const res = await axios.post(
      url,
      {
        pinataMetadata: {
          name: "add a name",
        },
        // assuming client sends `nftMeta` json
        pinataContent: req.body.nftMeta,
      },
      {
        headers: {
          pinata_api_key: yourPinataApiKey,
          pinata_secret_api_key: yourPinataSecretApiKey,
        },
      }
    );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73793326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档