/solidity-workshop

Educational material for Solidity. Complement to solidity.readthedocs.com

MIT LicenseMIT

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

Video

Introduction

Solidity Inline Assembly Tutorial

Solidity Inline Assembly I - Introduction

Blog Posts

String Assembly Demo

Examples

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: https://ethereum-homestead.readthedocs.org/en/latest/

Official Solidity Page: http://solidity.readthedocs.org/en/latest/

Ethereum SE: http://ethereum.stackexchange.com/

Gavin Wood on condition-oriented programming: https://medium.com/@gavofyork/condition-orientated-programming-969f6ba0161a#.8dw7jp1gq