{"id":20433855,"url":"https://github.com/flashbots/node-healthchecker","last_synced_at":"2025-04-12T21:08:51.600Z","repository":{"id":204421101,"uuid":"711809472","full_name":"flashbots/node-healthchecker","owner":"flashbots","description":"Composite health (sync status) checker for blockchain nodes","archived":false,"fork":false,"pushed_at":"2025-03-14T16:07:28.000Z","size":71,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-04-12T21:08:32.244Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flashbots.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-30T08:12:05.000Z","updated_at":"2025-04-05T03:42:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"212459f0-1cde-4f3f-b899-da77924a5634","html_url":"https://github.com/flashbots/node-healthchecker","commit_stats":null,"previous_names":["flashbots/node-healthchecker"],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flashbots%2Fnode-healthchecker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flashbots%2Fnode-healthchecker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flashbots%2Fnode-healthchecker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flashbots%2Fnode-healthchecker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flashbots","download_url":"https://codeload.github.com/flashbots/node-healthchecker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631676,"owners_count":21136562,"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":"2024-11-15T08:21:50.393Z","updated_at":"2025-04-12T21:08:51.569Z","avatar_url":"https://github.com/flashbots.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# node-healthchecker\n\nComposite health (sync-status) checker for blockchain nodes.\n\nSupported nodes:\n\n- [x] Geth\n- [x] Lighthouse\n- [x] Op-node\n- [x] Reth\n\n## TL;DR\n\n```shell\n./node-healthchecker serve \\\n  --healthcheck-geth-base-url http://127.0.0.1:8545 \\\n  --healthcheck-lighthouse-base-url http://127.0.0.1:3500 \\\n  --server-listen-address 127.0.0.1:8080\n```\n\n```shell\ncurl -isS http://127.0.0.1:8080\n```\n\n- Unhappy path:\n\n    ```text\n    HTTP/1.1 500 Internal Server Error\n    Content-Type: application/text\n    Date: Mon, 30 Oct 2023 08:06:25 GMT\n    Content-Length: 354\n\n    0: error while checking sync-status of lighthouse at 'http://127.0.0.1:3500/lighthouse/syncing': Get \"http://127.0.0.1:3500/lighthouse/syncing\": dial tcp 127.0.0.1:3500: connect: connection refused\n    1: error while checking sync-status of geth at 'http://127.0.0.1:8545/': Get \"http://127.0.0.1:8545/\": dial tcp 127.0.0.1:8545: connect: connection refused\n    ```\n\n- Happy path:\n\n    ```text\n    HTTP/1.1 200 OK\n    Date: Mon, 30 Oct 2023 08:08:18 GMT\n    Content-Length: 0\n    ```\n\n## CLI\n\n```haskell\nNAME:\n   node-healthchecker serve - run node-healthchecker server\n\nUSAGE:\n   node-healthchecker serve [command options]\n\nGLOBAL OPTIONS:\n   --log-level value  logging level (default: \"info\") [$NH_LOG_LEVEL]\n   --log-mode value   logging mode (default: \"prod\") [$NH_LOG_MODE]\n\nOPTIONS:\n   HEALTHCHECK\n\n   --healthcheck-block-age-threshold duration  monitor the age of latest block and report unhealthy if it's over specified duration (default: disabled) [$NH_HEALTHCHECK_BLOCK_AGE_THRESHOLD]\n   --healthcheck-cache-cool-off duration       re-use healthcheck results for the specified duration (default: 750ms) [$NH_HEALTHCHECK_CACHE_COOL_OFF]\n   --healthcheck-timeout duration              maximum duration of a single healthcheck (default: 1s) [$NH_HEALTHCHECK_TIMEOUT]\n\n   --healthcheck-timeout duration  maximum duration of a single healthcheck (default: 1s) [$NH_HEALTHCHECK_TIMEOUT]\n\n   HEALTHCHECK GETH\n\n   --healthcheck-geth-base-url url  base url of geth's HTTP-RPC endpoint [$NH_HEALTHCHECK_GETH_BASE_URL]\n\n   HEALTHCHECK LIGHTHOUSE\n\n   --healthcheck-lighthouse-base-url url  base url of lighthouse's HTTP-API endpoint [$NH_HEALTHCHECK_LIGHTHOUSE_BASE_URL]\n\n   HEALTHCHECK OP-NODE\n\n   --healthcheck-op-node-base-url url         base url of op-node's RPC endpoint [$NH_HEALTHCHECK_OP_NODE_BASE_URL]\n   --healthcheck-op-node-conf-distance value  number of l1 blocks that verifier keeps distance from the l1 head before deriving l2 data from (default: 0) [$NH_HEALTHCHECK_OP_NODE_CONF_DISTANCE]\n\n   HEALTHCHECK RETH\n\n   --healthcheck-reth-base-url url  base url of reth's HTTP-RPC endpoint [$NH_HEALTHCHECK_RETH_BASE_URL]\n\n   HTTP STATUS\n\n   --http-status-error status    http status to report on healthchecks with errors (default: 500) [$NH_HTTP_STATUS_ERROR]\n   --http-status-ok status       http status to report on good healthchecks (default: 200) [$NH_HTTP_STATUS_OK]\n   --http-status-warning status  http status to report on healthchecks with warnings (default: 202) [$NH_HTTP_STATUS_WARNING]\n\n   SERVER\n\n   --server-listen-address host:port  host:port for the server to listen on (default: \"xxx.xxx.xxx.xxx:8080\") [$NH_SERVER_LISTEN_ADDRESS]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflashbots%2Fnode-healthchecker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflashbots%2Fnode-healthchecker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflashbots%2Fnode-healthchecker/lists"}