{"id":19269586,"url":"https://github.com/status-im/infra-role-beacon-node-windows","last_synced_at":"2026-03-05T11:05:07.408Z","repository":{"id":40686406,"uuid":"373242715","full_name":"status-im/infra-role-beacon-node-windows","owner":"status-im","description":"Ansible role for Nimbus Eth2 beacon node on Windows","archived":false,"fork":false,"pushed_at":"2025-11-27T19:51:31.000Z","size":144,"stargazers_count":1,"open_issues_count":2,"forks_count":2,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-11-30T11:22:01.535Z","etag":null,"topics":["ansible-role","eth2","infra","nimbus","windows"],"latest_commit_sha":null,"homepage":"https://github.com/status-im/nimbus-eth2","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/status-im.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-06-02T16:58:04.000Z","updated_at":"2025-11-27T19:51:34.000Z","dependencies_parsed_at":"2024-04-24T07:48:23.886Z","dependency_job_id":"45c912f9-e93e-407c-af40-8d92904ea98b","html_url":"https://github.com/status-im/infra-role-beacon-node-windows","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/status-im/infra-role-beacon-node-windows","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/status-im%2Finfra-role-beacon-node-windows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/status-im%2Finfra-role-beacon-node-windows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/status-im%2Finfra-role-beacon-node-windows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/status-im%2Finfra-role-beacon-node-windows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/status-im","download_url":"https://codeload.github.com/status-im/infra-role-beacon-node-windows/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/status-im%2Finfra-role-beacon-node-windows/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30121097,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T10:44:24.758Z","status":"ssl_error","status_checked_at":"2026-03-05T10:44:15.079Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["ansible-role","eth2","infra","nimbus","windows"],"created_at":"2024-11-09T20:20:40.897Z","updated_at":"2026-03-05T11:05:07.379Z","avatar_url":"https://github.com/status-im.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Description\n\nThis role provisions a [Nimbus](https://nimbus.team/) installation that can act as an Eth2 network bootstrap node.\n\n# Introduction\n\nThe role will:\n\n* Checkout a branch from the [nimbus-eth2](https://github.com/status-im/nimbus-eth2) repo\n* Build it using the [`build.sh`](./templates/build.sh.j2) Bash script\n* Schedule regular builds using [Scheduled Tasks](https://en.wikipedia.org/wiki/Windows_Task_Scheduler)\n* Start a node by defining a [Windows Service](https://en.wikipedia.org/wiki/Windows_service) using [WinSW](https://github.com/winsw/winsw)\n\n# Ports\n\nThe service exposes three ports by default:\n\n* `9000` - LibP2P peering port. Must __ALWAYS__ be public.\n* `9200` - JSON RPC port. Must __NEVER__ be public.\n* `9900` - Prometheus metrics port. Should not be public.\n\n# Installation\n\nAdd to your `requirements.yml` file:\n```yaml\n- name: infra-role-beacon-node-windows\n  src: git@github.com:status-im/infra-role-beacon-node-windows.git\n  scm: git\n```\n\n# Configuration\n\nMinimum configuration would include.\n```yaml\n# branch which should be built\nbeacon_node_repo_branch: 'stable'\n# ethereum network to connect to\nbeacon_node_network: 'mainnet'\n# optional setting for debug mode\nbeacon_node_log_level: 'DEBUG'\n# WebSocket or HTTP URLs for execution layet Engine API\nbeacon_node_exec_layer_urls:\n  - 'wss://erigon.internal.example.org:8551'\n  - 'http://geth.internal.example.org:8552'\n```\nThe order of Web Socket URLs matters. First is the default, the rest are fallbacks.\n\nMost non-sensitive configuration resides in `conf/config.toml` file in service directory.\n\n# Management\n\n## Service\n\nThe services are managed using [WinSW](https://github.com/winsw/winsw).\n```\nadmin@windows-01 MINGW64 .../nimbus/beacon-node-prater-stable\n$ ls -l\ntotal 665\n-rwxr-xr-x 1 admin 197121 655872 Jul 16 14:37 beacon-node-prater-stable.exe*\n-rw-r--r-- 1 admin 197121   1358 Oct 26 09:02 beacon-node-prater-stable.yml\ndrwxr-xr-x 1 admin 197121      0 Oct 21 13:23 bin/\n-rwxr-xr-x 1 admin 197121   2639 Oct  7 07:51 build.sh*\ndrwxr-xr-x 1 admin 197121      0 Jul 16 14:49 data/\ndrwxr-xr-x 1 admin 197121      0 Oct 26 09:03 logs/\ndrwxr-xr-x 1 admin 197121      0 Oct 21 13:03 repo/\n-rwxr-xr-x 1 admin 197121    682 Oct  7 07:51 rpc.sh*\n\nadmin@windows-01 MINGW64 .../nimbus/beacon-node-prater-stable\n$ ./beacon-node-prater-stable.exe status\nStarted\n\nadmin@windows-01 MINGW64 .../nimbus/beacon-node-prater-stable\n$ ./beacon-node-prater-stable.exe restart\n2021-09-29 17:33:27,563 INFO  - Stopping service 'Beacon Node prater (stale) (beacon-node-prater-stable)'...\n2021-09-29 17:33:27,825 INFO  - Starting service 'Beacon Node prater (stale) (beacon-node-prater-stable)'...\n2021-09-29 17:33:28,366 INFO  - Service 'Beacon Node prater (stale) (beacon-node-prater-stable)' restarted successfully.\n```\n\n## Builds\n\nBuilds are performed via a Bash `build.sh` script located in the service directory.\n```\nadmin@windows-01 MINGW64 .../nimbus/beacon-node-prater-stable\n$ ./build.sh\n \u003e\u003e\u003e Fetching changes...\nHEAD is now at 9e8081e4 Merge branch 'stable' into unstable\n \u003e\u003e\u003e Binaries already built.\n \u003e\u003e\u003e No binaries required update.\n \u003e\u003e\u003e SUCCESS!\n```\nThe scheduled tasks that trigger node builds can be checked with `Get-ScheduledTask`:\n```log\nPS C:\\Users\\admin\u003e Get-ScheduledTask -TaskName 'build-beacon-node*' | ft State,TaskName,Description,Date\n\nState TaskName                          Description                                  Date\n----- --------                          -----------                                  ----\nReady build-beacon-node-prater-stable   Daily rebuild of Nimbus beacon node binaries 2021-09-29T13:00:00\nReady build-beacon-node-prater-testing  Daily rebuild of Nimbus beacon node binaries 2021-09-29T17:00:00\nReady build-beacon-node-prater-unstable Daily rebuild of Nimbus beacon node binaries 2021-09-29T15:00:00\n```\nThe task can be started using [`Start-ScheduledTask`](https://docs.microsoft.com/en-us/powershell/module/scheduledtasks/start-scheduledtask) and its logs can be looked up using [`Get-WinEvent`](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.diagnostics/get-winevent):\n```log\nPS C:\\Users\\nimbus\\beacon-node-prater-stable\u003e Get-WinEvent -LogName Microsoft-Windows-TaskScheduler/Operational | Select -First 30 | Where Message -Match '.*stable.*' | Select -First 4 | ft -Property TimeCreated,Message\n\nTimeCreated           Message\n-----------           -------\n10/26/2021 9:23:19 AM Task Scheduler successfully finished \"{d49d3613-f5bc-4714-a95b-e893e4419031}\" instance of the \"\\build-beacon-node-prater-stable\" task for user \"NT AUTHORITY\\SYSTEM\".\n10/26/2021 9:23:19 AM Task Scheduler successfully completed task \"\\build-beacon-node-prater-stable\" , instance \"{d49d3613-f5bc-4714-a95b-e893e4419031}\" , action \"C:\\ProgramData\\scoop\\apps\\git\\current\\bin\\bash.exe\" with return code 0.\n10/26/2021 9:23:18 AM Task Scheduler launched \"{d49d3613-f5bc-4714-a95b-e893e4419031}\"  instance of task \"\\build-beacon-node-prater-stable\"  for user \"System\" .\n10/26/2021 9:23:18 AM Task Scheduler launched action \"C:\\ProgramData\\scoop\\apps\\git\\current\\bin\\bash.exe\" in instance \"{d49d3613-f5bc-4714-a95b-e893e4419031}\" of task \"\\build-beacon-node-prater-stable\".\n```\n\nAnd the logs from the build script itself can be found in the `logs` directory:\n```\nadmin@windows-01 MINGW64 .../nimbus/beacon-node-prater-stable\n$ tail -n5 logs/build.log\n \u003e\u003e\u003e Fetching changes...\nHEAD is now at 9e8081e4 Merge branch 'stable' into unstable\n \u003e\u003e\u003e Binaries already built.\n \u003e\u003e\u003e No binaries required update.\n \u003e\u003e\u003e SUCCESS!\n```\n\n# Known Issues\n\n* The WinSW wrapper fails to grant `Log On As Service` right. ([winsw#840](https://github.com/winsw/winsw/issues/840))\n* The `--log-file` flag has no effect on windows. ([nimbus-eth2#2326](https://github.com/status-im/nimbus-eth2/issues/2326))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatus-im%2Finfra-role-beacon-node-windows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstatus-im%2Finfra-role-beacon-node-windows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatus-im%2Finfra-role-beacon-node-windows/lists"}