Robonomics network graph visualizer agent
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Aira node graph PoC

AIRA scenario

  1. collect IPFS peers in self IPNS storage as JSON object
  2. publish IPNS into IPFS PubSub channel

Client scenario

  1. collect IPNS ids from PubSub channel (default: graph.1.robonomics.eth)
  2. periodically get graph data from IPNS
  3. visualize AIRA graph

Graph message format


Signatures is used to keep ethereum key of network agent. Link between IPFS id and Etehreum address helps us to recover transaction graph and visualize relations between IPFS and Ethereum network layers.

JSON encoded message body
Ethereum signature


  • id - IPFS node identifier
  • addresses - list of node connection details in multiaddr format
  • lighthouse - current node lighthouse in ENS format
  • peers - near node peers (connected to the same lighthouse information channel)
  • timestamp - message formation timestamp


{"id": "QmbtPSNsRQeecUavxVZTULaPhp7owBgfNdbNY5egVPn9jn", "addresses": ["/ip4/", "/ip4/", "/ip4/", "/ip4/", "/ip6/::1/tcp/4001/ipfs/QmbtPSNsRQeecUavxVZTULaPhp7owBgfNdbNY5egVPn9jn", "/ip6/fcd1:5580:c813:6277:4af2:23f1:5229:e20f/tcp/4001/ipfs/QmbtPSNsRQeecUavxVZTULaPhp7owBgfNdbNY5egVPn9jn", "/ip4/", "/ip6/fcd1:5580:c813:6277:4af2:23f1:5229:e20f/tcp/4001/ipfs/QmbtPSNsRQeecUavxVZTULaPhp7owBgfNdbNY5egVPn9jn", "/ip4/"], "lighthouse": "airalab.lighthouse.1.robonomics.eth", "peers": [], "timestamp": 1536745857}

Build & run

$ nix-shell -I nixpkgs=/path/to/airapkgs
$ aira-graph airalab.lighthouse.1.robonomics.eth -k /path/to/ethereum/key -w /path/to/ethereum/password