Implementations of Proof of Concept Beacon Chains


#1

Hi Ethereum Researchers,

My colleagues and I have recently started a Javascript implementation of the beacon chain based on the Ethereum team’s Python implementation.

As a result, we want to share a list of implementations in different programming languages so that those interested can help in the implementation and ideation of a beacon chain and hopefully bring Casper+PoS+Sharding to Ethereum.

Here’s a list:
Javascript: https://github.com/ChainSafeSystems/lodestar_chain
Go: https://github.com/prysmaticlabs/beacon-chain
Rust: https://github.com/sigp/rust_beacon_chain
Python: https://github.com/ethereum/beacon_chain


#2

Thanks for your work!

Please feel free to keep in touch with our team (@JustinDrake @hwwang @liangcc…) to stay up to date on protocol directions.

Also, have you thought at all about what you want to use for the P2P layer?


#3

Hi @Mikerah,
Thanks for making the list and including our implementation (the Rust one)! I like the initiative to get those implementing the beacon_chain in contact. I’ve had some chats with the Prysmatic Labs team in their Gitter and they’ve been very obliging.

I’ve been doing the state transitions lately and I’ll be making some issues on the ethereum/beacon_chain repo and in the ethereum/sharding gitter. I hope to see you there!

In response to @vbuterin, we’ve been looking into pubsub/gossipsub after being pointed in that direction by @djrtwo and other posts here. I don’t know of a Rust implementation yet, though. Once we’re more across it we’ll evaluate the effort involved in implementing it. From the libp2p specs gossipsub page it looks like you’ll be in the same boat @Mikerah – no JS implementation listed yet :frowning:


#4

We are currently looking into what is currently “state-of-the-art” p2p libraries in Javascript.
So far, libp2p has a JS implementation and is the most developed. Pubsub/GossipSub are still very experimental at this time and are considering perhaps starting our experiemental implementation in Javascript.

We currently have a gitter room for this project: https://gitter.im/chainsafe/lodestar-chain