Web3j: the Java and Android integration library for Ethereum

Project Description:

Web3j is the Java and Android integration library for Ethereum.

It was initially released in 2016 and is still going strong 8 years later, having been downloaded millions of times, with usage growing every year (2023->2024 downloads increased over 50%).

It is FOSS in the truest sense of the word, and has been supported by Web3 Labs (founded by the libraries creator), and numerous grants over the years by organisations such as the Ethereum Foundation.

Many organisations depend on it from Freedom Factory who have integrated it into the EthereumOS for their upcoming dGen1 phone, to wallet providers on the Android platform such as Wallet Connect, to web3 service providers such as Alchemy, and enterprises like Fnality who are launching wholesale digital currencies.

As Web3j is completely free, open-source software and permissively licensed (Apache 2), no-one pays to use it, which means that it has relied heavily on grant funding throughout the years to sustain it.

At the start of 2024, Web3j became a project under Linux Foundation Decentralized Trust (LFDT — formerly Hyperledger Foundation). The project is still maintained by the Web3 Labs team, however, also now benefits from the accountability and visibility that comes with being a LFDT project (it’s similar to Apache Foundation projects in this respect).

Public Repository:

Budget Breakdown

We are proposing a budget of $100,000 USD to help sustain the Web3j team for the 12 months from the start of Jan 2025 until Jan 2026.

This grant helps us overcome funding challenges and continue to provide key pieces of technology for the Ethereum community.

Planned Work with the Grant

  1. Account Abstraction Support (EIP 4337): 2 x FT Dev for 2 months
    1. Implementing support for EIP 4337 to enable account abstraction, which simplifies user interactions with smart contracts.
  2. Prague Update Readiness: 2 x FT Dev for 2 months
    1. Preparing Web3j for the upcoming Prague update by implementing support for EIP 3074 and EIP 7702.
  3. Web3j 5.x Release: 2 x FT Dev for 4 months
    1. Refactoring codegen logic and gas providers.
    2. Integrating web3j-unit and web3j-evm as submodules.
    3. Increasing test coverage and removing deprecated code.
    4. Integrate Coverage tool with Web3j Github repos.
    5. Improve signing mechanism by upgrading security libraries.
  4. Fix Web3j-openAPI and web3j-cli support for windows: 1 x FT Dev for 1 months
    1. Currently Web3j open-API is broken- It simplify integration with API driven smart contracts for multiple target platforms.
    2. With the latest Windows 11 update, web3j-cli is not able to generate projects in the Windows environment.
  5. Web3j-unit and Web3j-evm updates: 2 x FT Dev for 2 months
    1. Increase integration test coverage.
    2. Migrate Web3j-evm to latest Besu versions.
  6. Latest Web3j Android Support: 2 x FT Dev for 1 month
    1. Ensuring Web3j is fully compatible with the latest Android versions and releasing updated libraries for Android developers.
  7. Project Maintenance: 2 x FT Dev for 12 month ongoing with other milestones
    1. Regularly addressing issues and bug fixes. Reduce Issues by 70%
    2. Conducting code refactoring for improved performance and readability.
    3. Updating dependencies and libraries to the latest versions.
    4. Fixing vulnerabilities to ensure the security of the library.

Impact Measurement and Reporting

Inputs > Activities > Outputs > Outcomes > Long Term Impact

Short-term Outcomes (0-3 months):

We anticipate Web3j Android support being fully up to date, and having fixed the outstanding Open API and CLI issues.

Mid-term Outcomes (3-6+ months):

We anticipate having performed the major Web3j v5 release, completed Prague update readiness and implemented account abstraction support.

Long-term Impact (5+ years):

Web3j has already had a significant long-term impact, being 8 years old. We intend it to continue on a similar path to it has been by ensuring the JVM community have leading development tools to work with Ethereum.

Outcomes Measurement:

Since Web3j is an open-source project, we define its impact in part using GitHub interactions and the number of users actively using the library.

Metrics we are tracking include:

  • GitHub Stars: Reflecting community interest and popularity.
  • Downloads on Maven: Indicating how widely the library is being used.
  • Number of Contributors: Highlighting the community’s engagement and participation.
  • Number of Forks: Measuring developer interest in extending or adapting the project.
  • Number of Releases to Date: Showing the project’s ongoing development and updates.

However, to complement this, we also host regular community calls and have just started hosting a bi-annual Web3j summit where we speak to users to understand how they’re using Web3j and its impact.

These metrics collectively provide a clear picture of the project’s adoption, community engagement, and overall success.

Interim Reporting

Regular Updates:

Detailed roadmap for the project -

The Web3 Labs team publishes blog articles with details of major updates to Web3j. These include details of how to work with this new functionaliity.

You can see previous work on the Web3 Labs Blog. Updates are typically published on a monthly basis.

We also maintain a roadmap for the project on the Web3j Wiki.

Milestone Verification:

Blog posts and new releases of Web3j can also be used to verify milestones.

We will also setup a Karma GAP project page for milestone verification.

Sustainability Plan

In addition to continue to seek funding via grant programs, we are also focussing on establishing dedicated GitHub sponsorship by users of Web3j. It is our hope that this will help address our ongoing funding, which currently requires approx $200k/year.

There are other initiatives being worked on by Conor Svensson, the libraries author, which will further help, but these are not yet public.

Case Studies and Testimonials

Gathering Feedback:

  • There is a monthly Web3j community which is used to discuss Web3j directly with community members.
  • We recently held the first Web3j Summit with users of Web3j which was an excellent opportunity to get feedback from users of the library. A recording of the session is available here.
  • The team actively monitors and responds to issues raised on GitHub and the Web3j Discord which are useful sources of ongoing success.

Showcasing Success:

  • The following Linux Foundation Decentralized Trust YouTube playlist curates more recent content created for Web3j, including community calls.
  • The following YouTube playlist provides some of the older content, pre-becoming a Linux Foundation Decentralized Trust project.

Advancing Values of Freedom and Privacy

As an open-source project under the Linux Foundation Decentralized Trust (formerly Hyperledger) and licensed under Apache 2.0, Web3j is freely available for public use, embodying the principles of a Public Good by fostering innovation and collaboration within the blockchain community.

Supporting Decentralization

As per the previous question, Web3j is FOSS. We continue to maintain and support Web3j because we believe its vital that developers working with one of the most widely used development platforms in the world has excellent support for Ethereum.

Team Information

Conor Svensson - Web3 Labs Founder and author of Web3j

Web3 Labs is a leading blockchain technology company specialising in decentralised infrastructure solutions. Web3 Labs are maintainers of Web3j and Hyperledger Besu, and are responsible for Chainlens, the fast and user-friendly blockchain explorer for EVM networks.

He wrote the book, the Blockchain Innovator’s Handbook.

Conor authored the Ethereum integration library Web3j back in 2016 as he believed it important that the Java and Android developer communities had an easy way to integrate with the Ethereum blockchain. It’s been downloaded over 6 million times since, contributed to by almost 200 people and is still going strong 8 years later.

Web3j Maintainers

George Tebrean - Senior Java Software Engineer with 7+ years of experience. Currently serving Blockchain Developer in Web3 Labs, a maintainer of Hyperledger Web3j, and active contributor to Hyperledger Besu.

Github - https://github.com/gtebrean

Nischal Sharma - Backend/Blockchain Engineer with 4 years of focused expertise in the Ethereum ecosystem. Currently serving as Blockchain Developer in Web3 Labs, a maintainer of Hyperledger Web3j, and active contributor to Hyperledger Besu.

Github - https://github.com/NickSneo

Social Proof

Web3j is used by many Android wallets and is also being utilized in the upcoming Ethereum Phones - Freedom Factory is incorporating Web3j into its ethOS4 - https://github.com/EthereumPhone

Major Projects and Companies using Web3j -

  • Alpha wallet
  • Linea
  • ENS
  • Alchemy
  • Hyperledger Besu
  • Web3-auth
  • Hedera
  • Celo
  • Wallet connect
  • Argent
  • Unstoppable Domains
  • Fnality
  • ZKsync

Transparency

Any funding received on-chain by Octant will be converted into fiat currency to pay the Web3j team.

Other funding

The project is primarily supported by Web3 Labs and has received various grants in the past. Recently, we secured a $100,000 grant from the Ethereum Foundation. This is 50% of the annual cost we have to maintain Web3j.

We also were a recipient of 19,785.18 OP tokens in OP RFPG Round 2 RetroPGF Hub

Total funding through grants: Approx $500k

1 Like