So far in this book, we looked into various aspects of developing a secure distributed application, from setting up a network of your own and writing smart contracts, to securing the smart contracts from various bugs that might occur. You might need to take a wise decision between two different approaches in some scenarios while developing a blockchain application. For example, you may have to choose between implementing your own wallet or using an independent wallet such as MetaMask.
This chapter explores these design decisions further, and you will have a clear idea of what to choose by the end of each recipe. You will also learn to design better architecture for your decentralized applications based on these decisions. Having a basic idea about smart contracts and DApps will help you in getting the best out of this chapter.