UROP Proceedings 2020-21

School of Engineering Department of Computer Science and Engineering 108 Decentralized Mobile Applications Supervisor: CHATZOPOULOS Dimitrios / CSE Student: PAN Hsuan-en / CPEG Course: UROP1100, Summer The goal of my project is to design an iOS app that interacts with a smart contract deployed on the ethereum blockchain. This mobile application allows the user to navigate on a world map to see descriptions of various famous tourist attractions, and then buy tickets to travel there. With the help of the characteristics of blockchain, the procedures are decentralized, automatic, and final. After successful payment (ticket price is in cryptocurrency: ether), the ownership of the ticket is assigned to the buyer, and could be easily looked up and confirmed afterwards. The benefits of this method are that it is highly convenient and the risk of people fabricating fake tickets is reduced to zero. The whole project can be divided into two parts - the mobile application and the smart contracts. Decentralized Mobile Applications Supervisor: CHATZOPOULOS Dimitrios / CSE Student: WANG Yumeng / SENG Course: UROP1100, Summer Decentralized application is a new kind of application that is different from the usual applications we are using today. For the standard web applications we are using today, including Uber and twitter, are run by a central organization fully authorized, which means all of the customer taking its service will be in the control. For instance, some of the twitters sent by the individuals can be blocked and some of the account can be permanently suspended due to the decision of the company. This is also referred to as Web2. On the contrary, for the applications that are not centralized, often run on the block chain, no one is able to impose any restriction to anyone else. We can now build decentralized application on the block chain or a peer-to-peer (P2P) network. In the project we mainly focus on how the application is working with the android studio. To understand the mechanism of the decentralized application, we first start from traditional mobile app building skills base on android studio using the language Kotlin, and then we gain our understanding of ethereum block chain in an introductory manner. Furthermore, we develop the first decentralized app combining the knowledge.