BlockChain Principle and Application

Taught by Tao-Ku Chang Ph.D. in graduate

What was the class about?

In this class we learned all about blockchain technology. From the most simplest definition of a block to modern uses of a blockchain all the way to where blockchain might be in the future. We studied Ethereum and learned how to mine it as well as use it in our applications. Programming with the blockchain was done with a variety of languages including Java, Javascript, and Python. We also experimented with smart contracts and used web3.js and remix to test our own smart contract applications. We also dived into using Geth and Truffle to build our own personal blockchains for development and testing. In the final project we created our own blockchain application combining everything we learned. My own project was a hotel that could have its rooms booked and reserved with ether using the browser extension, MetaMask. After the user selected the hotel room and pressed the button the ether would be transferred from their wallet to the hotel owner's wallet.

What did I learn?

I learned how to create my own blockchains in Java, Python, and Javascript. I also learned that blockchain has the potential to solve many of our problems when correctly implemented. From basic things to saving your pizza order so that you can order the same pizzas again to changing the way we hold our elections to make them more secure and trustworthy. I learned how to interact with ether and how to use the public blockchain directory to see the different transactions happening daily. Finally, I learned how to create my own application to securely send and receive payment.

How do I use that knowledge now?

I hope to apply this knowledge into my own projects. Although the disadvantages of using blockchain is that it is very power intensive and requires many computers, I believe that there is still more to discover about blockchain and its applications. Blockchain really has the power to make the things we do easier as long as we can fit it into the different areas, such as elections and voting, that need the most development. Being able to see where a token is going and having that public knowledge can really be a peace of mind in terms of data and privacy protection.

Notable Projects