Skip to content

Instantly share code, notes, and snippets.

@akashgoswami
Last active October 24, 2017 21:45
Show Gist options
  • Save akashgoswami/ff7be1a803ee1ebeb9a1dc3868fb0e42 to your computer and use it in GitHub Desktop.
Save akashgoswami/ff7be1a803ee1ebeb9a1dc3868fb0e42 to your computer and use it in GitHub Desktop.
How to peer IoTA IRI using udpeer

This short guide explains how to connect two IRI nodes behind firewall/NAT using UDPeer. You will need a host who is willing to pair with you. There is no need to open any firewall ports or NAT. It just works. We have also tested it across Windows and Linux hosts.

UDPeer is a bidirectional UDP proxy using webrtc for communication. https://github.com/akashgoswami/udpeer

#Step 1 Install udpeer from npm repository at both sides. If you don't have nodejs, please install it from https://nodejs.org/en/download/

npm install -g udpeer

#Step 2 Both parties should agree on a sufficiently long channel ID. E.g. H89LK65FNMQETEAF5ZT6Y6FC You could also generate a random channel ID using udpeer. Just run with default port arguments. E.g.

~/workspace/udpeer (master) $ udpeer -p 5000:14625
You have not specified any channel. Generating a unique channel
==============================================================
Your channel ID: H89LK65FNMQETEAF5ZT6Y6FC
==============================================================
Please share above channel ID with your peer.

#Step 3 Decide a common local port on both machines. Let's say it is 10000. Then one side runs

udpeer -c H89LK65FNMQETEAF5ZT6Y6FC -p 10000:14625

The otherside runs (Acting as an initiator)

udpeer -i -c H89LK65FNMQETEAF5ZT6Y6FC -p 10000:14625

#Step 4 Both parties add following peer to their IRI.

udp://127.0.0.1:10000

Here 10000 is the common port chosen between both parties in step 3.

That's it. The logs printed on UDPeer will tell you in case of any issue.

For any errors or issue,

please report at iota Slack channel #udpeer or raise an issue at github https://github.com/akashgoswami/udpeer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment