The wallet is built on Ethereum and uses solidity as the language. You need to have a working installation of Ethereum for deploying and testing the code. You also need to have good knowledge of writing smart contracts to understand the solidity code explained in this recipe.