---
# System prepended metadata

title: NEAR Certified Developer -1- Day 1
tags: [ncd]

---

---
tags: ncd
title: NEAR Certified Developer -1- Day 1
description: This course is an opportunity for web developers to earn a Certificate of Completion that represents the ability to design, develop, test and deploy smart contracts on the NEAR platform.
image: https://near.org/wp-content/themes/near-19/assets/downloads/near_logo.svg
GA: UA-188414449-3
---

# Day 1

## Reading web 3

*Learn to read contracts that control money, identity and ownership.*

---

###  :sparkles: The goal for today is to read as many contracts as you can. :sparkles: 

---

Sometimes people aren't sure how to complete this activity. These tips may help.

Consider that it is better to read *many times quickly* and NOT just one time slowly. Read [How to survey?](https://hackmd.io/@nearly-learning/how-to-survey) to better understand why and how you can do this

Try to figure out how to get to the contract code.  Then move to quickly read the code. You want to see as much as you can. Ask yourself about the "purpose" of the contract (why is it?) and "code" (what is it?)
- AssemblyScript contracts are files that end in `.ts`, usually `main.ts` or `index.ts`
- Rust contracts are always in a file named `lib.rs`.

:::success
### :green_book: CORE Activities
::: 

1. **WATCH** [this orientation video](https://www.loom.com/share/bc72aef5b7bf40769a1d4760a388632c) before doing anything else
2. In the [Resources section](#-Resources) below choose AssemblyScript or Rust
    - **REVIEW** all 3 contracts labeled as **CORE Activity** for your language


:::info
### :blue_book: BONUS Activities

*If you have the time to look around the corner, here's a little more for you.*
:::


0. Clone the `starter` repository for your language of choice and follow the instructions
    - [AssemblyScript](https://github.com/Learn-NEAR/starter--AssemblyScript)
    - Rust (still under development)

The more you read the better so keep going if you can.  Remember to focus on READING and avoid the temptation to build and run everything along the way because it's a distraction at this point.  You can build and run everything tomorrow. 


1. Read ALL the contracts for your language of choice, not just 3

2. Read all the contracts from the OTHER language as well. 

3. Check out these little puzzles, they may be fun for you

    - [Scavenger Hunt Challenge #1](https://hackmd.io/@nearly-learning/hunt-01)
    - [Scavenger Hunt Challenge #2](https://hackmd.io/@nearly-learning/hunt-02)

:::warning
### :orange_book: Going Deeper

*If you're feeling fearless, here's about as far as you might take this road in a day*
:::


- Review all [core-contracts](https://github.com/near/core-contracts) and watch related [Live Contract Review](https://www.youtube.com/watch?v=BA7VeUS_RAA&list=PL9tzQn_TEuFXnYksuNJwrl1l_AuWzn6eF) videos
- Review [Illia's contract repo](https://github.com/ilblackdragon/contracts)
- Review all [Rainbow Hackathon contract submissions](https://docs.google.com/spreadsheets/d/19By6mCBnfCO076plLitF-S1MeTpVLgISF_aAlZ5I2-4/edit#gid=0)


---

> *None of us is as smart as all of us*
> 
> *-- Ken Blanchard*
> 
> ---
> *It is not that I'm so smart. But I stay with the questions much longer.*
>
> *-- Albert Einstein*

---



# :dart: Resources


REMEMBER: For today's activity
- You do NOT need to build and test each contract
- You do NOT need to understand every line of code
- You SHOULD simply read through the contracts as if you are looking at art or listening to music without worring about every dot or note


## AssemblyScript

If you intend to focus on AssemblyScript, [**[ OPEN the list of AssemblyScript contracts ]**](https://airtable.com/shrG4kGx80F55usI4)

You should read a **minimum of 3** contracts marked as **CORE Activity**.

![The list of AssemblyScript contracts](https://i.imgur.com/RJN8AkD.png)


## Rust


If you intend to focus on Rust, [**[ OPEN the list of Rust contracts ]**](https://airtable.com/shrckdZAMgjbP3uBC)

You should read a **minimum of 3** contracts marked as **CORE Activity**. 

You can read more about [Rust contract basics](https://hackmd.io/@nearly-learning/contract-basics-rust) or [watch a video](https://www.youtube.com/watch?v=AOvqsD-rBUw) as well.


![The list of Rust contracts](https://i.imgur.com/SGqQP01.png)

