问题标签 [js-ipfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
95 浏览

server - 从服务器外部将数据插入私有 ipfs 网络会引发超时错误

我在我的服务器上安装了私有 ipfs 网络,然后我通过输入一个文件对其进行了测试,并得到了它的完美运行,现在当我尝试从我的本地机器上执行相同的步骤时,获取数据正在使用 url - http:/ /{server's ip}:8080/ipfs/{hash} 但是当我在 Nodejs 上创建 api 以使用 url - http://{server's ip}:5001 插入数据时,我收到超时错误,尽管这个 api 正在工作在服务器上部署并将服务器的 ip 更改为 localhost。

IPFS 配置如下 -

0 投票
3 回答
1428 浏览

javascript - 如何使用 ipfs-http-client API 通过 Infura 的网关为 IPFS 固定哈希

文档显示请求采用以下格式:

curl -X POST "https://ipfs.infura.io:5001/api/v0/pin/add?arg=&progress="

我目前正在使用 JavaScript 的 API ipfs-http-client进行 Http 调用。

源代码中的add函数似乎没有提供一种指示固定的方法:

更新

我应该更清楚我的问题。我主要希望能够将我的哈希“固定”在 IPFS 节点上。似乎有两种方法可以让您将哈希添加到节点(一种没有固定,另一种有固定),这两种方法都可以通过以下方式调用:

我想知道我应该如何选择添加哈希并将其固定。

0 投票
2 回答
681 浏览

typescript - 在 TypeScript 中导入 ipfs

require使用 JavaScript/TypeScript 使用或导入和模块初始化通常很简单import。我无法从 JS IPFS网站运行基本示例来初始化ipfs.

如果我按照一般说明进行操作,我会收到错误消息:Module parse failed: Cannot use keyword 'await' outside an async function (6:13)

这是关键代码:

如果我按照建议将ipfs创建放在一个async函数中,我只会推迟不可避免的事情。如果我两次调用这样的函数,我会从Unhandled Rejection (LockExistsError): Lock already being held for file: ipfs/repo.lock. 似乎我可以创建一个 hack 来测试是否ipfs已创建并将其全局初始化为一个模块为 null,但这仍然是一个 hack。

我应该如何实现或重构const ipfs = await IPFS.create();而不出错?

0 投票
1 回答
121 浏览

javascript - 如何让 IPFS 在继续之前添加等待等待?

Await 不等待 IPFS 添加功能。

我正在尝试将文件添加到 IPFS,然后输出与 HASH 对应的文件名的 JSON。

但是 await 永远不会等待并输出一个空文件。(或控制台记录一个未定义的)

0 投票
0 回答
67 浏览

ipfs - 运行 js Ipfs 位交换基准的问题

我正在尝试对 IPFS 位交换的 js 实现进行一些性能测试。我已经按照这里的 git repo 中的说明进行操作:

https://github.com/ipfs/js-ipfs-bitswap

但是如果我执行 npm run benchmarks 或 0x test/benchmarks/get-many

我只是得到错误:

'拨号请求没有地址'), 代码.ERR_NO_VALID_ADDRESSES)

按照代码,我似乎没有生成有效的多地址。

我确定这应该是微不足道的,我可能遗漏了一些完全明显的东西,但是在运行基准测试时,任何人都可以指出我正确的方向吗?Npm 运行测试工作正常。

0 投票
1 回答
46 浏览

dependencies - 未找到 IPFS 存储库 haadcode/ipfs-pubsub-room.git

我正在按照https://github.com/redacademy/vue-ethereum-ipfs上的自述说明进行操作 ,然后执行 npm install 并获得:

/usr/bin/git ls-remote -h -t ssh://git@github.com/haadcode/ipfs-pubsub-room.git 错误:找不到存储库。致命:无法从远程存储库中读取。

请确保您拥有正确的访问权限......

该存储库似乎不存在,我找到了一个同名的存储库https://github.com/ipfs-shipyard/ipfs-pubsub-room。我认为更换会解决这个问题,但我不知道该怎么做。

这个人好像也有同样的问题,可能是链接npm 安装失败 libp2p-websockets

0 投票
1 回答
439 浏览

node.js - 使用 npm i ipfs 下载 ipfs-js 时出错

我正在使用 Visual Studio Code 并且在 Windows 10 上。我正在尝试Ipfs-js package使用npm

https://www.npmjs.com/package/ipfs

https://github.com/ipfs/js-ipfs

但是它给了我这个错误:我现在不知道该怎么做。我尝试更新 npm,重新下载 nodejs,并尝试以管理员身份运行 cmd。

我尝试使用 npm 下载其他包并且它们可以工作,但不确定这个包发生了什么。

我的 npm 版本是7.8.0

nodejs版本是14.16.0

0 投票
1 回答
53 浏览

reactjs - 带有“npx create-react-app”的 IPFS-JS 导致 Webpack 错误

所以我创建了一个新的 React 项目

我添加了

我将它添加到 React 项目中

我得到了错误

我认为这与 Webpack 有关,并且可能与 JEST 的配置方式有关。关于它正在为浏览器设置的一些东西。

0 投票
0 回答
107 浏览

typescript - 如何对 IPFS.create 进行单元测试

有什么方法可以对 IPFS 的基本功能进行单元测试,特别是IPFS.create()?我正在使用 TypeScript 和 Jest。我总是遇到两个错误。首先我得到:Error: digest should be a Uint8Array<project-dri>/node_modules/multihashing-async/node_modules/multihashes/src/index.js:132:11at <project-dir>/node_modules/multihashing-async/src/sha.js:54:22)。如果我在已使用此错误调用它之后运行任何使用的测试,IPFS.create()则会出现另一个错误:LockExistsError: Lock already being held for file: ~/.jsipfs/repo.lock at Object.<anonymous>.exports.lock (<project-dir>/node_modules/ipfs-repo/src/lock.js:37:13) { code: 'ERR_LOCK_EXISTS' }.

我已经能够从我的网络应用程序中毫无错误地调用这些方法,但前提是我在调用它们之前等待几秒钟。我了解 IPFS 可能会受到其类似 alpha 的条件的限制。有什么方法可以进行工作单元测试吗?尽管如此?

0 投票
1 回答
290 浏览

javascript - 节点 js 中的 ipfs.cat(cid) 给出错误“错误:无效版本,在 Function.validateCID 中必须是等于 1 或 0 的数字”

我正在使用 ipfs-http-client 模块。

这是我的脚本

(node:22889) UnhandledPromiseRejectionWarning: 错误: 无效版本,必须是 Function.validateCID 中等于 1 或 0 的数字 (/home/chipego/Documents/MedChain/node_modules/ipfs-http-client/node_modules/cids/src/index .js:346:13) 在新 CID (/home/chipego/Documents/MedChain/node_modules/ipfs-http-client/node_modules/cids/src/index.js:174:9) 在 Object.cat (/home/ chipego/Documents/MedChain/node_modules/ipfs-http-client/src/cat.js:16:48) 在 cat.next () 在 getFile (/home/chipego/Documents/MedChain/logic/ipfs_submit_controller.js:23: 26) 在 getFileFromNet (/home/chipego/Documents/MedChain/logic/ipfs_submit_controller.js:30:22) 在 main (/home/chipego/Documents/MedChain/logic/ipfs_submit_controller.js:32:5) 在 Object. (/home/chipego/Documents/MedChain/logic/ipfs_submit_controller.js:39:1) 在 Module._compile (internal/modules/cjs/loader.js:1063:node --trace-warnings ...显示警告的创建位置)(节点:22889)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志--unhandled-rejections=strict(请参阅 https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。(拒绝 id:2)(节点:22889)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将终止 Node.js 进程