Lodestar: Roadmap Updates

Lodestar: Roadmap Updates

Authored by Gregory
Written by Gregory Markou, edited by Colin Schwarz and Charles St.Louis

Photo by Greg Rakozy on Unsplash

"A star that is used to guide the course of a ship..."

About a month ago, the Lodestar team articulated our plan to focus on building an in-browser ETH2.0 client as well as a light client. Our main focus is the integration of developer tools.

Since then we have made a few decisions regarding how best we think we can add value to the Ethereum ecosystem. A few members of our team spent the weekend at ETHNY (we also brought home some hardware check it out) and had some very engaging conversations with different teams and researchers about our previous article, which will be the focus of the remaining part of this article.

First and foremost, our vision has not changed, once our testnet stabilizes, we will be focusing on enabling light client support out of the gate in the browser. This is why we have decided to begin performing experiments with AssemblyScript on SSZ-JS with the goal to eventually migrate components of lodestar from TypeScript to AssemblyScript (here are some compelling stats).

Thankfully, this won't be a total re-write, aside from memory management. This is due to the "AssemblyScript compiles a strictly-typed subset of TypeScript (a typed superset of JavaScript) to WebAssembly ahead of time" (AssemblyScript Wiki). We are doing this with a twofold mission:

  1. Create native components that need to be optimized (libp2p, ssz, bls, state transitions, shuffling, etc...).

  2. In-browser WASM client, written in a language thats accessible by the largest set of users.

Currently, we are in the exploration phase of discovering which components are most feasible to migrate. We will be providing frequent updates along the way, namely JS-SHA256 may need to be reimplemented for SSZ-JS to be fully compatible with AssemblyScript.

We are also extremely excited to announce that Lodestar will be collaborating with the Yeeth team! We appreciate the help from Eric Tu and Dean Eigenmann, to build stable components in AssemblyScript for a more efficient browser experience. Together we plan to create the base AssemblyScript layer that could be imported into a future swift project. While concurrently building out LibP2P in swift, and further optimizing Lodestar and ETH2.0 developer tooling to make it usable in an IOS environment.

The goal of this collaboration is to help expedite the Lodestar client and bring more tooling to the ETH2.0 ecosystem. By doing so, we will be able to use it in the web browser and on mobile alike. Through this collaboration we will additionally help push forward Yeeth, with the use of AssemblyScript modules.