Solidity - это основной язык программирования для создания смарт-контрактов на Tron и других блокчейнах на базе Ethereum. Синтаксис Solidity похож на синтаксис JavaScript, что делает его более легким для изучения людьми, имеющими опыт работы с JavaScript.
Деятельность 1: Потратьте около 20 минут на изучение документации по Solidity (https://docs.soliditylang.org/). Запишите все сходства или различия, которые Вы заметили между 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(), которая возвращает текущее значение числаТеперь, когда у нас есть наш контракт, давайте развернем его на Nile Testnet.


Вуаля! Ваш первый контракт теперь доступен в Nile Testnet!
После успешного развертывания Вашего смарт-контракта в Nile Testnet через TronIDE, выполните следующие шаги:
store() и retrieve().store(). Убедитесь, что число находится в допустимом диапазоне для uint256 (между 0 и приблизительно 1.15x10^77). После того, как Вы ввели число, нажмите кнопку store(). Будет инициирована транзакция.
retrieve(). Нажмите кнопку retrieve(). Для этой функции нет необходимости вводить какое-либо значение.retrieve() не создаст новой транзакции, поскольку это функция представления (она не изменяет состояние контракта). Вы должны увидеть вывод, отображаемый на вкладке "консоль" в нижней части экрана TronIDE. Число, которое Вы видите, должно быть таким же, как и то, которое Вы сохранили с помощью функции store().Вот и все! Вы взаимодействовали со своим развернутым контрактом. Это взаимодействие составляет основную часть того, как пользователи взаимодействуют с Вашими dApps.