Solidity may be the single most valuable skill in the world today. You can obtain it without years of formal education. And we'll pay you to learn it.

As background, though there are many blockchains now that allow you to write smart contracts, Ethereum is the most widely adopted. It has its own programming language to develop smart contracts: Solidity, a statically typed, JavaScript-like language.

Solidity is an object-oriented, high-level language for implementing smart contracts. Smart contracts are programs which govern the behaviour of accounts within the Ethereum state.

To get started, check out these intros about a simple example smart contract written in Solidity, the Ethereum Virtual Machine or the Blockchain in general. To learn more about the Ethereum ecosystem as well as Smart Contracts in general, check out these podcasts.

As with other programming languages or environments, the best way to learn about Ethereum and Solidity is to get your hands dirty and explore some of its concepts by building something. You might have heard about CryptoKitties, a game centered around breedable, collectible, well ... cats! They were the first NFTs (Non-fungible tokens), before NFTs became cool. In this tutorial, we'll build our own implementation of CryptoKitties, called CryptoZombies.

CryptoZombies and ERC-721

CryptoZombies is one of the tutorials recommended on the Ethereum website, to get started with Solidity. In this tutorial, you'll build a small Solidity library that implements the ERC-721, Ethereum token standard. A token on Ethereum is basically just a smart contract that follows some common rules — namely it implements a standard set of functions that all other token contracts share. Ethereum has two popular token standards:

  • ERC-20, which is used for fungible custom tokens that act like currencies. This makes it easy for an exchange to accept tokens implemented with this standard.
  • ERC-721 which are used for NFTs. These are often limited to a fixed quantity and not divisible, like ERC-20 tokens.

ERC-721 tokens are also not interchangeable since each one is assumed to be unique. You can only trade them in whole units, and each one has a unique ID. So these are a perfect fit for making something like CryptoKitties (or CryptoZombies) tradable.

During the course of the first lessons you'll get familiar with core Solidity concepts like contract ownership, gas costs, code optimization, and security. You'll also learn about payable functions, and how to build DApps (decentralized apps) that can accept money from players.

✅ Task: Earn $100 in ETH

CryptoZombies has a total of 18 lessons, and each lesson has several chapters. Your task is to complete the first five lessons and submit the links you'll receive at the end of each lesson below. Each lesson should take about an hour or less for someone with programming experience. We'll award up to ten winners $100 in ETH based on speed of completion and quality of code.

How to submit

At the end of lesson 1 you can choose the name of your CryptoZombie as shown below (and linked here) Please use the same email that you used for this website.

Then, copy this link at the end of each lesson for the submission.

Complete the first five lessons just like this and submit via the form below!

🏆 Winners: Selected CryptoZombies Completions

Ten submissions received $100 in ETH for completing the first 5 lessons of CryptoZombies quickly and correctly. Several hundred completed the lessons!

Lesson 1Lesson 2Lesson 3Lesson 4Lesson 5