yeeth updates #2

BeaconChain, BLS & Libp2p

Dean Eigenmann
yeeth
2 min readMar 14, 2019

--

Since our updates roughly one month ago we’ve continued active development on our ETH 2.0 implementation. We’ve made significant progress implementing both the BeaconChain as well as active development of various technology surrounding it.

Contributions to the BeaconChain spec

We were again able to contribute to the BeaconChain spec by simplifying the is_power_of_two function.

The code not only reduces the complexity of the previous implementation but is also more efficient, as was discovered in trinity.

BeaconChain Updates

Our BeaconChain went through various updates over the past month, not only did we implement the spec version 0.4.0, but we also started working on cleaning up the code base so it is no longer a one-to-one copy of the specification. This means beginning to “swiftify” the code and unpacking logic into multiple classes rather than one monolithic file. These updates are not done and will be completed step by step while we still focus on being up to date with the latest spec version.

BLS

After experiencing issues compiling the BLS libraries so we could use them in Swift, Eric Tu found a method on how to get it working. He is currently working on a branch, which has not been merged yet due to minor issues related to keys.

Libp2p

In order to get started on the next stage of our BeaconChain implementation we require libp2p, although we could use one of the other implementations we decided we wanted a full swift implementation. We began implementing using the JavaScript code as a reference and focusing on first creating stubs so that we have our interfaces ready. Libp2p has several dependencies like Multihash, Base58 etc. which we are also working on implementing in swift.

To stay up to date:

--

--