https://github.com/chainsafe/chainguardian
Eth2.0 desktop validator client
https://github.com/chainsafe/chainguardian
electron eth2 pos serenity validator
Last synced: 3 months ago
JSON representation
Eth2.0 desktop validator client
- Host: GitHub
- URL: https://github.com/chainsafe/chainguardian
- Owner: ChainSafe
- License: gpl-3.0
- Created: 2019-09-16T15:16:48.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-11T06:04:17.000Z (about 3 years ago)
- Last Synced: 2025-10-02T02:53:25.346Z (4 months ago)
- Topics: electron, eth2, pos, serenity, validator
- Language: TypeScript
- Homepage: https://chainguardian.nodefactory.io
- Size: 9.22 MB
- Stars: 44
- Watchers: 5
- Forks: 9
- Open Issues: 43
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# ChainGuardian
[](https://travis-ci.org/chainsafe/ChainGuardian)
[](https://codecov.io/gh/chainsafe/ChainGuardian)
[](https://discord.gg/7Kd4FZq)
[](./LICENSE)
Eth2.0 desktop validator client.
## Install
Clone the repository with Git:
```bash
git clone git@github.com:chainsafe/ChainGuardian.git
```
And then install the dependencies:
```bash
cd ChainGuardian
yarn install
```
## Usage
Both processes have to be started **simultaneously** in different console tabs:
```bash
yarn run start-renderer-dev
yarn run start-main-dev
```
This will start the application with hot-reload so you can instantly start developing your application.
You can also run do the following to start both in a single process:
```bash
yarn run start-dev
```
### UI development
For building components in isolation you can use [Storybook](https://storybook.js.org/).
Just run `yarn storybook`
Design is based on: https://www.figma.com/file/dt1Z45BJkDGOg63IdNYwbR
### Development
It's best to use local network. Local network is configured using `docker-compose` (currently available lighthouse-testnet.yml).
For the first time you need to run setup script (`setup.sh`) on path `./testnet/lighthouse`
then type `docker-compose -f lighthouse-testnet.yml up` in terminal,
you will get:
- 2 working lighthouse beacon nodes (port: 5052 and 6052)
- lighthouse validator with 15 dummy account
To start using local network just add beacon node with address `http://localhost:5052`.
You can use this account to validate using ChainGuardian (or create new via launchpad):
- private key: `0x51d0b65185db6989ab0b560d6deed19c7ead0e24b9b6372cbecb1f26bdfad000`
- public key: `0xb89bebc699769726a318c8e9971bd3171297c61aea4a6578a7a4f94b547dcba5bac16a89108b6b6a1fe3695d1a874a0b`
In case of longer break it is recommended to update genesis time before starting local tesnet with `reset_genesis_time.sh` script
## Packaging
We 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:
```bash
npm run dist
```
This will create a installer for your platform in the `releases` folder.
You 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):
```bash
npm run dist -- -mwl
```
## License
[GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html)
## Built with:
[](https://reactjs.org/)
[](https://webpack.js.org/)
[](https://www.typescriptlang.org/)
[](https://electronjs.org/)
[](https://redux.js.org/)
[](https://facebook.github.io/jest/)