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:

Create native components that need to be optimized (libp2p, ssz, bls, state transitions, shuffling, etc…). 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.