Solidity є основною мовою програмування для створення смарт-контрактів на Tron та інших блокчейнах на основі Ethereum. Синтаксис Solidity подібний до JavaScript, що полегшує його вивчення для людей, які мають досвід роботи з JavaScript.
Завдання 1: Витратьте приблизно 20 хвилин на ознайомлення з документацією Solidity (https://docs.soliditylang.org/). Запишіть будь-які подібності чи відмінності, які ви помітили між Solidity та іншими мовами програмування, які ви знаєте.
У Solidity ми маємо різні типи даних, включаючи uint, адресу, bool і рядок. Ми визначаємо змінні для зберігання даних і пишемо функції для обробки цих даних. Давайте створимо простий розумний контракт. Ми створимо договір, який зберігає номер і дозволяє нам отримувати та змінювати цей номер.
Відкрийте TronIDE і створіть нову робочу область. У першому контракті під назвою Storage.sol ви можете знайти цей код:
Solidity 
 // SPDX-License-Identifier: GPL-3.0 
 pragma solidity >=0.7.0 <0.9.0; 
 /** 
 * @title Storage 
 * @dev Зберігати та отримувати значення у змінній 
 */ 
 contract Storage { 
 uint256 number; 
 /** 
 * @dev Зберігати значення у змінній 
 * @param num значення для збереження 
 */ 
 функція store(uint256 num) public {
        number = num;
    }
    /** 
 * @dev Повернене значення 
 * @повернене значення з 'number' 
 */ 
 функція retrieve() публічний перегляд повертає (uint256){
        return number;
    }
}
У цьому контракті ми заявляємо:
number змінної стану типу uint256 (256-розрядне ціле число без знаку)store() , яка оновлює значення numberretrieve() , яка повертає поточне значення numberТепер, коли у нас є контракт, давайте розгорнемо його в Nile Testnet.


Вуаля! Ваш перший контракт уже опубліковано на Nile Testnet!
Після успішного розгортання смарт-контракту в Nile Testnet через TronIDE виконайте такі дії:
store() і retrieve().store() . Переконайтеся, що число знаходиться в прийнятному діапазоні для uint256 (від 0 до приблизно 1,15x10^77). Після введення числа натисніть кнопку store() . Буде ініційовано транзакцію.
retrieve() . Натисніть кнопку retrieve() . Для цієї функції не потрібно вводити значення.retrieve() не створить нову транзакцію, оскільки це функція view (вона не змінює стан контракту). Ви повинні побачити результат, який відображається на вкладці «консоль» у нижній частині екрана TronIDE. Число, яке ви бачите, має збігатися з тим, яке ви зберегли за допомогою функції store() .Це воно! Ви взаємодіяли з розгорнутим контрактом. Ця взаємодія є основною частиною того, як користувачі взаємодіють із вашими dApps.