Serpent Tutorial and Smart Contract Lab
This repository contains course materials for a "smart contract programming lab". The main emphasis of this lab is security. When designing and programming a smart contract, real money is at stake! How can you ensure your contract does what you intend it to, and can't be attacked?
These course materials are primarily intended for instructors who wish to conduct such a lab, or for students/developers who want to learn about smart contracts. The materials include:
- A Programmer's Guide to Ethereum and Serpent (pdf)
- Lab: Step by Step Towards Programming a Safe Smart Contract (pdf)
- Full code for our Serpent contract examples can be found in Examples/
- A virtual machine with pyethereum and the lab materials pre-installed (google drive). Instructions for running the virtual machine can be found in the Programmer's Guide.
The lab uses pyethereum. Detailed download instructions can be found on pyethereum's github or you can follow instructions in serpent tutorial to install our preconfigured VM-image.
LaTeX source files are located in Guides/
Ethereumlab was developed as part of a course project at the University of Maryland. A short paper describing our experience is found on (eprint pdf)
Authors: Kevin Delmolino, Mitchell Arnett, Ahmed Kosba, Andrew Miller, Elaine Shi