BADD Labs Blockchain DApp and Development Labs

Learning objectives

Learning objectives

  • Application development skills on Ethereum blockchains.
  • Deep understanding of blockchains (and development of blockchain extensions).

In particular, through our labs, you will gain in-depth understanding and hands-on experience on the following concepts/keywords:

  • Blockchains: Transactions, fees, ledger, payments, smart contracts, Gas
  • DeFi: DEX, lending,
  • Financial attacks: arbitrage, MEV, frontrunning

Category A: Blockchain basics

  • Lab A1. Transaction exploration [link]
  • Lab A2. Smart-contract programming [link]
  • Lab A3. Blockchain mining [link]

Category B: DeFi

  • Lab B1. DEX 1: Swap settlement [link]
  • Lab B2. DEX 2: AMM and pricing [link]
  • Lab B3. DEX security: Arbitrage [link]
  • Lab B4. DEX security: Sandwich [link]

Broader impacts

Our labs are easy to set up and easy to use. To use the labs, you don’t need install anything beyond a web browser to access the Internet.

The labs are designed for use in classroom for courses in computer science/engineering/cybersecurity/blockchains. They are also good for self-learning.

If you are computer-science teacher and interested in using our labs in your class, feel free to drop an email at [] for solutions and instruction manual.

Use cases and the news

  • The labs were used in "CIS/FIN629: Blockchain Foundations and Applications", a cross-listed course for graduate computer science students and finance students at Syracuse University (2018-2022) [course website]. This is a popular course with a yearly enrollment of more than 100 students.
    • Student feedback is very positive on our lab design: “interesting choice of problem”, “great programming experience”, “clear lab description”, etc.
  • Our labs are featured in blockchain education in ASEE [slides].
  • Our labs are featured in the [NSF blockchain-education workshop]: [slides].


  • Acronyms used in individual labs: Smart contract (SC), blockchain (BKC), EOA (externally owned account), CA (contract account)