{"title": "Hyperledger Web3j (Arbitrum)", "logoImg": "bafkreidrjbx5ewex5f5bsgwib3r34zriwb4wckob7y3kwt36l3gp5zo72a", "website": "https://www.web3labs.com/web3j-sdk", "bannerImg": "bafkreias7hmfukknlg6oqk5axkoiiij7brvvkbvwavev2qa4oe2fiidyoy", "createdAt": 1713866022084, "userGithub": "conor10", "credentials": {"github": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..-EwO4v3rJ5aEd0-HgdxGO1KgBXP06aEFiNBxISYT6q8aM7cLph0sWtBGwmmRCekzNzq8Kp-MRWhUNdwJ6RNmCA", "type": "Ed25519Signature2018", "created": "2024-04-23T09:55:10.578Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-04-23T09:55:10.578Z", "expirationDate": "2024-07-22T09:55:10.578Z", "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..4PcEUcy__0IIy6iaR2hg7oaWs1cPEPYQV4-_DqGy2Dgxdezd_gHi1zKP3Yhna3lBW2W6j5cQB1guj-5NIrIiAQ", "type": "Ed25519Signature2018", "created": "2024-04-23T09:52:54.898Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2024-04-23T09:52:54.898Z", "expirationDate": "2024-07-22T09:52:54.898Z", "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": "Web3j Documentation - https://docs.web3j.io/4.11.0/\nWeb3j Source Code - https://github.com/hyperledger/web3j\n\nHyperledger 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\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. Building 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\nCurrently, the Arbitrum SDK (https://github.com/OffchainLabs/arbitrum-sdk) offers a TypeScript library for client-side interactions with the Arbitrum network. However, there is a significant user base, including Android and enterprise users, who are developing on JVM platforms and find it challenging to leverage the capabilities of the Arbitrum network due to the lack of native support. \nTo address this gap, we plan to integrate support for client-side interactions with Arbitrum into Web3j. This enhancement will provide comprehensive helper functionalities and access to underlying smart contract interfaces.\n\nFor enterprises, this integration presents a unique opportunity to innovate within the blockchain space without the need to shift away from the established JVM ecosystem that is predominant in large-scale enterprise environments. Enterprises can leverage Web3j to deploy secure, scalable, and efficient blockchain solutions quickly, reducing both development time and cost. This adaptation enables seamless transition and operation across different blockchain layers, enhancing operational efficiency and offering robust solutions to complex blockchain challenges.\n\nAs part of integrating Arbitrum into Web3j, we will incorporate key functionalities of the Arbitrum SDK tailored for L2 networks. This includes AssetBridger for ETH and ERC20 tokens, handling of L2 transaction receipts, cross-layer messaging (L1 to L2 and L2 to L1), and interactions with Arbitrum-specific data entities and utility functions. These features will empower developers to fully utilize the capabilities of L2 solutions directly from Java-based applications, promoting a more versatile and robust development environment.\n\n\nBy extending Web3j to support Arbitrum, we aim to diversify the development ecosystem, enabling developers to build on this L2 network using various programming languages. This initiative will not only facilitate the creation of native JVM applications but also encourage more enterprises to transition to L2 networks, fostering broader adoption and innovation.\n\nTimeline and deliverables - \n\nTotal Time Effort: 12 weeks\n\nWeek 1-2: Planning and Setup\nDeliverables:\nProject kickoff meeting with stakeholders and community.\nFinalise project scope and objectives.\nEstablish a detailed project timeline and deliverable milestones.\nSet up the development environment and necessary tools.\n\nWeek 3-4: Initial Integration and Basic Functionality\nDeliverables:\nDevelop basic connectivity between Web3j and Arbitrum nodes.\nImplement fundamental functions such as querying blockchain status and sending transactions to Arbitrum.\nBegin integration with the Web3j transaction workflow.\nFirst round of internal testing to ensure connectivity and basic functionality.\n\nWeek 5-6: Data Entities and Utility Functions\nDeliverables:\nImplement support for Arbitrum-specific data entities.\nAdd utility functions such as gas estimation for L2 transactions, and handling reorgs.\nSecond round of internal testing focusing on these new features.\n\nWeek 7-8: Advanced Features Integration\nDeliverables:\nIntegrate advanced features like L1 to L2 message passing, asset bridging for ETH and ERC20 tokens.\nDevelop support for retrieving L2 transaction receipts.\nCode enhancements based on initial test feedback.\n\nWeek 9-10: Testing, Documentation, and Bug Fixes\nDeliverables:\nConduct comprehensive integration testing.\nBegin drafting documentation that covers setup, features, and examples of using Web3j with Arbitrum.\nAddress any bugs found during testing.\nEngage with early adopters for beta testing and feedback.\n\nWeek 11-12: Optimization, Release Preparation and Launch\nDeliverables:\nOptimise the integration based on feedback from beta testing.\nPrepare for release: finalise all integration points, ensure all documentation is in place.\nRelease the updated version of Web3j supporting Arbitrum to the public.\nWrite Blog Posts and host webinars to showcase the new capabilities.\n", "logoImgData": {}, "bannerImgData": {}, "projectGithub": "web3labs", "projectTwitter": "web3labs"}