Skip to content
🌟 Ethereum 2.0: TypeScript Implementation of the Beacon Chain
Branch: master
Clone or download
Latest commit 9142619 Apr 21, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE
bin add sourcemap when building Apr 17, 2019
docker swictth npm to yarn Apr 9, 2019
src Merge pull request #165 from ChainSafe/cayman/lmd-ghost Apr 21, 2019
test
.babel-register Remove deposit contract Mar 18, 2019
.babelrc Remove deposit contract Mar 18, 2019
.codecov.yml
.dockerignore swictth npm to yarn Apr 9, 2019
.eslintrc Add semicolon and linter rule Apr 16, 2019
.gitignore Merge branch 'master' into cayman/lmd-ghost Apr 18, 2019
.travis.yml switch ci to yarn Apr 9, 2019
CONTRIBUTING.md fix typo Apr 9, 2019
LICENSE Update LICENSE Sep 4, 2018
README.md Merge branch 'master' into greg/validator/finish Apr 18, 2019
nyc.json Remove deposit contract Mar 18, 2019
package.json Merge branch 'master' into greg/validator/finish Apr 18, 2019
tsconfig.json Add stateful dag lmd ghost impl Apr 16, 2019
yarn.lock

README.md

ChainSafe ETH2.0 Projects

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 Singatures and Signature Aggregation
|-- Hobbits
|-- Gossipsub

codecov Maintainability ETH2.0_Spec_Version 0.3.0

Overview

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.

Run

  1. yarn install
  2. yarn test

Usage

  1. If you haven't yarn install
  2. yarn build
  3. ./bin/lodestar --help

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 ./bin/lodestar eth1:dev.

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.

Contributors

If you would like to contribute, please submit an issue or talk to us on our gitter.

Donations

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

You can’t perform that action at this time.