Truffle provides a contract abstract that can be used in Node.js and in a browser. This allows us to create distributed applications right from the Truffle project. This abstract provides some additional features such as promises, default values, and returning logs and receipts from each transaction. In this recipe, you will learn how to create apps using Truffle.