The Last few months have been particularly hectic for Ethereum javascripters. IPFS was the focus of a large hackathon. This piece of writing by Dan Finlay is very insightful. Here.
Aaron Davis (Kumavis) also did a fantastic job of progressing the development of a lightweight JS client using IPFS libp2p to create a mesh network in the browser and IPLD to provide the merklization layers. This is key to the continuous development of browser clients. Additionally, casey detrilo has created a json-rpc standard testing suite. Here.
After the Seattle gathering, Axio and Homeless worked on a hackathon for a week in Budapest. Please read up on ewasm. In the JS world, Fabian with support from Nick Dodson has been making major changes to b3.js in order to get it ready for version 1.0. This article explains the various projects that technology can offer and describes each project. All these projects are open source so the community can get involved. Feel free to check it out and send us a PR if you can.
EWASM
EWASM’s main goal is to replace the existing EVMs with new ones. This can be achieved by creating a client that can be transcompiled to WebAssembly. An important part of this is the creation of a testnet. This year, the Ewasm team plans to make the testnet a reality. The test network
- Ewasm offers a much more accessible platform for practical work.
- Casper provides a great platform for experimentation on various topics.
In a nutshell, the main tasks of ewasm include:
- Creating an ewasm testnet
- Constructing a reusable “core” module
- Renovating ethereumjs-vm
- Sending messages using ewasmKernel
- Executing the most recent EIPs
- Ewasm integration tools
- Solidity-ewasm integration (to be discussed in the next solidity hackathon!)
To help out with the implementation, there are biweekly meetings on Tuesdays. If you’re interested, you can join the conversation on Matrix at cousin: matrix.org (or #ewasm, if you use IRC/on gitter)
Networks
To get a better understanding of blockchain and its onchain state, networks can be used to create an efficient and light-weight system. Ethereum JS nodes can be run in a browser as well as in a node.js environment. The browser must meet the requirements of a thin client and use “bridge” nodes for various functions. Webrtc clients also use this network to relay messages between RLPx and the webrtc networks. The renewal of the implementation was done by Fanatic. Here.
IPLD
IPFS/IPLD is a generic system for describing and distributing hash-bound data. This can be used to describe Ethereum as an application layer on top of the hash bound data platform. As a proof of concept, Kumavis implemented IPLD resolvers for Ethereum data formats that indicate the location of hash-links within a data collection, like Ethereum’s canonical formats (for instance, block and state trie node). This feature can be combined with other generic features (such as the IPFS generic-P2P networking stack
The Ethereum Foundation has recently released updates for the Ethereum JS ecosystem. This includes the launch of Web3.js 1.0, the latest version of ethjs, and version 4.0.0 of TestRPC. The community is highly active and welcomes everyone to join their weekly meetings and upcoming hackathon.
APPENDIX [Mar. 22, 2017]: Please Please be aware that not all the projects are directly sponsored by the Ethereum Foundation. They are important for the overall development of the Ethereum JS ecosystem. By Author