First step to build decentralized application using block chain (web3j + ethereum) is by creating contract (example votting.sol - decentralized voting protocol) using contract oriented language solidity and we are ready to enter into new architecture style, design thinking & development - termed decentralization.
IntelliJ solidity support is good and is highly recommended. Also thanks to web3j maven solidity plugin to bring us back to java world by generating java based contract :-) The programming model and ease of development is key to success of any technology. Spring BOOT + web3j make it ease to build blockchain based applications.
Block chain will be one of the disruptive technology in near future.Some of the potential use cases of BlockChain technologies:
- Financial Service - Payment services etc
- Health Insurance - Potential solutions for interoperability and data exchange and for more details read article
- Subscriptions management
- Vehicles registration/history - to avoid vehicle fraud, checkout super article
- ......
NOTE: java9+ is not supported by web3j solidity compiler contract generation
Run ethereum node using geth (google go client)
brew tap ethereum/ethereum
brew install ethereum
geth --rpcapi personal,db,eth,net,web3 --rpc --rinkeb
To send http synchronous requests using httpie
http :4020/web3j/version
mvn web3j:generate-sources
Vola!!! Ready to enter in de-centralized application building.