文档显示请求的格式如下:
curl -X帖子"https://ipfs.infura.io:5001/api/v0/pin/add?arg=&progress=“
我目前正在使用JavaScript的API ipfs http-客户端进行Http调用。
来自add的源代码函数似乎没有提供一种表示钉扎的方法:
module.exports = (options) => {
const all = addAll(options)
return configure(() => {
return async function add (path, options = {}) { // eslint-disable-line require-await
return last(all({
path,
...options
}, options))
}
})(options)
}更新
我应该更清楚我的问题。我主要希望能够将我的散列“引脚”到IPFS节点上。似乎有两种方法允许您将散列添加到节点(没有固定的一和带固定的另一个 ),这两种方法都可以通过以下方法调用:
const result = await ipfs.add(data)我想知道我该如何选择添加哈希并将其钉在一起。
发布于 2021-03-17 09:17:58
您可以在一个操作中添加和插入:
await ipfs.add(buf, {
pin: true // <-- this is the default
})或两个:
const { cid } = ipfs.add(buf, {
pin: false
})
await ipfs.pin.add(cid)简而言之,ipfs.add将内容添加到IPFS节点的回购中,并返回该内容的CID,并且可以在添加期间插入。
ipfs.pin.add只是插入一个CID,如果您没有这些内容,这是很有用的,但可能希望帮助在网络上复制它。它将首先检查回购,以确定内容是否存在-如果没有,它将在网络上找到它,并将其添加到回购,然后防止它被垃圾收集(一个人工操作期间,所有非固定的内容被删除从你的回购)。
有关更多信息,请参见ipfs.add和ipfs.pin.add的文档。
发布于 2021-03-16 22:02:09
我从来没有使用过呋喃,我真的不明白他们的认证应该如何工作(链接页面没有提供更多的细节)。但是,假设它是通过auth令牌工作的,那么它将遵循以下思路:
const IPFSClient = require('ipfs-http-client')
const { CID } = IPFSClient
const ipfs = IPFSClient({
url: new URL('https://ipfs.infura.io:5001'),
headers: {
authorization: `Bearer ${TOKEN}`
}
})
const cid = await ipfs.pin.add(new CID('QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u'))
console.log(cid)IPFS客户端实现与JS节点本身相同的API,您可以在这里找到有关方法的详细信息( https://github.com/ipfs/js-ipfs/blob/master/docs/core-api/ )。
如果您试图找出将东西发送到服务器的位置,则在addAll函数中发生了add调用的https://github.com/ipfs/js-ipfs/blob/c47a6335b77d5284711f13a83349000820f85775/packages/ipfs-http-client/src/pin/add-all.js#L10-L33
addAll引脚、多个CID和retuns、AsyncIterable<CID>和last(all(...))只选择最后一个CID (只有一个CID,因为add引脚只有一个)。
发布于 2021-03-16 22:06:20
恩弗拉确实是通过象征性的方式工作的。你可以在这篇博文中读到更多关于它的信息:https://blog.infura.io/part-2-getting-started-with-ipfs-on-infura/
希望,这将消除任何混乱,并提供一些更多的信息,如何与因弗拉与IPFS工作。
https://stackoverflow.com/questions/66660309
复制相似问题