Neo Blockchain: Developing dApps without learning a new programming language
Guilherme Sperb Machado, Claude Müller
Smart Contracts became the main element of decentralized applications (dApps) where uses cases require transparency and immutability. It plays an important role in the blockchain ecosystem, since it is an instrument that empowers decentralization. However, in some blockchains supporting smart contracts, such as Ethereum and Tezos, developers require to learn a new programming language (e.g., Solidity or Liquidity) to develop smart contracts and create dApps. This tutorial aims to provide an in-depth overview of the Neo blockchain and ultimately show that developers are able to use any high-level and non-blockchain specific programming language (e.g., python, Java, golang) to implement smart contracts in the Neo ecosystem. In this regard, the tutorial gives a conceptual basis first, in which key elements such as transactions, signatures, and network are introduced, as well as how smart contracts and the Neo chain practically works. In a second moment, the course presents a hands-on activity: instructors provide a use case to be implemented as a dApp, well-suited for applying the concepts learned beforehand, where the primary goal is to have end-to-end understanding of a blockchain application. Thus, the participants will be able to write a dApp from scratch, developing and deploying a Neo smart contract, also developing a backend application that facilitates users to interact with the contract -- acting as a convenience layer. Finally, the tutorial concludes by highlighting the development principles and opening for general questions from the audience.