metadata: {"signature": "0x2dc856f0fdadc296a8046b1fbaeff44c71d19f5d86ad7fe8fee024c90a6eea404a1ee7831774a1c2435486e26667d7fc6a398af5612b8db2759af345afbf2af71c", "application": {"round": "0xd2d99614321becd7cd0636715bbb4c94968e6271", "answers": [{"type": "email", "hidden": true, "question": "Email Address", "questionId": 0, "encryptedAnswer": {"ciphertext": "D20hFyKKS7ScCPZBpErxdzoXHC2uB3iDrqYzDgWLQmnLEOFqkSy6QmJPsVOnonx6", "encryptedSymmetricKey": "282a55dd633936ec0e464c85db58d4d28e702b86c6e2f55ce95a2cf41f70f4bde0cad2d850a9280e1986fde91b8364029bb92a26d2a68bdcbbab167f9b195e81c61d9967aceb6eac6d75a58957fad6e8ed2533d8f21ab51b3ce31e8cefa23eadf95a84ae22efbffcd1f8c2f271c268822e5a01d84b2db205c26b74c0192441440000000000000020904db925099c1d1dfeb7fc62bc0461142067656c9adc0b0f64009e012dcda65482dba6250d1e339cf43a6099bba04690"}}, {"type": "short-answer", "answer": "conor10", "hidden": true, "question": "Telegram Handle", "questionId": 1}, {"type": "short-answer", "answer": "https://github.com/hyperledger/web3j", "hidden": true, "question": "Project GitHub Repo", "questionId": 2}, {"type": "short-answer", "answer": "https://discord.com/channels/905194001349627914/1195062053682032700", "hidden": true, "question": "Link to your Public Group Chat", "questionId": 3}, {"type": "short-answer", "answer": "GG20 OSS Rounds", "hidden": true, "question": "Have you participated in a previous Gitcoin Grants Round? If so, please name the rounds or link the builder profile associated with previous rounds.", "questionId": 4}, {"type": "paragraph", "answer": "Web3j is a highly modular, reactive, type safe Java and Android library for working with smart contracts and integrating with clients (nodes) on the Ethereum network. This allows you to work with the Ethereum blockchain, without the additional overhead of having to write your own integration code for the platform.\nWeb3j provides the following capabilities:\n- Complete implementation of Ethereum's JSON-RPC client API over HTTP and IPC\n- Auto-generation of Java smart contract wrappers to create, deploy, transact with and call smart contracts from native Java code\n- Type safe mappings from native EVM types to JVM and OpenAPI\n- Robust testing capabilities \u2014 embedded production -EVM and flexible integration testing capabilities via containers\n- Transaction: Supports EIP 155, EIP 1559, EIP 2930, EIP 4844 \n- Supports all EVM based blockchains and Appchains like Polygon, Linea, Optimism, Base.\n- Node API support including Geth and Besu specific API and privacy support (sole implementation of this)\n- Support for HSM (Hardware Security Modules)\n- Full Android compatibility\n- Solidity compiler installation and management integrated with build tools\n- Ethereum Name Service (ENS) support\n- Command line Interface - \n  - New project creation - Basic Boilerplate Web3j project, ERC20, ERC721\n  - Project creation from existing Solidity code\n  - Smart Contract compilation\n  - Wallet creation and password management\n", "hidden": true, "question": "Provide a brief overview of your tool, library, or framework. What specific problem or inefficiency in the development process does it address?", "questionId": 5}, {"type": "paragraph", "answer": "Reducing Development Barriers: Web3j lowers entry barriers for Ethereum development by offering a native Java and Android library. This enables Java and Kotlin developers to build blockchain applications without learning new languages like JavaScript or Python. By abstracting the complexities of interacting with Ethereum nodes and providing utility functions, developers can focus on the unique features of their applications.\n\nImproving Efficiency: The library enhances efficiency through features like auto-generated Java smart contract wrappers and robust testing capabilities, including an embedded Ethereum Virtual Machine (EVM) for thorough testing. Web3j supports various Ethereum Improvement Proposals (EIPs) and multiple networks like Polygon and Optimism, allowing developers to build versatile applications compatible across different platforms.\n\nEnhancing Security: Web3j enhances security by integrating with Hardware Security Modules (HSMs) for secure transaction handling and safeguarding private keys. It supports private transactions and permissioning, features not robustly available in other libraries. By abstracting away much of the complexity of interacting directly with an Ethereum node, Web3j reduces the risk of developer errors that could lead to security vulnerabilities. Utility functions simplify common tasks, allowing developers to spend less time dealing with intricate Ethereum client details and more time focusing on application-specific security.\n\nFurthermore, Ethereum emphasizes decentralization and diversity to eliminate single points of failure. Web3j contributes to this by increasing diversity in development tools, offering support in Java and Kotlin while other libraries focus on JavaScript and Python. This broadens the developer community, engaging those who prefer Java and Kotlin, and strengthens the network by reducing dependency on a single codebase. Web3j\u2019s robust privacy features and enterprise-level functionalities also promote the adoption of Ethereum technology in large-scale, real-world applications.\n\nSpecific Examples\n- Ethereum Wallets on Android: Powers several wallets for secure blockchain interactions on Android devices.\n- Blockchain Data Services: Used for data ingestion and aggregation by companies needing seamless integration and performance.\n- Enterprise APIs: Integrated with HSMs to provide secure transaction capabilities, enhancing trust and reliability.", "hidden": true, "question": "How does your project reduce development barriers, improve efficiency, or enhance the security of Web3 projects? Please provide specific examples or metrics if available.", "questionId": 6}, {"type": "paragraph", "answer": "Here are some key statistics that reflect our progress and community involvement:\n- Contributions (total PRs merged): 800+\n- Releases: 115 (latest 4.12.2)\n- GitHub Stars: 5.1k \n- Forks: 1.7k \n- New Contributors: 200+ unique contributors\nDownloads: 5 Million+ (1.6M in last year, a 47% year-on-year increase)\nYou can refer to the  Web3j Annual Report 2023-2024 for all updates, including historical metrics at https://blog.web3labs.com/hyperledger-web3j-annual-report-2023-24", "hidden": true, "question": "Describe the current usage and support for your tool within the developer community. This could include GitHub stars, downloads, or testimonials from developers.", "questionId": 7}, {"type": "paragraph", "answer": "Despite Web3j\u2019s widespread use, particularly among enterprises and in blockchain Android applications, Web3j faces funding challenges to sustain its ongoing maintenance and provide new features to ensure it evolves in step with the Ethereum mainnet.\n\nThis grant helps us overcome these challenges and continue to provide this key piece of technology for the Ethereum community.\n\nPlanned work that is helped supported by grant funds:\n\n1. Account Abstraction Support (EIP 4337): \n  - Implementing support for EIP 4337 to enable account abstraction, which simplifies user interactions with smart contracts.\n\n2. Prague Update Readiness:  \n  - Preparing Web3j for the upcoming Prague update by implementing support for EIP 3074 and EIP 7702.\n\n3. Web3j 5.x Release:  \n  - Refactoring codegen logic and gas providers.\n  - Integrating web3j-unit and web3j-evm as submodules.\n  - Increasing test coverage and removing deprecated code.\n  - Integrate Coverage tool with Web3j Github repos.\n  - Improve signing mechanism by upgrading security libraries.\n\n4. Fix Web3j-openAPI and web3j-cli support for windows: \n  - Currently Web3j open-API is broken- It simplify integration with API driven smart contracts for multiple target platforms.\n  - With the latest Windows 11 update, web3j-cli is not able to generate projects in the Windows environment.\n\n5. Web3j-unit and Web3j-evm updates: \n  - Increase integration test coverage.\n  - Migrate Web3j-evm to latest Besu versions. \n\n6. Latest Web3j Android Support: \n  - Ensuring Web3j is fully compatible with the latest Android versions and releasing updated libraries for Android developers.\n\n7. Project Maintenance:\n  - Regularly addressing issues and bug fixes. Reduce Issues by 70%\n  - Conducting code refactoring for improved performance and readability.\n  - Updating dependencies and libraries to the latest versions.\n  - Fixing vulnerabilities to ensure the security of the library.\n\n\nFor more detailed roadmap please refer to this - https://lf-hyperledger.atlassian.net/wiki/spaces/WEB3J/pages/23101932/Roadmap+2024+-+2025 ", "hidden": true, "question": "Outline your project's roadmap and how the grant funds will be used to achieve your development goals.", "questionId": 8}, {"type": "paragraph", "answer": "Not applicable", "hidden": true, "question": "For any project deploying smart contracts on blockchain networks, please list all your deployer addresses and their corresponding blockchain networks. Use this format for each entry: [deployer_address], [chain_id]\u2014for example, 0x123abc..., 42161 (This represents a deployer address on the Arbitrum network). Please include a separate line for each unique deployer address and blockchain combination.", "questionId": 9}], "project": {"id": "0x44eb49421b42a27fb781934866279d5603b6d2176d598c5d1372eca0073e34e9", "title": "Hyperledger Web3j", "logoImg": "bafkreiewmrcjf352jywe6gvk2mcny4lkewxd57ctfi546gw6m3nimmx5pi", "metaPtr": {"pointer": "bafkreidrli5roabjchmsmh4jnypeqsu6qsid4p4kbjomu5pmhms6j5bdoi", "protocol": "undefined"}, "website": "https://github.com/hyperledger/web3j", "bannerImg": "bafkreielt22gfhrf7hc2lfpobpi2pqhthsy4giyv4nwoms2ounb7sm6ehu", "createdAt": 1713870717836, "userGithub": "conor10", "credentials": {"github": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..wS8untqWXHVrHT6xxEmZKeTXNyRiGYd7OgkPgXlgCmvPpCeShp12fCyesnfQU-IGk7Akj0QJ6rOCnvBw88-VDg", "type": "Ed25519Signature2018", "created": "2024-04-23T10:56:30.839Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-04-23T10:56:30.839Z", "expirationDate": "2024-07-22T10:56:30.839Z", "credentialSubject": {"id": "did:pkh:eip155:1:0xD8a50a7AB452c0C9E5581bAC5Ff15558E6f671A1", "hash": "v0.0.0:X77xHJuRdEaunZiaPQCmgmHLih2bjL5jhYk+mTP53j8=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextGithubOrg#web3labs#2148266"}}, "twitter": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..FaPN8Y4_Os43swBHDluc7AY5cgerFhYCH5j6e6EUWBzDVoynD-Av1NkcwFuxXzkfHdpRbm6U1wjx6AntfFbgBg", "type": "Ed25519Signature2018", "created": "2024-04-23T10:56:19.487Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-04-23T10:56:19.487Z", "expirationDate": "2024-07-22T10:56:19.487Z", "credentialSubject": {"id": "did:pkh:eip155:1:0xD8a50a7AB452c0C9E5581bAC5Ff15558E6f671A1", "hash": "v0.0.0:Dsoi5pCy0CEsx4KOJ6ZpjDLtYL54GuF6LxTrWmSnJXY=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextTwitter#web3labs"}}}, "description": "Hyperledger Web3j is an acclaimed open-source project, boasting over 2 million downloads, 5,000 GitHub stars, 190 unique contributors, 1,600 forks, and 111 releases.\n\nIt was created in 2016, by Web3 Labs founder and is maintained by the Web3 Labs team, who donated it to the Hyperledger Foundation at the start of 2024 to further build awareness of the project and widen the potential contributor base beyond just the Web3 Labs team.\n\nAs a JVM library designed for interacting with Ethereum L1 clients, Web3j has recently achieved a significant milestone by becoming the first web3 library to support EIP-4844. This addition enables the capability to send blob transactions, benefiting both L1 and L2 users by substantially reducing storage costs on the L1 layer. \n\nBuilding on this momentum, we aim to enhance Web3j's capabilities to interact seamlessly with L2 client nodes, such as Arbitrum, Optimism, and Polygon-zkEVM, starting with Arbitrum and gradually extending support to other networks.\n\nWeb3j Documentation - https://docs.web3j.io/\nWeb3j Source Code - https://github.com/hyperledger/web3j\nWeb3 Labs - https://www.web3labs.com/web3j-sdk\n", "lastUpdated": 0, "projectGithub": "web3labs", "projectTwitter": "web3labs"}, "recipient": "0xD8a50a7AB452c0C9E5581bAC5Ff15558E6f671A1"}}