Как создать смарт-контракт на TRON > HappyHodler.ru - обучающие статьи о биржах криптовалют, биткоине и трейдинге

Как создать смарт-контракт на TRON

4.6
(8)

Как создать смарт-контракт TRON

В этой статье я расскажу как создать смарт-контракт в блокчейне TRON без установки полной ноды, используя только браузер и кошелек Tronlink.

Подготовительные работы

Как и у Эфира, в блокчейне Трона помимо главной сети есть своя тестовая сеть под названием Shasta. В ней мы и создадим контракт, так как она абсолютно идентична главной сети. Позже я покажу как создать контракт и в главной сети.

Для начала нужно создать кошелек (адрес) в этой сети и получить на него тестовые TRX.

  1. Перейдите на https://shasta.tronscan.org , в верхнем правом углу выберите «Войти в систему -> Импортировать кошелек» и в появившемся окне выберите «Создать кошелек».  Пройдите этапы создания кошелька и запишите получившийся приватный ключ и сам адрес, они будут нужны для импорта в Tronlink.

  2. Создание смарт-контактов не бесплатно и теперь нужно получить 10 000 тестовых TRX для наших целей. Перейдите по адресу https://www.trongrid.io/shasta/ , в поле вставьте свой свежесозданный tron-адрес и нажмите Submit, после чего ваш адрес будет пополнен этими тестовыми trx-сами.
  3. Теперь настала пора установить кошелек TronLink, если он у вас еще не установлен и импортировать приватный ключ, попутно придумав название для этого адреса. Кошелек умеет работать как с главной сетью TRON-a, так и с тестовой Shasto-ой. Подробно здесь писать об этом кошельке не буду, так как в прошлом году написал целую статью про Tronlink.
    Теперь в настройках самого кошелька нужно переключиться с главной сети на Shasta, после чего будет корректно отображаться баланс.

Код смарт-контракта

Это наипростейший смарт-контракт, в который можно записать какую-нибудь фразу (сохранить в блокчейне), а потом прочитать ее:

pragma solidity ^0.4.25;

contract HelloWorld {
//объявляем переменную message типа Текст
string message;

// Функция записи в переменную message
function postMessage(string value) public {
message = value;
}
// функция чтения из переменной message
function getMessage() public view returns (string){
return message;
}
}

Код у нас есть, теперь его нужна куда-то засунуть, чтобы скомпилировать и задеплоить. Те, кто делал контракты в Ethereum знает, что для него есть редактор http://remix.ethereum.org/ . Для Трона тоже есть подобный и располагается он по адресу https://tronsmartcontract.space .

Перейдите на этот сайт и нажмите Compose:

Откроется редактор с уже имеющимся каким-то кодом, который нам не нужен. Поэтому удаляем его и вставляем наш вышеописанный, чтобы получилось так:

Код смарт-контракта TRON

Теперь жмите Compile для компиляции. В появившемся окне Compile Params ничего не меняйте и просто нажмите Compile now:

Компиляция смарт-контракта в Трон

После некоторых раздумий контракт скомпилируется и выдаст отчет внизу страницы с возможностью скопировать ABI и Bytecode:

Смарт-контракт после компиляции

Теперь жмите кнопку Deploy it!. В появившемся окне ничего не меняйте и нажмите Deploy.

После этого появится окно запроса на разрешение проведения транзакции от кошелька TronLink (так как деплой стоит немного trx-ов):

Жмите Accept.

Итак, теперь наш смарт-контракт успешно задеплоен. Можно посмотреть подробности, которые отобразились внизу страницы редактора:

Задеплоенный смарт-контракт

В переводе звучит примерно так: контракт HelloWorld успешно задеплоен, стоимость деплоя составила 1,4 TRX. Хэш транзакции 03b5fe092decc4dabe98bb8b1da6dfebefce5cb4f343c4609bc45eb620fe8f22 и адрес самого только что созданного контракта TFBBGAzwhkQ4BTihBYQ34SUTQ7d1sVVFP9

У вас, соответственно, будут другие хэш и адрес контракта, поэтому запишите адрес контракта, сейчас мы будем с ним взаимодействовать.



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

Взаимодействовать с задеплоенным смарт-контрактом можно разными способами: можно сделать html-страничку с соответствующим javascript-кодом, можно делать это с помощью Node.js и других языков программирования в зависимости от потребностей. Благо наш редактор позволяет делать это прямо в нем.

Перейдите на главную страницу редактора, нажмите Interact, вставьте в поле адрес своего контакта и нажмите Show Contract:

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

Редактор выдаст предупреждение что контракт не верифицирован:

Жмите Close, так как верификация сейчас не нужна.

Теперь вспомним, что в нашем контракте всего 2 функции: одна читает данные из переменной, другая записывает. Прежде чем читать нужно что-то записать, поэтому нажмите вкладку Write, в поле «value — string» напишите что-нибудь (в моем случае фраза «Это сообщение номер 1»), а потом нажмите send:

Помним, что запись в блокчейн платна и стоит немного trx-ов, поэтому появится окно кошелька Tronlink c просьбой подтвердить транзакцию. Жмите Accept.

(Стоимость записи в данном случае составляет десятые доли от 1 trx).

Теперь давайте проверим, действительно ли фраза записалась в блокчейн. Для этого нужно прочитать значение переменной message:

Чтение из смарт-контракта

нажмите вкладку Read, потом кнопку call под надписью Function getMessage:
Результат виден на скриншоте.

Итого

В этой статье я показал как задеплоить примитивный смарт-контракт. Его, конечно-же, можно усложнить, добавить каких-либо функций и так далее, можно даже сделать токен стандарта TRC20 или TRC721, в следствие чего возрастет и стоимость деплоя.

Контракт был задеплоен в тестовой сети. Чтобы задеплоить в реальной нужно сделать только одно: переключиться в настройках кошелька Tronlink с тестовой сети на реальную (Main) и (на всякий случай) перезагрузить редактор в браузере. А дальше делать все тоже самое, что описано выше. Соответственно, расплачиваться за создание и взаимодействие со смарт-контрактом вы уже будете не тестовыми, а реальными TRX-ами, которые должны быть на счету вашего кошелька.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 4.6 / 5. Количество оценок: 8

Оценок пока нет. Поставьте оценку первым.

Так как вы нашли эту публикацию полезной...

Подписывайтесь на нас в соцсетях!

Как создать смарт-контракт на TRON: 3 комментария

  • 08.09.2020 в 13:20
    Permalink

    Так я не понял: в Tron для запуска смартконтрактов достаточно на счету определённого количества TRX, чтоб было определённое количество ресурсов, или они расходуются при каждом обращении? Благодарю.

    Ответ
  • 12.10.2020 в 21:09
    Permalink

    есть аналоги сайту tronsmartcontract.space? он нерабочий уже

    Ответ
  • 09.05.2021 в 10:38
    Permalink

    Смарт контракт какой у Трон,чтобы монетку Трон добавить в кошелёк,не могу найти его самрт контракт

    Ответ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://aurus-diploms.com/geography/kupit-diplom-rostov-na-donu.html купить диплом колледжа https://diplomy-grup24.com/kupit-diplom-v-gorode/omsk.html https://premialnie-diplom24.com/купить-диплом-омск/ https://ru-diplomirovans.com/купить-диплом-омск https://lands-diplomix.com/goroda/orenburg.html https://frees-diplom.com/kupit-attestat/attestat-9-klassov купить свидетельство о рождении https://russiany-diplomans.com/kupit-diplom-sankt-peterburg https://radiplomy.com/kupit-diplomy-sssr