This is an intermediate Ethereum development course. Students are expected to have basic knowledge of smart contracts and Solidity programming language. Knowledge of the Truffle framework will be helpful but not necessary.
This is a fairly complex application and it is essential to understand all the components of the application and how they work together. You will learn the architecture of the application and the design decisions behind it and the implementation plan.
List Products in the store
You will implement a smart contract with all the functionality for a seller to list products to sell in the marketplace.
IPFS and it's usage
We make heavy use of Web3js library to implement the frontend. All the smart contract functionality will be exposed through the HTML/JS frontend.
Off Chain solution using MongoDB & Ethereum Events
You will learn the concept of Events in Ethereum and a way to use these events to implement an offchain solution to build the product search functionality. You will also integrate your frontend with the offchain solution to add search functionality to your marketplace.
There is no central authority in the blockchain world to enforce rules and guarantee payments. To protect buyers and sellers from fraud, we implement the Escrow Service smart contract that will be used to lock the funds in the contract. Funds are released to sellers or refunded to buyers through a 2 of 3 multisig solution (with buyer, seller and a third party arbiter). You will learn the concept of Escrow and multisig in detail and implement the Escrow service through the guided instructions.
There are a number of features/enhancements that can be added to improve our marketplace. There are a number of exercises students can work on to gain more experience and become better blockchain developers.