Java has been around for a while and is well understood by enterprise. Ethereum is a blockchain technology that will change how enterprises do business as it introduces the ability to execute code on the blockchain, known as smart contracts. Enterprises will want to integrate with this revolutionary technology to reap the benefits of using smart contracts, but it is very time-consuming and financially costly to do so. The cheapest way is for enterprises to leverage a technology they know and understand well… like Java. As a Java developer, there is still a hurdle to write smart contracts as they are typically written in an Ethereum specific programming language named Solidity.
But how do I use Java?
web3j is the java library to integrate with the Ethereum blockchain.
SEE ALSO: Top 5 development tools for Ethereum
The web3j group of projects consist of a number of different components, including:
- Maven plugin
- Gradle plugin
- Spring Boot Starter
The Maven and Gradle plugins provide smart contracts compilation and Java code generation as part of their respective build pipelines to simplify working with smart contracts.
Additionally, these are supported by sample projects for Maven, Gradle and Spring Boot.
There are a number of different Ethereum clients available to use on the network. These include:
Web3j provides full support for all of them in addition to working with Android.
What does this have to do with enterprise?
Web3j-quorum is an extension of web3j, designed to work with the private-permissioned Quorum blockchain (J.P. Morgan fork of Ethereum).
Smart contracts are the main reason enterprises are very interested in Ethereum. Smart contracts will allow many business process and cross-industry interactions to be streamlined. One could say that smart contracts cut out the middle-man. Once a smart contract is written, web3j compiles the smart contract and generates a Java smart contract wrapper. From then on, all the interactions with the smart contracts and the blockchain can be done in Java code. This is cool because enterprises can then integrate with other Java frameworks to enhance their DAPPs – like using Spring to make a web service that communicates with a blockchain.
What are we doing to make web3j enterprise friendly?
Enterprises need to be able to understand what the blockchain is doing, without necessarily understand how it is done. The Epirus platform provides facilities that enterprises need:
- Securing the platform using enterprise friendly single sign-on systems.
- Analysing the platform from a business mindset, not a technical one.
- Deploying the platform with one click.
- Providing enterprise transaction privacy at the blockchain layer by default
- Providing tools for Java developers to interact with the platform
This lowers the barrier of entry for enterprises which allows for better focus on utilising smart contracts to solve business problems.
Currently web3j is being used in a number of companies including Consensys, ING and J.P. Morgan on their blockchain initiatives.
There are still very active areas of development taking place on blockchain. Finding ways to effectively govern, manage identity and perform asset transfers across blockchains continue to present opportunities for innovation in the space. These are key aspects that enterprises need to be able to deliver quality products to their consumers. As these issues start being overcome web3j will be there, as a gateway to ethereum blockchain technology, for enterprises.
Ivaylo Kirilov will be leading a workshop with Antony Denyer at Blockchain Technology Conference on Monday, November 19 for anyone who wants to look beyond the hype and get some hands-on experience developing with blockchain technology. Attendees will learn how to use and integrate Java applications with the dominant public blockchain Ethereum.