You need to have a working Ethereum installation for deploying and testing the smart contract. You can also use the Remix IDE to write and test the Solidity code.
It is required to have good knowledge of Solidity before stepping through this recipe. Go through Chapter 2, Smart Contract Development, for more information.