Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

eth2 dev chain blog #2

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

Conversation

mpetrunic
Copy link
Member

No description provided.

@morrigan
Copy link
Member

Update sitemap too

- dev
- lighthouse
- chainguardian
description: Learn how to setup eth2 development chain using lighthouse client.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Keeping it short (because of truncate on web, google etc.): How to setup Eth2 development chain using Lighthouse client


### Why would I setup private eth2 chain?

If you had any experience with development on eth1, you probably already know answer to this question so
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this case this might not be needed as it is really short paragraph and good to read anyway. Can be a bit on the offensive side too.

You can start with something like: "In case you have experience with development on eth1, you may be familiar with the problem of fast testing and using private networks as a solution." That way you say immediately what's this section about and people can choose to skip or not.

couple of hours to become active validator. Imagine, waiting couple of hours just to find out your app has bug
with validator related operation and now you have to do everything all over.

Our motivation for this setup was [ChainGuardian](https://github.com/nodefactoryio/chainguardian), a desktop validator
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it a validator client really or more of desktop app for validators or something like that?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From my experience, if I say or write any else then "desktop validator client" people have no idea what I'm talking about. And it is, as a matter of fact, our core functionality

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

idk, I was referring that technically client is something like lodestar, lighthouse etc.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

those are beacon nodes. They do have validators but they are cli tools

Our motivation for this setup was [ChainGuardian](https://github.com/nodefactoryio/chainguardian), a desktop validator
client. Since we need to test whole onboarding process together with validation itself, dev chain is a must have.

### Choosing client
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

eth2 client*


### Choosing client

As you might already know, there is [quite a few teams](https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth2.0-teams/teams-building-eth2.0/)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

link on [teams developing eth2 clients]

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

huh?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there are quite a few teams developing eth2 clients


There is couple of ways to start eth2 chain:

- start from genesis state (we prefer this one as it requires less configuration modification)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. (numbering)


- start from genesis state (we prefer this one as it requires less configuration modification)
- we generate genesis state and provide it to beacon node
- wait for genesis to start
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

- genesis.json - genesis file containing params of our POA chain
- passwd.txt - some file containing some dummy password for geth to encrypt our account

You can read more about setting up POA chain and generating genesis file [here](https://hackernoon.com/setup-your-own-private-proof-of-authority-ethereum-network-with-geth-9a0a3750cda8)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that linking here is not considered good SEO practice. so maybe this would be:

If you want to learn more about custom POA chain and generating genesis file, you can go through tutorial on how to [setup your own private POA network with geth](https://hackernoon.com/setup-your-own-private-proof-of-authority-ethereum-network-with-geth-9a0a3750cda8)

### Step 2: Deploy deposit contract

Eth2 chain will monitor deposit contract for new deposits and use deposit data to activate validator.
You can download deposit contract artifact for spec version 0.10.1 [here](https://raw.githubusercontent.com/ethereum/eth2.0-specs/v0.10.1/deposit_contract/contracts/validator_registration.json).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also here

If you had any experience with development on eth1, you probably already know answer to this question so
feel free to skip ahead.

At the moment, eth2 has a bunch short lived single client testnets and [one long lived](https://prylabs.net/) with
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are linking Prysmatic 2x times and this is kinda hidden linking :D
Rephrase so you only link once the name i.e. At the moment, eth2 has a bunch of short lived single client testnets and one long lived which is Prysmatic's Sapphire Testnet](https://prylabs.net/). However, real stable client testnet is yet to come.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants