nwaku/tools
Alvaro Revuelta a36de4036b
chore(wakucanary): add canary tool (#1205)
* chore(wakucanary): create folder structure

* chore(wakucanary): spawn waku node

* chore(wakucanary): get supported protocols from lp2p

* chore(wakucanary): add timeout + refactor

* chore(wakucanary): fix comments v1

* chore(wakucanary): update readme

* chore(wakucanary): static->relay, abbr, logLevel, filter issue, colon

* chore(wakucanary): fix typos
2022-10-11 05:58:44 +02:00
..
wakucanary chore(wakucanary): add canary tool (#1205) 2022-10-11 05:58:44 +02:00
README.md chore(wakucanary): add canary tool (#1205) 2022-10-11 05:58:44 +02:00

README.md

## waku canary tool

Attempts to dial a peer and asserts it supports a given set of protocols.

Usage:

wakucanary [OPTIONS]...

The following options are available:

 -a, --address        Multiaddress of the peer node to attempt to dial.
 -t, --timeout        Timeout to consider that the connection failed [=chronos.seconds(10)].
 -p, --protocol       Protocol required to be supported: store,relay,lightpush,filter (can be used
                      multiple times).
 -l, --log-level      Sets the log level [=LogLevel.DEBUG].

The tool can be built as:

$ make wakucanary

And used as follows. A reachable node that supports both store and filter protocols.

$ ./build/wakucanary --address=/ip4/8.210.222.231/tcp/30303/p2p/16Uiu2HAm4v86W3bmT1BiH6oSPzcsSr24iDQpSN5Qa992BCjjwgrD --protocol=store --protocol=filter
$ echo $?
0

A node that can't be reached.

$ ./build/wakucanary --address=/ip4/8.210.222.231/tcp/1000/p2p/16Uiu2HAm4v86W3bmT1BiH6oSPzcsSr24iDQpSN5Qa992BCjjwgrD --protocol=store --protocol=filter
$ echo $?
1