第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.

免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。
目錄
第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.

免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表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, 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.