ChainSafe ETH2.0 Projects
There is a lot of work being done that are core infrastructural pieces for Eth2.0. Contributions to any of the below repositories would be greatly appreciated. All the libraries are written in TypeScript (or in the process of being converted from pure JS to TypeScript):
-- PM / Meta Repo
|-- Beacon Chain
|-- Validator Client
|-- Simple Serialize (SSZ)
|-- BLS Singatures and Signature Aggregation
The goal of this repository is to provide an implementation of the beacon chain. As even the Ethereum Core dev team don't know how the finalized beacon chain will be implemented, this is our contribution to the effort to transitioning Ethereum from a PoW blockchain to a PoS blockchain.
What you need
You will need to go over the specification. You will also need to have a basic understanding of sharding. Note that that the specification is an ongoing document and will get outdated. The reference implementation by the Ethereum development team is written in Python and can be found here.
- If you haven't
Starting private eth1 chain
./bin/lodestar eth1:dev -m "vast thought differ pull jewel broom cook wrist tribe word before omit"
This will start ganache server on
http://127.0.0.1:8545. For more configuration check
./bin/lodestar eth1:dev --help
Starting lodestar beacon chain
./bin/lodestar beacon --db test-db --eth1RpcUrl http://127.0.0.1:8545 --depositContract <depositContractAddress>
You will see deposit contract address in console if you used
Making validator deposit
./bin/lodestar deposit -m "vast thought differ pull jewel broom cook wrist tribe word before omit" -n http://127.0.0.1:8545 -c <depositContractAddress>>
This will trigger 10 deposits to deposit contract which will trigger beacon chain initialization. Make sure to use same mnemonic which you used to start eth1 network.
If you would like to contribute, please submit an issue or talk to us on our gitter.
We are a local group of Toronto open source developers. As such, all of our open source work is funded by grants. We all take the time out of our hectic lives to contribute to the Ethereum ecosystem. If you want to donate, you can send us ETH at the following address: 0xBceDE714283f348EBB3e5cBaF8A947Cab3C8bE8d