Describe your project and why you classify it as a Public Good
Web3.js is an open source JavaScript/TypeScript library designed to enable developers to engage with EVM-compatible blockchains and develop decentralized applications (DApps).
As a public good, this open-source library empowers developers to build tools and decentralized applications (dApps), thereby facilitating the creation of value on top of the Ethereum Virtual Machine (EVM) and EVM compatible blockchains. With between 1.5 to 1.8 million downloads per month, Web3.js stands as one of the most significant libraries within the Ethereum ecosystem.
The recent release of Web3.js version 4 introduces the inclusion of plugins. These allow for the extension of the web3.js library’s functionality, providing developers with enhanced capabilities, flexibility and an overall improvement in developer experience. A list of plugins can be found here: https://web3js.org/plugins
How much have you raised from each of your funding sources and from who?
ChainSafe has been operational since 2017 and has conducted several fundraising events since its inception. The company currently employs 130 people worldwide, resulting in significantly high operating costs. The most recent fundraising round, conducted in late 2022, raised $18.75 million USD. These funds are allocated across various verticals, including protocol development, developer tooling, product development, sales, communications, and marketing, among others. This capital is dedicated to general operating expenses, rather than the funding of public goods developed by ChainSafe, which are supported through grant funding. Recent grants for the development of web3.js version 4 include:
Period: January 2023 - March 2024
Optimism Retro PGF: 248,448.21 OP
Ethereum Foundation: $451,782 USD
It is important to note that, despite appearances, web3.js is not as well-funded as it may seem. ChainSafe has had to continually reassess the viability of ongoing development and maintenance of web3.js due to gradually decreasing support from the Ethereum Foundation. It has been made clear to us that as the EF continues to make every effort to decentralize itself, grant funding toward web3.js shall also decline. This has forced us to seek alternative funding sources in order to continue improving and maintaining the library. ChainSafe’s commercial goals for Web3.js do not include profit, rather, to cover the costs associated with maintaining it as well as remaining a compelling option in comparison to various other libraries that are available to developers.
All of the aforementioned funding has been allocated solely to employee salaries and overhead operating costs. It does not cover product management, product discovery, or any engineering work related to the architecture, planning, and the development of plugins.
For this grant application, ChainSafe seeks additional funding specifically for the portions currently subsidized by ChainSafe, as detailed below:
Product Discovery (web3.js plugins)
Engineering (web3.js plugins)
What milestones have you achieved?
- Released web3.js version 4 that included many major new features such as:
- Easy extensibility ( using web3.js Plugins feature )
- Dynamic Contract Typing
- Native typescript
- ESM CJS native builds
- 90%+ test coverage
- Custom data formatting feature
- Reduced package size
- New packages ( web3-types, web3-errors, web3-validator, web3-rpc-methods )
- Validation functionality using schema
- User friendly documentation ( API docs, Guides, Tutorials )
- Achieved Growth in the Plugins Ecosystem
- There are now 12+ Web3.js plugins supporting L1, L2 infrastructure, DApps and other EVM based chains as well (Chainlink, EIP4337, ZkSync, Optimism, Near Protocol, Aurora, SuperFluid, Swisstronik, complete list found here: https://web3js.org/plugins )
- Supporting New Developers
- Released video tutorials and an online course as well as various hackathons for plugins and workshops.
Share your project roadmap:
The roadmap of web3.js library includes attracting and facilitating new developers in the EVM based decentralized infrastructure space for building tools and apps, boosting community support and engagement, fostering the growth of the web3.js plugin ecosystem, enhancing contributors experience, and maintaining & extending the existing feature set of Web3.js. Each of these pillars is essential for the library’s continued evolution in enabling seamless decentralized application development and empowering a vibrant developer community.
Tell us more about milestones you’d like to achieve:
Enhancing Developer Onboarding and Engagement:
- Our objective is to make decentralized infrastructure more user-friendly. We plan to achieve this by integrating the Web3-Modal client and Wagmi adapters into Web3.js version 4. This integration will enhance the support for discovering multiple injected providers. Additionally, we aim to introduce an interactive Web3.js playground to effectively demonstrate code examples.
Strengthen Community Support:
- Enhance our documentation by adding more user guides and developing innovative methods for collecting user feedback. We plan to support new developers through community events and enhance our educational offerings with additional Web3.js video tutorials.
Expand the Web3.js Plugin Ecosystem:
- We are focused on growing the ecosystem around Web3.js plugins to enhance the library’s functionality and user experience.
Enhance Contributor Experience:
- Our milestones include creating comprehensive guides for contributors, assisting with ‘good first issues’ to encourage new contributors, streamlining the repository setup and testing procedures, and improving the efficiency of our community support channels on GitHub and Discord.
Continuous Improvement and Feature Expansion of Web3.js:
- We are committed to regularly addressing and resolving new issues and incorporating additional features as requested by the community to ensure Web3.js remains a leading library in the space.
Tell us more about your team:
There are currently 4 full time employees working at ChainSafe Systems dedicated to maintaining and improving the library consisting of four senior engineers. In addition to this, we have several employees working on Web3.js at roughly 0.5 FTE each, this includes 1 Product Manager, 1 Project Manager, 2 Senior Business Development Managers and 3 Marketing and Communications professionals.
Why’s your project important?
The web3.js library significantly influences developers engaged with EVM compatible blockchains. It boasts approximately 2 million downloads monthly on NPM and receives over 10 million hits per month from CDN. Furthermore, over 4,500 library projects rely on the web3.js library, underscoring its critical role and widespread adoption in the blockchain development community.
References:
Weekly Downloads: https://www.npmjs.com/package/web3
CDN Hits: web3 CDN by jsDelivr - A CDN for npm and GitHub
NPM Dependent Projects: web3 - npm
Team Social Accounts:
https://twitter.com/ChainSafeth
For any questions, please reach out to bryant@chainsafe.io