I am implementing an electron desktop application with js-ipfs. I want to develop a functionality to communicate with two nodes using the NodeID.
I came across this example where I think the libp2p functions like libp2p.dialProtocol and libp2p.handle can be used to communicate between the nodes.
I tried do this like this
node.libp2p.dialProtocol("element.id.toB58String()", "test-protocol", (err, conn) => { if (err) { throw err } console.log('Dial successful') })
But I am getting
node.libp2p.dialProtocol is not a function
In my case, I wanted to use the libp2p
stack using the IPFS instance such as functions like dialProtocol
and handle
to communicate between the nodes using their nodeID (If that is how it is supposed to be used).
In the IPFS documentation this is mentioned.
libp2p. Every IPFS instance also exposes the libp2p SPEC at ipfs.libp2p. The formal interface for this SPEC hasn’t been defined by you can find documentation at its implementations:
But I could only find the references to start()
and stop()
method using ipfs.libp2p
, not the ones I want to use.
I closely looked inside the IPFS instance to find a way to access libp2p
functionality and found that there are some libp2p
methods under ipfs._libp2pNode
.
I tried to use those also but still facing some issues. I am not sure if it is the proper way to access them.