Tools requirements:
- solc (link: https://github.com/ethereum/solidity/releases) - this tool needs for compilation smart contracts from solidity to binary code
- geth (link: https://geth.ethereum.org/downloads/) - this tool needs for generate and run local test net with blockchain
- web3j (link: https://github.com/web3j/web3j-installer) - this tool needs for compilation smart contract from binary code to java code