{"id":26911532,"url":"https://github.com/blockscapenetwork/peerdx","last_synced_at":"2025-04-01T14:39:03.087Z","repository":{"id":57571464,"uuid":"257877056","full_name":"BlockscapeNetwork/peerdx","owner":"BlockscapeNetwork","description":"Peer Diagnostics Tool for Tendermint blockchains","archived":false,"fork":false,"pushed_at":"2020-04-28T08:36:22.000Z","size":26,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-06-20T11:14:18.196Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BlockscapeNetwork.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-22T11:10:41.000Z","updated_at":"2024-06-20T11:14:18.201Z","dependencies_parsed_at":"2022-09-19T02:51:28.814Z","dependency_job_id":null,"html_url":"https://github.com/BlockscapeNetwork/peerdx","commit_stats":null,"previous_names":["blockscapelab/peerdx"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlockscapeNetwork%2Fpeerdx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlockscapeNetwork%2Fpeerdx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlockscapeNetwork%2Fpeerdx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlockscapeNetwork%2Fpeerdx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BlockscapeNetwork","download_url":"https://codeload.github.com/BlockscapeNetwork/peerdx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246657540,"owners_count":20813030,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-01T14:39:02.470Z","updated_at":"2025-04-01T14:39:03.076Z","avatar_url":"https://github.com/BlockscapeNetwork.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Peerdx, a Peer Diagnostics Tool\n\n\nThis tool allows you to run diagnostics for peers of Tendermint nodes by means of analyzing your nodes' address books or directly connecting to the nodes themselves via RPC. In contrast to just retrieving the information via the /net_info endpoint, this program aims to present the data in a more readable way as well as make it possible to compare multiple nodes with each other in terms of peer diversity.\n\n## Requirements\n\nGo 1.13+\n\n## Install\n\nClone this repo and run `go install` within its root directory.\n\n## How to Run Diagnostics on Address Books\n\nIn order to compare address books, put them into one directory and type:\n\n```\n$ peerdx addrbook --dir \u003cyour dir containing address books\u003e\n```\n\nThe output should look something like this:\n\n```\n2020/04/08 18:25:29 Looking for address book json files at /path/to/addrBooks\n2020/04/08 18:25:29 Analyzing address books\n2020/04/08 18:25:29 A total of 29 different addresses:\n2020/04/08 18:25:29 c3469b7fcf414f26bc1e86a9abe019053587422d: addrbook1.json, addrbook2.json\n2020/04/08 18:25:29 304ddd76ea750c7d2d72ac40a2525c37b10ad124: addrbook1.json\n...\n```\n\nIf you already know some of the nodes and want to give them a name, you can do so by providing a config file:\n\n```\n$ peerdx addrbook --dir \u003cyour dir containing address books\u003e --config cfg.json\n```\nThe config file should look like this:\n```\n{\n    \"known_ids\": [\n        {\n            \"name\": \"Awesome Node\",\n            \"id\": \"c3469b7fcf414f26bc1e86a9abe019053587422d\"\n        }\n    ]\n}\n```\nAnd the output would look like this:\n```\n2020/04/08 18:25:29 Looking for address book json files at /path/to/addrBooks\n2020/04/08 18:25:29 Analyzing address books\n2020/04/08 18:25:29 A total of 29 different addresses:\n2020/04/08 18:25:29 Awesome Node        : addrbook1.json, addrbook2.json\n2020/04/08 18:25:29 304ddd76ea750c7d2d72ac40a2525c37b10ad124: addrbook1.json\n...\n```\n\n## How to Run Diagnostics via RPC\n\n### Comparing peers of nodes\n\nIf you want to compare peers of nodes without collecting all of their address books, you can check via RPC. You have to make the rpc endpoint accessible on the nodes you want to compare.\nThen all you have to do is run:\n\n```\n$ peerdx rpc compare  \u003cnode_1 rpc address\u003e \u003cnode_2 rpc address\u003e \u003c...\u003e\n```\n\nYou can pass in a config file with already known addresses as shown in the address book description.\nThe output will look exactly the same as when comparing address books.\n\n### Show Peer Info of a Single Node\n\nAdditionally, you can take a more detailed look at the node's peers. Just type:\n\n```\n$ peerdx rpc list \u003cnode rpc address\u003e\n```\n\nThe result will look something like this:\n```\nOUT sebytza05 [d32432f9...]              : IP 164.64.104.66\n                                           send active; receive active\n                                           tendermint version 0.33.3\n\nOUT prim-sentry [8aea2394...]            : IP 157.85.239.128\n                                           send active; receive active\n                                           tendermint version 0.33.3\n\nOUT Nodeasy [3f931256...]                : IP 172.243.73.214\n                                           send active; receive active\n                                           tendermint version 0.33.3\n\nOUT gunray [49d7656d...]                 : IP 65.222.131.87\n                                           send active; receive active\n                                           tendermint version 0.33.3\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockscapenetwork%2Fpeerdx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblockscapenetwork%2Fpeerdx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockscapenetwork%2Fpeerdx/lists"}