Control an ipfs node daemon using Node.js
Install:
npm install --save ipfsd-ctl
IPFS daemons are already easy to start and stop, but this module is here to do it from JavaScript itself.
// Start a disposable node, and get access to the api
// print the node id, and kill the temporary daemon
// IPFS_PATH will point to /tmp/ipfs_***** and will be
// cleaned up when the process exits.
var ipfsd = require('ipfsd-ctl')
ipfsd.disposableApi(function (err, ipfs) {
ipfs.id(function (err, id) {
console.log(id)
process.exit()
})
})
If you need want to use an existing ipfs installation you can set $IPFS_EXEC=/path/to/ipfs
to ensure it uses that.
For more details see https://ipfs.github.io/js-ipfsd-ctl/.
ipfsd-ctl
can be packaged in Electron applications, but the ipfs binary
has to be excluded from asar (Electron Archives),
read more about unpack files from asar.
ipfsd-ctl
will try to detect if used from within an app.asar
archive
and tries to resolve ipfs from app.asar.unpacked
. The ipfs binary is part of
the go-ipfs-dep
module.
electron-packager ./ --asar.unpackDir=node_modules/go-ipfs-dep
Feel free to join in. All welcome. Open an issue!
This repository falls under the IPFS Code of Conduct.