Educational material for Solidity. Complement to
Switch branches/tags
Nothing to show
Clone or download
Latest commit a406e7a Jul 5, 2018

Solidity workshop (legacy)

This is a resource for Solidity and Ethereum smart-contract programming. Currently under construction. It's a side project with no deadlines, or any form of plan.

NOTE: Old code, i.e. code in articles that are more then a few months old, should not be considered to be correct. Solidity moves forward at a high pace. Don't use coding techniques from old articles.

Table of Content

Solidity Systems Tutorial

Solidity Systems I

Contract-oriented Programming Tutorial

Contract-oriented Programming I

Contract-oriented Programming II

Advanced Solidity Tutorial

Advanced Solidity I - Introduction

Advanced Solidity II - EVM Stack and Assembler

Advanced Solidity III - Memory and Calldata

Advanced Solidity IV - Storage

Advanced Solidity V - Solidity value-types



Solidity Inline Assembly Tutorial

Solidity Inline Assembly I - Introduction

Blog Posts

String Assembly Demo


Add - A simple contract for adding two integers using ADD.

Loop - A simple contract that uses conditional jump (JUMPI) to do a for-loop.

IterableAddressSetASM - An iterable address set written in regular inline assembly.

IterableAddressSetFASM - An iterable address set written in functional-style inline assembly.

External resources

Official Ethereum Page:

Official Solidity Page:

Ethereum SE:

Gavin Wood on condition-oriented programming: