Menu Home

Spring Boot and web3j - easy microservices for the Ethereum blockchain

web3j now seamlessly integrates with the Spring Framework, thanks to the web3j Spring Boot Starter.

Using Spring Boot, it's trivial to create production-ready services using web3j to work with the Ethereum blockchain.

Start by creating a new Spring Boot application. Then add the web3j-spring-boot-starter to your Gradle or Maven configuration:

dependencies {
    compile 'org.web3j:web3j-spring-boot-starter:1.0.0'
    ...
}

Now create a service using web3j, and Spring will create and configure the web3j instance for you!

@Service
public class Web3jSampleService {

    @Autowired
    private Web3j web3j;

    public String getClientVersion() throws IOException {
        Web3ClientVersion web3ClientVersion = web3j.web3ClientVersion().send();
        return web3ClientVersion.getWeb3ClientVersion();
    }
}

The default HTTP endpoint of your Ethereum client is used (http://localhost:8545), however, you can easily change this in your application properties file.

# An infura endpoint
web3j.client-address = https://morden.infura.io/<your token id>

# Or, an IPC endpoing
web3j.client-address = /path/to/file.ipc

Code for this example is available here. For further information on check out the web3j project home page and the spring-boot-starter project.

Categories: Blockchain Development Ethereum Java web3j

Tagged as:

conor

Leave a Reply

Your email address will not be published. Required fields are marked *