Table of Contents
Welcome to my very first dApp tutorial! Please find the presentation here, which is built specifically around this repo. The presentation was held in person, so the 'live-coding' section will only be included in the video for obvious reasons. If you're interested in the whole talk, you can find the YouTube video here.
- Installed Metamask as a chrome plugin, hooked up an account, and have some Ropsten test money in it.
- Be somewhat familiar with the idea behind Ethereum, Smart Contracts, and dApps
- Have a basic understanding of programming
- Ideally have an understanding of Vue.js
The Ethereum blockchain is a paradigm shift in transparency, trust, and true ownership. Inspired by the thoughts about a transparency standard that could be achieved through blockchain, I thought about how to achieve that on a small scale. Imagine a world where every university offers a transparent, always up to date, and immutable list of students and graduates. Instead of background-checking if a student really went to Stanford, one can simply call a function on a smart contract to receive the answer. 100% free and always accurat.
This project and presentation were both created during my time as a student at Code Chrysalis in Tokyo. (Yes. Hack Butterfly is a pun, glad you caught it.)
These are the features of the current version:
- Sign up as a student through the Ropsten test network for just 5ETH!
- Get a list of current students and alumni
- OnlyOwner: Graduate student
- OnlyOwner: Set program cost
Here's some useful information to know before getting started with the codebase
- The Smart Contract is deployed on the Ethereum Ropsten Test Network
- Owner: 0x4B8dc8d5A7d51c2FFE2A3C1f08DbFC884265967E
- Smart Contract, its address, and the ABI are all in public/src/utils
You find the smart contract's codebase in public/src/utils/. I did deploy the smart contract through Remix, Ethereum's IDE. I've solely put the smart contract for completeness into this repo. I did not deploy it locally from my machine.
Once you've deployed your own iteration of the smart contract (if you chose so), update abi.js and contractAddress.js accordingly. You might want to revisit some methods within the components as well after you made some changes to the functions within the smart contract.
As mentioned, you do need the chrome plugin Metamask with some money in there. (make sure to be on the Ropsten Test Network)
After you cloned the project, run:
Compiles and hot-reloads for development
yarn run serve
Compiles and minifies for production
yarn run build
Start HTTP server with the build (useful for Heroku deployment)
Here are some ressources that helped me get started, ordered by how helpful they were:
- Probably the best Solidity tutorial out there: Crypto Zombies
- Fullstack tutorial with Vue, web3, and Solidity: Build a Casino!
- Introduction to the Truffle Framework: Pet Shop
- YouTube: Ethereum course for beginners
Lastly, some interesting projects that you should know: