Solidity-101

Introduction

Welcome! This is an automated workshop that will on using Solidity Smart contracts. It is aimed at developers who are not familiar with Solidity, or smart contracts.

How to work on this TD

Introduction

The workshop has two components:

  • An ERC20 token, ticker TD-SOL-101, that is used to keep track of points
  • A set of 12 exercises that are able to mint and distribute TD-SOL-101 points

Your objective is to gather as many TD-SOL-101 points as possible. Please note :

  • You will need testnet Ether to do this workshop. Lookup "rinkeby testnet faucet" on google.
  • The 'transfer' function of TD-SOL-101 has been disabled to encourage you to finish the TD with only one address

Getting to work

  • The instructions for each exercice are included in the contracts of each exercice, in contracts/exercices.
  • Each exercice contract inherits from the exerciceTemplate, which holds common functions to validate students and credit points
  • Each exercice is deployed on the Rinkeby testnet. You can interact with them through MyCrypto, using the contract ABIs in this folder, or through etherscan.
  • In order to receive points, you will have to call function that execute code in each smart contract, such that the function creditStudent(n, msg.sender); is triggered, and distributes n points.
  • A low level description of what is expected can be inferred by reading the code in each exercice.

Exercises addresses

Topic Contract code Contract on Etherscan
Points counter ERC20 Points counter ERC20 Link
Calling a function Ex01 Link
Payable function Ex02 Link
Requires Ex03 Link
Storage variables Ex04 Link
Mappings Ex05 Link
Variable visibility Ex06 Link
Events Ex07 Link
Structures Ex08 Link
Code history Ex09 Link
Past transactions Ex10 Link
Composability Ex11 Link
Blockchain forensics Ex12 Undisclosed