# Node Guardians кампания "Setting Up: Solidity"

By [Tokenomist](https://paragraph.com/@tokenom) · 2023-12-11

---

### **Квест 1: “Build Tutorial: Solidity”**

_Весь процесс будет проходить на твоём локальном устройстве и для этого необходимо, установить или обновить следующие приложения:_ [_nodejs & npm_](https://nodejs.org/en)_,_ [_nvm_](https://medium.com/devops-techable/how-to-install-nvm-node-version-manager-on-macos-with-homebrew-1bc10626181)_,_ [_git_](https://git-scm.com/downloads)_,_ [_Visual Studio Code_](https://code.visualstudio.com/download)

**\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_**

**ВАЖНАЯ ИНФОРМАЦИЯ!Прежде чем приступить к выполнению, важно понимать и принимать риски безопасности, связанные с установкой сторонних приложений!**

![](https://storage.googleapis.com/papyrus_images/41f4bf206a24c995cf645d9f55a0c2d52e40bbd570263f4a5c9df306cb0e8881.png)

**1 ШАГ:** Открываем свой аккаунт на GitHub и в своем профиле создаем токен личного доступа (Settings → Developer Settings → Personal Access Token → Token (classic) → Generate New Token (вводим свой пароль от GitHub) → пишем название, выбираем срок, отмечаем галочки → Generate token → Copy the generated Token

![](https://storage.googleapis.com/papyrus_images/5d78e652fdf1d50893e129bdc0a737e9b2fb81b47137dbd5aa2d44b0c2e75007.png)

важно отметить данные показатели

![](https://storage.googleapis.com/papyrus_images/d8f1e8d38bd4d97c9bf6d4d7af521e9d80924c2294e55f488cd4aee411d5c03f.png)

**\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_**

**2 ШАГ:** Затем в GitHub создаем новый !приватный репозиторий с именем ng-questplay

![](https://storage.googleapis.com/papyrus_images/89611aa7ad9e13283788c38b490cba0da13a7a44ae59b79681abc7221adf0e3e.png)

**\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_**

**3 ШАГ:** Загружаем Questplay в своем терминале данными командами

`git clone https://github.com/Nodeguardians/ng-questplay.git`

`cd ng-questplay`

`git remote set-url origin https://github.com/{GITHUB_USERNAME}/ng-questplay.git`

_\*вместо {GITHUB\_USERNAME} вводим имя своего GitHub, пример git remote set-url origin_ [_https://github.com/Tokenomist/ng-questplay.git_](https://github.com/Tokenomist/ng-questplay.git)

`git push -u origin main`

_\*вводим имя своего GitHub (в данном случае Tokenomist) и пароль - созданный токен личного доступа из шага 1_

**\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_**

**4 ШАГ:** Устанавливаем конфигурации через терминал

_\*вместо name - указываем свое имя, вместо example.com - указываем почту, на которую у вас зарегистрирован GitHub_

`git config --global user.name "name"`

`git config --global user.email "example.com"`

**\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_**

**5 ШАГ:** Устанавливаем зависимости через терминал

`npm run start-adventure`

\*_если возникает ошибка при установке из-за доступа, то прописываем команду через sudo_ `sudo npm run start-adventure`

`git add .`

`git commit -m "Add initial dependencies"`

**\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_**

**6 ШАГ:** Чтобы убедиться, что Questplay установлен правильно, выполните следующую команду

`quest`

![](https://storage.googleapis.com/papyrus_images/aa00a09b1eb9ae88ea64295029efe0a19533d3eec84ab9ddcff5f60385b8fa97.png)

**\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_**

**7 ШАГ:** В корневой папке Questplay создаем файл с именем .env

`nano .env`

![](https://storage.googleapis.com/papyrus_images/2de36fd60b68dd34db3bb11f56b58047e8519dc2940967a82ecc4199d2f5bc3a.png)

внутри файла прописываем ваш токен ghp\_...

GITHUB\_TOKEN = "ghp\_..."

_\*никогда и нигде не делитесь своим токеном Github! .env находится в .gitignore, поэтому ваш токен не будет опубликован в репозитории Questplay на Github_

**\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_**

**8 ШАГ:** Загрузка обучающего квеста. Открываем наш проект через VSCode (open и выбираем необходимую папку ng-questplay) и внутри VSCode в разделе терминал вводим команду, вам будет предложено разрешить загрузку, дайте согласие enter на yes

`quest find build-tutorial`

![](https://storage.googleapis.com/papyrus_images/8551106ebef288c68d9d2b7af223915a9263cc98947ec013b8070d8d0a2252ab.png)

_Квест в Questplay находится по адресу ./campaigns/tutorial/build-tutorial_

**\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_**

**9 ШАГ:** Переходим в папку квеста ./campaigns/tutorial/build-tutorial и вписываем в код `return "Hello Guardian";` и сохраняем его

![](https://storage.googleapis.com/papyrus_images/f68dbb5e1eda905aaec3c56f5648ee52a28651d89e535a4530e724e27feeda6c.png)

**\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_**

**10 ШАГ:** Переходим в терминал на компьютере, заходим в папку и запускаем квест

`cd ng-questplay/campaigns/tutorial/build-tutorial`

`quest test 3`

Результат должен быть таким

![](https://storage.googleapis.com/papyrus_images/e8eee534d5508a9cf84e552916b766e22775f28f8fb452863344e136a2d66a67.png)

**\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_**

**11 ШАГ:** Сохраняем процесс и отправляем на проверку

`cd`

`cd ng-questplay`

`git add .`

`git commit -m "#build-tutorial"`

`git push origin`

`cd`

`cd ng-questplay/campaigns/tutorial/build-tutorial`

`quest submit`

**\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_**

**12 ШАГ:** verify - Install the NG Github app in ng-questplay - verify

\*\*В случае проблемы верификации квеста, создаем тикет в [Discord](https://discord.gg/PHmk4H4pfD) проекта. \*\*

[Subscribe](null)

---

*Originally published on [Tokenomist](https://paragraph.com/@tokenom/node-guardians-setting-up-solidity)*
