{"id":31924011,"url":"https://github.com/chainsafe/chainguardian","last_synced_at":"2025-10-13T23:59:50.239Z","repository":{"id":37202720,"uuid":"208831593","full_name":"ChainSafe/ChainGuardian","owner":"ChainSafe","description":"Eth2.0 desktop validator client","archived":false,"fork":false,"pushed_at":"2022-12-11T06:04:17.000Z","size":9670,"stargazers_count":44,"open_issues_count":43,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-10-02T02:53:25.346Z","etag":null,"topics":["electron","eth2","pos","serenity","validator"],"latest_commit_sha":null,"homepage":"https://chainguardian.nodefactory.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChainSafe.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":".github/CODEOWNERS","security":null,"support":null}},"created_at":"2019-09-16T15:16:48.000Z","updated_at":"2025-09-29T18:47:25.000Z","dependencies_parsed_at":"2023-01-26T16:46:30.012Z","dependency_job_id":null,"html_url":"https://github.com/ChainSafe/ChainGuardian","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/ChainSafe/ChainGuardian","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChainSafe%2FChainGuardian","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChainSafe%2FChainGuardian/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChainSafe%2FChainGuardian/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChainSafe%2FChainGuardian/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChainSafe","download_url":"https://codeload.github.com/ChainSafe/ChainGuardian/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChainSafe%2FChainGuardian/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017175,"owners_count":26086019,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["electron","eth2","pos","serenity","validator"],"created_at":"2025-10-13T23:59:09.601Z","updated_at":"2025-10-13T23:59:50.230Z","avatar_url":"https://github.com/ChainSafe.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ChainGuardian\n\n[![Build Status](https://travis-ci.org/chainsafe/ChainGuardian.svg?branch=master)](https://travis-ci.org/chainsafe/ChainGuardian)\n[![codecov](https://codecov.io/gh/chainsafe/ChainGuardian/branch/master/graph/badge.svg)](https://codecov.io/gh/chainsafe/ChainGuardian)\n[![Discord](https://img.shields.io/discord/608204864593461248?color=blue\u0026label=Discord\u0026logo=discord)](https://discord.gg/7Kd4FZq)\n[![GitHub](https://img.shields.io/github/license/chainsafe/ChainGuardian)](./LICENSE)\n\nEth2.0 desktop validator client.\n\n## Install\nClone the repository with Git:\n\n```bash\ngit clone git@github.com:chainsafe/ChainGuardian.git\n```\n\nAnd then install the dependencies:\n\n```bash\ncd ChainGuardian\nyarn install\n```\n\n## Usage\nBoth processes have to be started **simultaneously** in different console tabs:\n\n```bash\nyarn run start-renderer-dev\nyarn run start-main-dev\n```\n\nThis will start the application with hot-reload so you can instantly start developing your application.\n\nYou can also run do the following to start both in a single process:\n\n```bash\nyarn run start-dev\n```\n\n### UI development\nFor building components in isolation you can use [Storybook](https://storybook.js.org/).\n\nJust run `yarn storybook` \n\nDesign is based on: https://www.figma.com/file/dt1Z45BJkDGOg63IdNYwbR\n\n### Development\n\nIt's best to use local network. Local network is configured using `docker-compose` (currently available lighthouse-testnet.yml).\nFor the first time you need to run setup script (`setup.sh`) on path `./testnet/lighthouse`\nthen type `docker-compose -f lighthouse-testnet.yml up` in terminal,  \nyou will get:\n- 2 working lighthouse beacon nodes (port: 5052 and 6052)\n- lighthouse validator with 15 dummy account\n\nTo start using local network just add beacon node with address `http://localhost:5052`.  \nYou can use this account to validate using ChainGuardian (or create new via launchpad):\n- private key: `0x51d0b65185db6989ab0b560d6deed19c7ead0e24b9b6372cbecb1f26bdfad000`\n- public key: `0xb89bebc699769726a318c8e9971bd3171297c61aea4a6578a7a4f94b547dcba5bac16a89108b6b6a1fe3695d1a874a0b`  \n\nIn case of longer break it is recommended to update genesis time before starting local tesnet with `reset_genesis_time.sh` script\n\n\n## Packaging\nWe use [Electron builder](https://www.electron.build/) to build and package the application. By default you can run the following to package for your current platform:\n\n```bash\nnpm run dist\n```\n\nThis will create a installer for your platform in the `releases` folder.\n\nYou can make builds for specific platforms (or multiple platforms) by using the options found [here](https://www.electron.build/cli). E.g. building for all platforms (Windows, Mac, Linux):\n\n```bash\nnpm run dist -- -mwl\n```\n\n## License\n[GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html)\n\n## Built with:\n\n[![React](docs/img/react.png)](https://reactjs.org/)\n[![Webpack](docs/img/webpack.png)](https://webpack.js.org/)\n[![TypeScript](docs/img/ts.png)](https://www.typescriptlang.org/)\n[![Electron](docs/img/electron.png)](https://electronjs.org/)\n[![Redux](docs/img/redux.png)](https://redux.js.org/)\n[![Jest](docs/img/jest.png)](https://facebook.github.io/jest/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchainsafe%2Fchainguardian","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchainsafe%2Fchainguardian","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchainsafe%2Fchainguardian/lists"}