December 19, 2024

Редкая SBT от TON Society x Nujan

На данный момент SBT получило всего 1.674 человек [19.12.2024].
Всего доступно 20.000 SBT.

Для её получения необходимо пройти испытание по освоению основ написания смарт-контрактов на блокчейне TON с использованием языка программирования TACT. Конечно, программистов, тем более на TACTe не так много, поэтому эта статья поможет получить эту SBT

Канал с TG-проектами: t.me/forge_of_money Канал с тестнетами и статьями: t.me/crypto_school_fom

Что такое Tact?

Tact — это язык программирования для создания смарт-контрактов, разработанный для блокчейнов. Его структура интуитивно понятна, что позволяет быстро освоить основы программирования и реализации сложных логик.

Описание заданий

Вам нужно выполнить несколько этапов, каждый из которых проверяет конкретные навыки:

Создание контракта "HelloWorld"
В этом задании вы научитесь создавать базовый контракт, который возвращает строку "HelloWorld".
Навыки: работа с ключевым словом contract, создание функции для возврата данных.

Создание контракта с переменными
Вы создадите контракт, который хранит две целочисленные переменные, и научитесь инициализировать их значениями, переданными при развертывании.
Навыки: объявление переменных, использование функции init.

Реализация арифметического калькулятора
В этом задании вы разработаете контракт, который выполняет сложение, вычитание, умножение и деление двух чисел.
Навыки: написание getter-функций, проверка входных данных.

Переходим на сайт https://learn.nujan.io/#course

Нажимаем Start Learning

Нажимаем Start Now

Первое задание Hello World:

contract HelloWorld {
  get fun greeting(): String{
    return "HelloWorld";
  }
}

Нажимаем Verify Task

Второе задание Variable Declaration:

import "@stdlib/deploy";
contract VariableDeclaration with Deployable{
  first: Int as uint32;
  second: Int as uint32;
  
  init (first: Int, second: Int){
    self.first = first;
    self.second = second;
  }
}

Нажимаем Verify Task

Третье задание Function Declaration:

import "@stdlib/deploy";
contract FunctionDeclaration with Deployable{
  first: Int as uint32;
  second: Int as uint32;
  
  init (first: Int, second: Int){
    self.first = first;
    self.second = second;
  }
  
  get fun getFirstNumber(): Int{
    return self.first;
  }
  
  receive("incrementFirstNumber"){
    self.first += 1;
  }
}

Нажимаем Verify Task

Четвертое задание Calculator Contract

import "@stdlib/deploy";
contract Calculator with Deployable{
  first: Int as uint32;
  second: Int as uint32;
  
  init (first: Int, second: Int){
    self.first = first;
    self.second = second;
  }
  
  get fun add(): Int{
    return self.first + self.second;
  }
  
  get fun subtract(): Int{
    return self.first - self.second;
  }
  
  get fun multiply(): Int{
    return self.first * self.second;
  }
  
  get fun divide(): Int{
    return self.first / self.second;
  }
}

Нажимаем Verify Task

Подключаем кошелек

Пишем своё имя и имя пользователя Telegram (которое начинается с @)

✨Ждём пока придёт SBT (сразу на кошелек)

Канал с TG-проектами: t.me/forge_of_money Канал с тестнетами и статьями: t.me/crypto_school_fom