In this chapter, you learned how to develop a smart contract with the Populus development framework. Populus isn't equipped with Vyper support, only Solidity. Consequently, you need to add Vyper support by installing Vyper and editing the Populus project configuration file. You also learned how to create unit tests for a smart contract. In this unit test, you used the web3 object to interact with a smart contract and test it programmatically. After this, you learned how to create a private chain. Finally, you deployed a smart contract to this private chain and Ganache.
In the next chapter, you're going to build an application on top of a blockchain that's more complicated than the donation smart contract. This application is the voting decentralized application.