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, адресу, 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() , яка оновлює значення number
  • Функція retrieve() , яка повертає поточне значення number

Написання та розгортання простого розумного контракту Tron у тестовій мережі Nile

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

  • Крок 1: Скомпілюйте контракт у TronIDE, клацнувши другий значок зверху на лівій бічній панелі (Компіляція).
  • Крок 2. Переконайтеся, що ваш гаманець TronLink підключено до Nile Testnet.

  • Крок 3: клацніть третю піктограму зверху на лівій бічній панелі в TronIDE (Deploy & Run Transactions), виберіть свій договір у спадному меню та натисніть «Deploy».

Вуаля! Ваш перший контракт уже опубліковано на Nile Testnet!

Взаємодія з розгорнутим контрактом

Після успішного розгортання смарт-контракту в Nile Testnet через TronIDE виконайте такі дії:

  • Крок 1: Відкрийте вкладку «Deploy & Run Transactions» у TronIDE. Це третя піктограма зверху на лівій бічній панелі.
  • Крок 2. У розділі «Розгорнуті контракти» нижче ви побачите список контрактів, які ви розгорнули. Знайдіть контракт під назвою «Зберігання». Натисніть на нього, щоб розгорнути його та переглянути функції контракту.
  • Крок 3: Ви побачите в списку дві функції, store() і retrieve().
  • Крок 4: Щоб зберегти число, введіть потрібне число в поле поруч із функцією store() . Переконайтеся, що число знаходиться в прийнятному діапазоні для uint256 (від 0 до приблизно 1,15x10^77). Після введення числа натисніть кнопку store() . Буде ініційовано транзакцію.

  • Крок 5. З’явиться сповіщення TronLink із запитом підтвердження для здійснення цієї транзакції. Підтвердьте транзакцію.
  • Крок 6: Після підтвердження транзакції (ви можете перевірити статус в історії транзакцій вашого гаманця TronLink), ви можете викликати функцію retrieve() . Натисніть кнопку retrieve() . Для цієї функції не потрібно вводити значення.
  • Крок 7. Виклик функції retrieve() не створить нову транзакцію, оскільки це функція view (вона не змінює стан контракту). Ви повинні побачити результат, який відображається на вкладці «консоль» у нижній частині екрана 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, адресу, 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() , яка оновлює значення number
  • Функція retrieve() , яка повертає поточне значення number

Написання та розгортання простого розумного контракту Tron у тестовій мережі Nile

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

  • Крок 1: Скомпілюйте контракт у TronIDE, клацнувши другий значок зверху на лівій бічній панелі (Компіляція).
  • Крок 2. Переконайтеся, що ваш гаманець TronLink підключено до Nile Testnet.

  • Крок 3: клацніть третю піктограму зверху на лівій бічній панелі в TronIDE (Deploy & Run Transactions), виберіть свій договір у спадному меню та натисніть «Deploy».

Вуаля! Ваш перший контракт уже опубліковано на Nile Testnet!

Взаємодія з розгорнутим контрактом

Після успішного розгортання смарт-контракту в Nile Testnet через TronIDE виконайте такі дії:

  • Крок 1: Відкрийте вкладку «Deploy & Run Transactions» у TronIDE. Це третя піктограма зверху на лівій бічній панелі.
  • Крок 2. У розділі «Розгорнуті контракти» нижче ви побачите список контрактів, які ви розгорнули. Знайдіть контракт під назвою «Зберігання». Натисніть на нього, щоб розгорнути його та переглянути функції контракту.
  • Крок 3: Ви побачите в списку дві функції, store() і retrieve().
  • Крок 4: Щоб зберегти число, введіть потрібне число в поле поруч із функцією store() . Переконайтеся, що число знаходиться в прийнятному діапазоні для uint256 (від 0 до приблизно 1,15x10^77). Після введення числа натисніть кнопку store() . Буде ініційовано транзакцію.

  • Крок 5. З’явиться сповіщення TronLink із запитом підтвердження для здійснення цієї транзакції. Підтвердьте транзакцію.
  • Крок 6: Після підтвердження транзакції (ви можете перевірити статус в історії транзакцій вашого гаманця TronLink), ви можете викликати функцію retrieve() . Натисніть кнопку retrieve() . Для цієї функції не потрібно вводити значення.
  • Крок 7. Виклик функції retrieve() не створить нову транзакцію, оскільки це функція view (вона не змінює стан контракту). Ви повинні побачити результат, який відображається на вкладці «консоль» у нижній частині екрана 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.