javascript - 如何将 json 文件(或 JavaScript 对象)上传到 NextJS 中的 IPFS?

标签 javascript blockchain ipfs ipfs-http-client pinata

我正在尝试从 NextJS 的客户端上传已上传到 IPFS 的文件的元数据(JavaScript 对象)。我可以在 ipfs-http-client 包的帮助下使用 Infura 的 HTTP API 将文件(PDF)上传到 IPFS,但我无法这样做与 JSON? 我也尝试过使用pinata SDK上传,但没有成功。 如何将 JavaScript 对象上传到 IPFS?

最佳答案

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

长答案:

从用户磁盘上传文件:-

1。使用ipfs-core封装:

  • 安装 ipfs-core 包
yarn add ipfs-core
  • 使用 ipfs-core 包
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.使用公共(public) IPFS 网关

  • 您可以使用this Infura 提供的公共(public) IPFS 网关,通过向该 IPFS 网关发送 post 请求来直接使用它上传文件。
  • 您可以引用this发布于dev.to .

将 JavaScript 对象上传为 JSON:-

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

关于javascript - 如何将 json 文件(或 JavaScript 对象)上传到 NextJS 中的 IPFS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73793326/

相关文章:

python - 如何在 Python 中将多个文件添加到 IPFS?

reactjs - 在 ERC721 中按所有者列出所有代币 ID

javascript - 从 IP 地址获取地理位置

javascript - 在未知的 div 上追加一个 div

ios - "Query response is nil without errors"

go - 如何使用FabCar计算平均价格

来自 jacoco 的 java.lang.NoSuchFieldException 错误

JavaScript 自执行函数 - 有什么区别?

Javascript 单选按钮分组

node.js - super 账本-资源管理器 : not showing all peers in explorer