Skip to content

w3f/mooc-exercises

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Exercises and Solutions for Blockchain Fundamentals MOOC

Introduction

Welcome to the exercises for the Web3 Foundation's Blockchain Fundamentals MOOC!

Before starting, you should be at least somewhat familiar with git and programming in general. Ideally, you will also be familiar with Rust, although I tried to make the Rust code simple so that you can learn as you go along.

If you need help with Github and git, I recommend Github's guide here: https://guides.github.com/activities/hello-world/

If you would like to learn more about Rust, I recommend The Rust Programming Language by Carol Nichols and Steve Klabnik. Going through the first three chapters should give you enough background to work on the exercises here. https://doc.rust-lang.org/stable/book/

Note: It is not absolutely necessary to do any of these exercises, but they will help you understand in much more depth the topic that is covered in the relevant lecture!

Steps

  1. Clone down this repository to your local machine.
  2. Go to the ./exercises/ subdirectory, then select the appropriate exercise that you wish to work on.
  3. Read through the comments at the top of the src/main.rs file which explains the purpose and goals of the exercise.
  4. For each of the exercises, I have laid out the skeleton of a program. You should fill in all of the methods with TODO in them (you can simply search for TODO using your text editor of choice).
  5. You should start working starting from TODO 1 and go in order - some of the later TODOs can depend on previous methods working.
  6. You can test to see if your program is working by running cargo test from the root directory of that exercise. This will run the relevant suite of unit tests for that program.
  7. When you are finished, you can run the program using cargo run. I will include sample runs of the code in the comments so you can see some appropriate expected output.
  8. You can always check my solutions in the top-level ./solutions/ (at the same level as the ./exercises/ subdirectory) if you get stuck or simply want to compare how I did it with how you did it.

Releases

No releases published

Packages

No packages published

Languages