Algodump
This is a tool for monitoring the messages sent over Algorand's network
protocol.
By default, the tool connects to a network in the same way that algod
does, using SRV records and connecting to 4 relays from that list.
You can change the network by using the -network
flag; you will likely
also need to specify the correct -genesis
flag for that network (e.g.,
-network testnet -genesis testnet-v1.0
).
You can also instruct algodump
to connect to just one server. This may
be useful if you want to debug a specific server, or if you want to avoid
seeing the same message received from multiple relays. To do this, use
the -server
flag (e.g., -server r-po.algorand-mainnet.network:4160
).
By default, algodump
will print all messages received. If you want to
print just some message types, use the -tags
flag (e.g., -tags TX
to only see transactions, or -tags AV
to see votes). The full list
of tag types is in protocol/tags.go
.
Although algodump
will print all message types, it might not know how
to meaningfully display the contents of some message types. If you
are trying to monitor messages that algodump
doesn't know how to
pretty-print, you will see just where the message came from, the message
type, and the length of its payload. You can add more formatting code
to print the contents of other messages by adding more cases to the
switch
statement in dumpHandler.Handle()
in main.go
.
Finally, algodump
by default truncates the addresses it prints (e.g.,
the sender of a transaction or the address of a voter); you can use the
-long
flag to print full-length addresses.