Lição 2

Основы смарт-контрактов Solidity

Добро пожаловать на Урок 2! Сегодня мы погрузимся в увлекательный мир программирования на Solidity и создания смарт-контрактов. Мы изучим фундаментальный синтаксис Solidity, типы данных, переменные и функции. Кроме того, мы напишем наш первый простой смарт-контракт и развернем его в Nile Testnet, используя TronIDE и наш кошелек TronLink. Давайте сразу перейдем к делу!

Введение в язык программирования Solidity для смарт-контрактов

Solidity - это основной язык программирования для создания смарт-контрактов на Tron и других блокчейнах на базе Ethereum. Синтаксис Solidity похож на синтаксис JavaScript, что делает его более легким для изучения людьми, имеющими опыт работы с JavaScript.

Деятельность 1: Потратьте около 20 минут на изучение документации по Solidity (https://docs.soliditylang.org/). Запишите все сходства или различия, которые Вы заметили между Solidity и другими известными Вам языками программирования.

Синтаксис, типы данных, переменные и функции в Solidity

В Solidity мы имеем различные типы данных, включая uint, address, bool и string. Мы определяем переменные для хранения данных и пишем функции для манипулирования этими данными. Давайте создадим очень простой смарт-контракт. Мы создадим контракт, который будет хранить число и позволит нам извлекать и изменять это число.

Откройте TronIDE и создайте новую Рабочую область. В первом контракте под названием Storage.sol Вы можете найти этот код:

Solidity
// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

/**
 * @title Storage
 * @dev Store & retrieve value in a variable
 */
contract Storage {

 uint256 number;

   /**
 * @dev Хранить значение в переменной
 * @param num значение для хранения
 */
 function store(uint256 num) public {
        number = num;
    }

    /**
 * @dev Возвращать значение 
 * @return value of 'number'
 */
 function retrieve() public view returns (uint256){
        return number;
    }
}

В этом договоре мы заявляем:

  • Номер переменной состояния типа uint256 (256-битное беззнаковое целое число)
  • Функция store(), которая обновляет значение числа
  • Функция retrieve(), которая возвращает текущее значение числа

Написание и развертывание простого смарт-контракта Tron в сети Nile Testnet

Теперь, когда у нас есть наш контракт, давайте развернем его на Nile Testnet.

  • Шаг 1: Составьте контракт в TronIDE, нажав на вторую иконку сверху на левой боковой панели (Compile).
  • Шаг 2: Убедитесь, что Ваш кошелек TronLink подключен к Nile Testnet.

  • Шаг 3: Нажмите на третью сверху иконку на левой боковой панели TronIDE (Развернуть & Run Transactions), выберите Ваш контракт в выпадающем меню и нажмите 'Развернуть'.

Вуаля! Ваш первый контракт теперь доступен в Nile Testnet!

Взаимодействие с развернутым контрактом

После успешного развертывания Вашего смарт-контракта в Nile Testnet через TronIDE, выполните следующие шаги:

  • Шаг 1: Откройте вкладку "Развертывание & Выполнение транзакций" в TronIDE. Это третья иконка сверху на левой боковой панели.
  • Шаг 2: В разделе "Развернутые контракты" ниже Вы увидите список развернутых Вами контрактов. Найдите контракт с названием "Storage". Щелкните на нем, чтобы развернуть его и увидеть функции контракта.
  • Шаг 3: Вы увидите две перечисленные функции, store() и retrieve().
  • Шаг 4: Чтобы сохранить число, введите нужное число в поле рядом с функцией store(). Убедитесь, что число находится в допустимом диапазоне для uint256 (между 0 и приблизительно 1.15x10^77). После того, как Вы ввели число, нажмите кнопку store(). Будет инициирована транзакция.

  • Шаг 5: На экране появится уведомление TronLink, запрашивающее Ваше подтверждение на проведение данной операции. Подтвердите транзакцию.
  • Шаг 6: После того, как транзакция была подтверждена (Вы можете проверить ее статус в истории транзакций Вашего кошелька TronLink), Вы можете вызвать функцию retrieve(). Нажмите кнопку retrieve(). Для этой функции нет необходимости вводить какое-либо значение.
  • Шаг 7: Вызов функции retrieve() не создаст новой транзакции, поскольку это функция представления (она не изменяет состояние контракта). Вы должны увидеть вывод, отображаемый на вкладке "консоль" в нижней части экрана TronIDE. Число, которое Вы видите, должно быть таким же, как и то, которое Вы сохранили с помощью функции store().

Вот и все! Вы взаимодействовали со своим развернутым контрактом. Это взаимодействие составляет основную часть того, как пользователи взаимодействуют с Вашими dApps.

Isenção de responsabilidade
* O investimento em criptomoedas envolve grandes riscos. Prossiga com cautela. O curso não se destina a servir de orientação para investimentos.
* O curso foi criado pelo autor que entrou para o Gate Learn. As opiniões compartilhadas pelo autor não representam o Gate Learn.
Catálogo
Lição 2

Основы смарт-контрактов Solidity

Добро пожаловать на Урок 2! Сегодня мы погрузимся в увлекательный мир программирования на Solidity и создания смарт-контрактов. Мы изучим фундаментальный синтаксис Solidity, типы данных, переменные и функции. Кроме того, мы напишем наш первый простой смарт-контракт и развернем его в Nile Testnet, используя TronIDE и наш кошелек TronLink. Давайте сразу перейдем к делу!

Введение в язык программирования Solidity для смарт-контрактов

Solidity - это основной язык программирования для создания смарт-контрактов на Tron и других блокчейнах на базе Ethereum. Синтаксис Solidity похож на синтаксис JavaScript, что делает его более легким для изучения людьми, имеющими опыт работы с JavaScript.

Деятельность 1: Потратьте около 20 минут на изучение документации по Solidity (https://docs.soliditylang.org/). Запишите все сходства или различия, которые Вы заметили между Solidity и другими известными Вам языками программирования.

Синтаксис, типы данных, переменные и функции в Solidity

В Solidity мы имеем различные типы данных, включая uint, address, bool и string. Мы определяем переменные для хранения данных и пишем функции для манипулирования этими данными. Давайте создадим очень простой смарт-контракт. Мы создадим контракт, который будет хранить число и позволит нам извлекать и изменять это число.

Откройте TronIDE и создайте новую Рабочую область. В первом контракте под названием Storage.sol Вы можете найти этот код:

Solidity
// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

/**
 * @title Storage
 * @dev Store & retrieve value in a variable
 */
contract Storage {

 uint256 number;

   /**
 * @dev Хранить значение в переменной
 * @param num значение для хранения
 */
 function store(uint256 num) public {
        number = num;
    }

    /**
 * @dev Возвращать значение 
 * @return value of 'number'
 */
 function retrieve() public view returns (uint256){
        return number;
    }
}

В этом договоре мы заявляем:

  • Номер переменной состояния типа uint256 (256-битное беззнаковое целое число)
  • Функция store(), которая обновляет значение числа
  • Функция retrieve(), которая возвращает текущее значение числа

Написание и развертывание простого смарт-контракта Tron в сети Nile Testnet

Теперь, когда у нас есть наш контракт, давайте развернем его на Nile Testnet.

  • Шаг 1: Составьте контракт в TronIDE, нажав на вторую иконку сверху на левой боковой панели (Compile).
  • Шаг 2: Убедитесь, что Ваш кошелек TronLink подключен к Nile Testnet.

  • Шаг 3: Нажмите на третью сверху иконку на левой боковой панели TronIDE (Развернуть & Run Transactions), выберите Ваш контракт в выпадающем меню и нажмите 'Развернуть'.

Вуаля! Ваш первый контракт теперь доступен в Nile Testnet!

Взаимодействие с развернутым контрактом

После успешного развертывания Вашего смарт-контракта в Nile Testnet через TronIDE, выполните следующие шаги:

  • Шаг 1: Откройте вкладку "Развертывание & Выполнение транзакций" в TronIDE. Это третья иконка сверху на левой боковой панели.
  • Шаг 2: В разделе "Развернутые контракты" ниже Вы увидите список развернутых Вами контрактов. Найдите контракт с названием "Storage". Щелкните на нем, чтобы развернуть его и увидеть функции контракта.
  • Шаг 3: Вы увидите две перечисленные функции, store() и retrieve().
  • Шаг 4: Чтобы сохранить число, введите нужное число в поле рядом с функцией store(). Убедитесь, что число находится в допустимом диапазоне для uint256 (между 0 и приблизительно 1.15x10^77). После того, как Вы ввели число, нажмите кнопку store(). Будет инициирована транзакция.

  • Шаг 5: На экране появится уведомление TronLink, запрашивающее Ваше подтверждение на проведение данной операции. Подтвердите транзакцию.
  • Шаг 6: После того, как транзакция была подтверждена (Вы можете проверить ее статус в истории транзакций Вашего кошелька TronLink), Вы можете вызвать функцию retrieve(). Нажмите кнопку retrieve(). Для этой функции нет необходимости вводить какое-либо значение.
  • Шаг 7: Вызов функции retrieve() не создаст новой транзакции, поскольку это функция представления (она не изменяет состояние контракта). Вы должны увидеть вывод, отображаемый на вкладке "консоль" в нижней части экрана TronIDE. Число, которое Вы видите, должно быть таким же, как и то, которое Вы сохранили с помощью функции store().

Вот и все! Вы взаимодействовали со своим развернутым контрактом. Это взаимодействие составляет основную часть того, как пользователи взаимодействуют с Вашими dApps.

Isenção de responsabilidade
* O investimento em criptomoedas envolve grandes riscos. Prossiga com cautela. O curso não se destina a servir de orientação para investimentos.
* O curso foi criado pelo autor que entrou para o Gate Learn. As opiniões compartilhadas pelo autor não representam o Gate Learn.
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Thailand, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.