Spring Boot and web3j - easy microservices for the Ethereum blockchain
Originally published on conorsvensson.com. View saved original ↗
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.
Cite this post
Conor Svensson (20 February 2017). Spring Boot and web3j - easy microservices for the Ethereum blockchain. https://conorsvensson.com/archive/conorsvensson/spring-boot-and-web3j-easy-microservices-for-the-ethereum-blockchain/
BibTeX
@misc{svensson2017-spring-boot-and-web3j-easy-microservices-for-the-ethereum-blockchain,
author = {Conor Svensson},
title = {{Spring Boot and web3j - easy microservices for the Ethereum blockchain}},
year = {2017},
month = feb,
url = {https://conorsvensson.com/archive/conorsvensson/spring-boot-and-web3j-easy-microservices-for-the-ethereum-blockchain/}
}