Note:
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 Signatures and Signature Aggregation
|-- Hobbits
|-- Gossipsub
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.
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.
yarn install
yarn test
- If you haven't
yarn install
yarn build
./bin/lodestar --help
./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
./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 ./bin/lodestar eth1:dev
.
./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