Hyperledger Web3j Annual Report 2023-24
Over the past year, Web3j has continued its journey of growth and evolution. This report highlights our major updates, project statistics, new features, and community work. Our goal is to provide a comprehensive overview of the strides we’ve made, the challenges we’ve overcome, and the exciting future ahead.
Major Web3j Announcement
Web3j: Now a Hyperledger Project
The start of 2024 marked a significant milestone with Web3j becoming a Hyperledger Foundation project. This transition marks a significant milestone, enabling us to leverage the Hyperledger Foundation’s capabilities in governing and promoting open source software. This strategic move also underscores Web3 Labs' commitment to advancing the development and adoption of Hyperledger Besu, the only Ethereum client designed for both mainnet and private network use cases.
Project Statistics
As an Open Source project, community engagement is our lifeblood. Here are some key statistics that reflect our progress and community involvement over the past year:
- Contributions (total PRs merged): 80+
- Releases: 9 (v4.10.2 -> v4.12.0) including 3 major releases
- GitHub Stars: 5k (Up from 4.7k)
- Forks: 1.7k (Up from 1.6k)
- Issues: 133
- New Contributors: 19 with a total of 197 Unique Contributors
- Downloads: 5 Million (1.6M in last year, a 47% increase)
Web3j Github Star History to date
Web3j monthly downloads 2016 - 2024
Important Updates
Repository Migration
With Web3j becoming a Hyperledger project, the GitHub repository was migrated from the Web3 Labs to Hyperledger organisation. This move is a part of our inclusion in the Hyperledger family and to align with Hyperledger project standards and enhance our development processes.
- New Web3j Github under Hyperledger
- Migrated Repos: Web3j, web3j-evm, web3j-unit, web3j-gradle-plugin, web3j-maven-plugin, web3j-cli, web3j-sokt, web3j-solidity-gradle-plugin, web3j-installer, web3j-docs
Archived Projects
To streamline our efforts and focus on core components, we have archived several legacy Web3j projects. This decision helps us allocate resources more effectively and improve the quality of our primary offerings.
List of all the archived Projects.
Community Calls
To foster stronger community engagement, we have initiated fortnightly community calls. These sessions provide a platform for developers and users to share insights, ask questions, and collaborate on solutions.
Subscribe to our Web3j Calendar today and don’t miss out on any contributor calls in the future.
New Features
Comprehensive EIP Support
- EIP 4844 Support: We have integrated support for EIP 4844 and became the first web3 library to do so. This integration enables functionalities, including sending blob transactions, obtaining blob transaction fees, and other KZG commitment methods.
- EIP1559 Private Transactions: Support for private transactions under EIP1559 has been added, providing more flexibility and security for transaction handling.
- EIP-2930: Added support for optional access lists, enhancing transaction capabilities.
- EIP- 4895: Support validator withdrawals from the beacon chain to the EVM via a new "system-level" operation type.
Build and Dependency Updates
- Gradle 8.7 Upgrade: Our build process has been enhanced with the latest Gradle 8.7 upgrade, improving efficiency and compatibility.
- Dependency Updates: All dependencies have been updated to their latest versions, addressing vulnerabilities and enhancing overall project security.
Language and Platform Enhancements
- Kotlin Version Update: The project now utilizes the latest Kotlin 1.9.10 version, ensuring modern and efficient coding practices.
- Web3j-Android Hotfix: A hotfix has been implemented for Web3j-Android, ensuring compatibility with the latest Android versions.
- CI/CD and Release Process: Simplified and fixed the release process of Web3j after migrating to the Hyperledger GitHub organization.
Additional Features and Improvements
- JWK Support: We have introduced support for JSON Web Keys (JWK), a significant step towards enhancing privacy and security in digital interactions.
- Bug Fixes and Improvements: Continuous improvements and bug resolutions have been a priority, ensuring a stable and reliable experience for our users.
- Account Abstraction Research: We are actively researching account abstraction support in Web3j, aiming to enhance the flexibility and functionality of our library.
- Integration Tests for Besu Private Transactions: Our testing framework has been enhanced to support integration tests for Besu private transactions, ensuring robustness and reliability.
- ENSIP-15 Normalization: We have implemented normalization as per ENSIP-15, improving compatibility and functionality.
- Web3j-CLI and Web3j-Solidity-Gradle: The Web3j-CLI now includes an ERC721 template creation feature. Additionally, Web3j-Solidity-Gradle supports different source set compilation with various Solidity versions, enhancing development flexibility.
- Web3j-Sokt: We have updated Web3j-Sokt to support the latest Solidity and EVM versions. Web3j-Sockt is responsible for bundling the Solidity compiler with Web3j projects, which enables developers to not have to manage Solidity installations themselves!
Mentorship and Community Engagement
Current Mentorship Projects
- Web3j Android: We have started enhancing the Android integration with Web3j, focusing on improving Android support within the Web3j ecosystem, ensuring compatibility and enhancing user experience.
- Project Link and Road Map
Results of Previous Mentorship Projects
- Performance Analysis of Besu: Our previous mentorship project focused on the performance analysis of Besu using Web3j. This project provided valuable insights and benchmarks, contributing to the optimization of Besu.
Community Activities
- Web3j Introduction: We have organized introductory sessions to onboard new developers and users, expanding our community and knowledge base.
- Workshops and Hyperledger Summits: We conducted several workshops and participated in the Hyperledger Besu Financial Workshop in New York and Summit in Tokyo, showcasing our developments and engaging with the broader blockchain community.
- Blog Posts: Educational blog posts have been published to help users understand and utilize Web3j effectively. These posts cover a range of topics, from basic introductions to advanced usage scenarios.
- Learn more about our transition to Hyperledger
- Read about our EIP-4844 integration
- Discover our DID implementation
- Backup and Restore Private Blockchain
- New Compilation Options
- Upgradable Smart Contracts
- Optimizing Gas in Solidity
- Understanding Verkle Trees
Conclusion
The past year has been transformative for Web3j, marked by significant updates, new features, and a growing community. We are excited about the future and remain committed to providing robust and innovative blockchain solutions. To see what we have planned for the future, keep an eye out for our 2024-2025 roadmap, which will be published very soon.