With the increasing popularity of blockchain technologies in recent years, blockchain-based decentralized applications (DApps for short in this paper) have been rapidly developed and widely adopted in many areas, being a hot topic in both academia and industry. Despite of the importance of DApps, we still have quite little understanding of DApps along with its ecosystem. To bridge the knowledge gap, this paper presents the first comprehensive empirical study of blockchain-based DApps to date, based on an extensive dataset of 995 Ethereum DApps and 29,846,075 transaction logs over them. We make a descriptive analysis of the popularity of DApps, summarize the patterns of how DApps use smart contracts to access the underlying blockchain, and explore the worth-addressing issues of deploying and operating DApps. Based on the findings, we propose some implications for DApp users to select proper DApps, for DApp developers to improve the efficiency of DApps, and for blockchain vendors to enhance the support of DApps.Index Terms-decentralized applications, Ethereum, smart contract, empirical study • RQ1: How is the popularity of DApps distributed?We explore the popularity of DApps by the number of unique users, transactions, and transaction volumes, and compare categories of DApps. We also examine the change of popularity as time evolves. By answering this question, we can provide an overview of the DApp market for all stakeholders in the DApp ecosystem. • RQ2: Are there any common practices of developing DApps? We investigate whether DApps are open source and how smart contracts are organized in a DApp. By answering this question, we can reveal the development arXiv:1909.00939v1 [cs.SE]