Funding for Web3.js v4 Plugins - A Goal to Simplify & Further Enable Developers

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 )
  1. 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 )
  1. 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

1 Like

Hey Octant community,

We wanted to say a heartfelt thanks to everyone who voted and nominated the web3js library for the allocation round! This support makes a real difference as we continue working to enhance web3js.

We (ChainSafe) recently marked four years as lead maintainers of web3js. Following the launch of v4 last year, we’ve ramped up efforts to extend usability via plugins and enhance devx with more resources and community engagement initiatives.

Below is a quick update on these efforts, including what’s next on our roadmap!

Developer Resources :hammer_and_wrench:

We created an intro guide for beginners. This playlist of short videos is designed to help newcomers kickstart their journey into web3 development.

We created a comprehensive course for more seasoned developers. This end-to-end guide covers all the core methods of using and interacting with web3js.

We’ve also authored a few corresponding blog posts, with more in the works!

Community Engagement :people_hugging:

Push / LW3 Hackathon

We have an ongoing incentive campaign running with Learn Web3 DAO and Push Protocol to encourage further development of web3js plugins. Details can be found here.

We’ve been on the road quite a bit in recent months. Some notable past and upcoming events include:

  • Eth Denver - talk
  • Eth Oxford - workshop
  • Eth Bucharest - talk
  • Eth Zurich - workshop
  • Eth Tallinn - workshop

We participated in Twitter spaces alongside Fleek on the scalability of developer communities (recording here). We will also be part of an upcoming intro to blockchain development session alongside Fleek and MEMOI.

Q2 plans and beyond :motorway:

Our roadmap focuses on several key areas: attracting and supporting new developers, boosting community engagement, growing the plugin ecosystem, enhancing the contributor experience, and expanding features.

These pillars drive the library’s evolution, enabling smoother decentralized app development and fostering a dynamic developer community.

In service of these goals, some of our near-term targets include:

  • Adding a Web3Modal client for web3.js to focus on attracting new developers
  • Expanding our documentation with five guides to support our community
  • Creating 15 hours of tutorial videos to help new web3 developers learn web3.js
  • Delivering three common-good plugins
  • Improving the plugin listing process
  • Working with partners in creating useful plugins
  • Reducing repository setup & testing duration by at least 50%

Funding

It’s important to note that web3.js is not as well-funded as it may seem. ChainSafe has had to continually reassess the viability of its ongoing development and maintenance due to gradually decreasing support from the Ethereum Foundation.

It has been made clear that as the EF continues to make every effort to decentralize itself, grant funding toward web3.js will also decline. This has forced us to seek alternative funding sources in order to continue working on the library.

ChainSafe’s commercial goals for web3js do not include profit but rather covering the costs associated with maintaining it and ensuring it’s a lasting source of value for the broader community.

Learn more about web3js

Thanks for supporting open-source developer tools!

1 Like