Authored by Colin Schwarz
This article was co-authored by Ben Hyman.
ChainSafe is proud to announce that we have received a grant from the Ethereum Foundation to continue the maintenance and further development of Web3JS. We are excited to consolidate, maintain and upgrade, the codebase of this important library. Throughout the project we will maintain an open dialogue with the community. We want to organize and effectively manage the library with all the community input that we can get.
Web3JS is one of the most downloaded JS libraries in the blockchain space. With thousands of users depending on the library, ChainSafe is excited to build on top of the incredible traction and legacy of Web3JS. We believe Web3JS can be an extensible foundation for users to interact with all the Ethereum APIs: eth1, eth2, and beyond. The core tenets of our work on Web3JS will be modernization, modularity and the ability to easily adapt just as the greater Ethereum ecosystem does. As eth2 phases are released, developer needs will also change. A shard may require a custom API, signing, serialization, hashing and more. Bringing modularity as a core tenet of Web3JS will be extremely valuable as Ethereum evolves into the future.
Our overhaul of Web3JS will:
Modernize the JS as a preliminary step to make the transition to TypeScript easier and more efficient.
Maintain 1.x and begin the migration to TypeScript. The eventual goal is to have the entire library in TypeScript.
Salvage as much as possible from the 2.x branch to support a modular, unified version of the library.
Add a wide array of features to support eth2 including a Beacon Chain API as a module and the ability to attach serialization libraries and crypto libraries through the modular framework.
Co-founder and CTO of ChainSafe, Greg Markou, is excited by the chance to work on such a widely used library and for ChainSafe to be able to have a broad and positive impact on the Ethereum ecosystem:
In addition to the grant itself, ChainSafe is excited to announce that we have just cut our first release of Web3JS: 1.3.0-rc.0. One of the biggest additions we made was adding support for typescript files (.ts) to be written alongside regular (.js) files. For a full list of what is included in this release, see here.
ChainSafe looks forward to diving further into this work and working within the community to improve and expand Web3JS. Many thanks to the Ethereum Foundation for their continued confidence and support!