我正在尝试从 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 网关
将 JavaScript 对象上传为 JSON:-
- 您可以将 JavaScript 对象以 JSON 文本的形式上传到 IPFS。
- 首先,您必须使用
JSON.stringify(<JS_OBJECT>)
对 JSON 进行字符串化并将该函数的返回值上传到IPFS。 - 您可以使用上面讨论的两种方法之一来上传此函数返回的值。
关于javascript - 如何将 json 文件(或 JavaScript 对象)上传到 NextJS 中的 IPFS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73793326/