2.1 The concept of a smart contract2.1.1 Bitcoin transactions versus smart contract transactions2.1.2 What does a smart contract do?2.2 Design of a smart contract2.2.1 A use case diagram for the counter2.2.2 Data assets, peer participants, roles, rules, and transactions2.2.3 From class diagram to contract diagram2.3 Development of a smart contract code2.3.1 Solidity language2.3.2 Smart contract code for Counter2.4 Deploying and testing the smart contract2.4.1 The Remix IDE2.4.2 Deployment and testing2.4.3 Key takeaways2.5 What makes a blockchain contract smart?2.6 Decentralized airline system use case2.6.1 ASK definition2.6.2 Sequence of operations2.7 Airlines smart contract2.7.1 Peer participants, data assets, roles, rules, and transactions2.7.2 Airlines smart contract code2.7.3 ASK smart contract deployment and testing2.8 Smart contract design considerations2.9 Best practices2.10 Summary