The smart city is a hot topic which aims at improving the quality of people’s lives while giving consideration to the environment. It is considered as a promising solution to the problem of rapid growth of urban populations. Currently, many projects relating to the development of smart cities have been proposed, most of which are based on the blockchain technology. Blockchain is a platform of secured and distributed databases. However, there is room for improvement to many aspects of blockchain. Our team at National Chengchi University started research focusing on the development of key technologies for blockchain. The project is supported by the Digital Economy Advancement Project. We have attained the following achievements. First, we designed an efficient consensus protocol to improve the transaction throughput of the blockchain in a permissioned system. We also designed a simple two-step Byzantine consensus protocol that achieves safety and liveness without a recovery protocol. Second, from a software engineering’s perspective, we designed middleware for managing smart contracts so that the development of blockchain applications is easier than before. Finally, for the purpose of privacy protection in blockchain-based applications, we designed a Zero-Knowledge Range Proof (ZKRP) protocol which allows a user to convince other people that a secret value lies within an interval without revealing the secret. We also designed a new kind of certificate for blockchain-based applications.