
Security News
The Changelog Podcast: Practical Steps to Stay Safe on npm
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.
ipfs-interop
Advanced tools
Interoperability Tests for IPFS
$ npm i ipfs-interop
This repository will be used for interop tests. Please jump into the issues if you'd like to help out setting this up!
$ ipfs-interop
$ node bin/ipfs-interop.js -- -t node --grep {substring-test-name}
This module declares peer dependencies of ipfs, ipfs-http-client, kubo-rpc-client and go-ipfs so if you have ipfs-interop as a dependecy of your project, simply add the extra IPFS dependencies:
{
"name": "my-project",
"scripts": {
"interop": "ipfs-interop"
},
"dependencies": {
"go-ipfs": "...",
"ipfs": "...",
"ipfs-http-client": "...",
"ipfs-interop": "...",
"kubo-rpc-client": "..."
}
}
Then run:
$ npm run interop
Specify the following environmental variables to control which versions of IPFS ipfs-interop uses when installed globally:
IPFS_GO_EXEC A path to a go-IPFS binaryIPFS_JS_EXEC A path to /src/cli.js inside a js-IPFS installIPFS_JS_MODULE A path to a js-IPFS installIPFS_JS_HTTP_MODULE A path to a ipfs-http-client install (optional)KUBO_RPC_MODULE A path to a kubo-rpc-client install (optional)Then run:
$ npm install -g ipfs-interop
$ IPFS_GO_EXEC=/path IPFS_JS_EXEC=/path IPFS_JS_MODULE=/path IPFS_JS_HTTP_MODULE=/path ipfs-interop
If you want to run interop on CI against specific repo and git revision of
go-ipfs or js-ipfs* then set everything up in ./scripts/custom-runtime.sh
and enable it by uncommenting env: IPFS_(..) definitions in .github/workflows/test.yml
If you want to test against unrelased things locally, make sure the same env variables are set on your machine.
For example, to run pubsub tests against go-ipfs and js-ipfs revision defined
in ./scripts/custom-runtime.sh, one can:
export IPFS_GO_EXEC=/tmp/go-ipfs/cmd/ipfs/ipfs
export IPFS_JS_EXEC=/tmp/js-ipfs/packages/ipfs/src/cli.js
export IPFS_JS_MODULE=/tmp/js-ipfs/packages/ipfs/src/index.js
export IPFS_JS_HTTP_MODULE=/tmp/js-ipfs/packages/ipfs-http-client/src/index.js
export KUBO_RPC_MODULE=/tmp/kubo-rpc-client/src/index.js
./scripts/custom-runtime.sh
node bin/ipfs-interop.js -- -t node --grep "pubsub"
This repo does not use aegir for releases.
Use npm directly and publish entire root (CI in go-ipfs requires it).
npm version [major|minor|patch]
npm publish
npm push origin && npm push origin v[N.N.N]
Licensed under either of
Feel free to join in. All welcome. Open an issue!
This repository falls under the IPFS Code of Conduct.
FAQs
Interoperability Tests for IPFS
The npm package ipfs-interop receives a total of 57 weekly downloads. As such, ipfs-interop popularity was classified as not popular.
We found that ipfs-interop demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.

Security News
Ruby's creator Matz assumes control of RubyGems and Bundler repositories while former maintainers agree to step back and transfer all rights to end the dispute.