Event date
Monday, November 20, 2017
Event time
1:00pm to 4:00pm
Barrows 356B (D-Lab Convening Room)

The Introduction to Smart Contracts workshop aims to paint a picture of what it's like to develop on the Ethereum Blockchain. In an effort to cater to all experience levels, the workshop will open with a module of contextual information and tools for those new to Ethereum and the general blockchain ecosystem. Students will learn to set up their local developer environment, design a basic smart contract, and write tests; diving head first into Solidity, the Ethereum blockchain’s most popular smart contract language. The ideal student for this offering will be a beginner blockchain developer with no working knowledge of Solidity but will have experience using the command line and preferably Javascript as well.
Tools we will be using:
Node.js (v8.4.0 or greater)— a Javascript runtime for easily building fast and scalable network applications
Npm (v5.0.3 or greater) — Node.js’ package ecosystem. If you already have Node.js you can simply type: npm updateinto your terminal.
Truffle Framework (v3.4.9 or greater) — npm install -g truffle *note the -g tag installs truffle globally so don’t worry about being in any specific directory. ***if you get permission errors, run the above command as root/admin. Truffle is a development framework for Ethereum that has built in smart contract compilation, linking, and deployment. These are some of the hardest technical concepts for a Solidity developer.
Testrpc (v4.1.1 or greater) — npm install -g ethereumjs-testrpc This will be our blockchain on which we will deploy and mine your contracts from truffle. Specifically testrpc is an Ethereum client for testing and developing. It comes with the ability to play with accounts pre-filled with millions of dollars worth of Ether (sorry you can’t keep it) and customize everything from hostnames to gasPrice.