The Cryptoeconomics.study coding challenges follow the course lectures. This includes implementing a centralized payment processor, a distributed proof of authority blockchain, and a proof of work blockchain. To make sure that you can complete all the challenges we recommend the following development setup.
Command Line Basics
In order to install the packages you need for development you're going to have to know how to navigate around the terminal.
NodeJS and NPM
You're going to need Node.js and npm to complete these assignments.
We recommend using a node version manager like NVM to install and manage node/npm.
To install both on any platform go here.
If you're on Ubuntu, you can just run
sudo apt install nodejs npm.
Git and GitHub
You'll also need a Github account and
git installed on your computer.
Create a Github account here.
Setting up Git:
We're going to be using Mocha in order to run tests, so install the Mocha package globally by running:
npm install -g mocha
IDE / Text Editor
We recommend Atom as your IDE (integrated development environment). Atom is free, open source, and works on every major operating system. Furthermore, it's easy to configure and set up. We recommend this setup by Elad Ossadon.
- download Atom
- run this script to install some awesome atom plugins via apm (the Atom Package Manager)
Another free and open source text editor is VIM. VIM stands for VI Improved. It is one of the oldest and simplest text editors available. It's extremely light weight and works on every operating system. Tutorials on the use of VIM are beyond the scope of this course, however we recommend the following resources:
- VIM Cheatsheet - a quick reference to the most common VIM commands/features.
- /r/vim - a friendly Reddit community that loves VIM (great place to learn and ask questions).
Downloading the coding challenges
Once you have the prerequisites installed without error, fork this repository (guide).
Once you have your own fork at
github.com/YOUR_USERNAME/code, create a local clone of your fork (guide).
cd into your local clone and run
npm install to install all of the required dependencies.
Reach out to the community :)
Often the first steps are the hardest and we want to make sure you have a great experience learning about cryptoeconomics. If you get stuck or encounter difficulty setting up your development environment please reach out to the community. Chances are you're not the only one experiencing difficulties. Reaching out allows us to
- solve your problem directly
- document what the problem was and how we solved it so that in the future people can find those answers quickly
- understand the problem and improve the course material so that it's more intuitive for everyone It's a win for everyone! So if you get stuck, don't worry about it. Just post your problem on the community forum technical difficulties thread and we'll do our best to help :)
Chromebooks are great because they're cheap and secure. Lots of people have them. In order to make the course accessible to as many people as possible, we've created a chromebook guide.
Taking the Course
Now that you're good to go, let's start the course!
We recommend starting at the beginning of the Course with the lecture videos and then trying the coding challenges, but you can also jump straight to the coding challenges here. Whichever path you choose, be aware that they progress sequentially so it's important that you start at the beginning of each chapter and go all the way through. Good luck! 🍀
Don't forget to commit your progress to Github as you go. This will create checkpoints that allow you to go back if you made a mistake. It also creates a proof of work (get it... proof of work) that shows you actually went through the course :)
We welcome community contributions! There's lots of ways to get involved. Please see our contributing pages for more information :)