Мое
September 21

Разворачиваем простой смартконтракт в TRON

Данная статья разработана и подготовлена в телеграмм канале Крипто Парень. Подписывайся на мой телеграмм канал, там много полезной и интересной информации по криптовалютам.

Предлагаю вам услуги своего бота, по заправке газом в сети TRC20.

Информацию по использованию и аренде газа в сети TRC20 можешь найти в моей группе TRON TRX SELL ENERGY



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

Функционал данного смартконтракта будет:
Пополнение баланса смартконтракта, вывод баланса смартконтракта. Вывести баланс смартконтракта может только его владелец.

Я уже развернул свой смартконтракт: https://nile.tronscan.org/#/contract/TBCXV14wF2Sek9eC63hgxhe6jo2fqLGS65

И потестировал выводы с него от лица владельца-создателя: https://nile.tronscan.org/#/transaction/833c181f09fbabaf17500483d7a4bc38e3c6c3e4bbad6573d4ef0e4920c84d4a

А это транзакция вывода с рандомного кошелька: https://nile.tronscan.org/#/transaction/5f7d94635858f965dacec6056b771d325f315f981483f1199a80741e864c549e

Как видите оно не проходит, вывести средства может только владелец контракта!


Это тестнет сети TRON. Nile тестнет, как им пользоваться писал тут. В мейнете так же все работает!

Давайте по шагам:


1. Получение тестового TRX на свой кошелек

Переходим в веб приложение тронлинк, в верхней части (как показано на рисунке), переключаем Tron Mainnet на Tron Nile Testnet.
Далее идем в КРАН, и кидаем себе на адрес любые токены: TRX. Главное помните, тестнет привязан к IP адресу вашего пк, если хотите стать тест-миллионером, смените свой IP адрес, например через запрещенный сервис ВПН. Так же в тестнете есть свой тронскан.

Далее с тест токенами, можете развлекаться как хотите, стейкать, открывать смарты, переводить.. Короче все то, на что у вас в майнете трона не хватало реальных денег!

2. Пишем код смартконтракта TRON на языке solidity

У меня мой смартконтракт на solidity 0.5.10, это важно!

Чтобы далеко не ходить - прилагаю мой код, можете поиграться.

Скачать код можно тут, либо скопипастить ниже.

+++++++++++++++++++++++++++++++++++++++++++

pragma solidity ^0.5.10;

contract TronWallet { address owner;

constructor() public { owner = msg.sender; }

// Депозит TRX на контракт function deposit() public payable {}

// Вывод средств function withdraw(address payable recipient, uint amount) public { require(msg.sender == owner, "Only owner can withdraw"); require(address(this).balance >= amount, "Insufficient balance"); recipient.transfer(amount); }

// Получение баланса контракта function getBalance() public view returns (uint) { return address(this).balance; } } +++++++++++++++++++++++++++++++++++++++++++

Код между плюсами указан если что.

Сохраняете данный код a файл TronWallet.sol

3. Деплоим код смартконтракта в тестнет TRON

Для этого идем сюда: https://nile.tronscan.org/#/contracts/contract-compiler

и просто загружаем код нашего смартконтракта (сохраненный ранее файл TronWallet.sol) в форму на тронскане.

Действия и кнопки на скрине:

Нажимаем кнопку Compile (1)

В окне выбираем версию нашего solidity 0.5.10 (2)

Ваша версия указана в коде контракта (3)

Нажимаем Confirm (4)

Завершающий этап - кнопка Deploy (5)

Далее контракт деплоится, мы его подписываем и на этом этапе платим комиссию в TRX. В тестнете это стоило мне 23 TRX.

В конце этого процесса, вам выдается ссылка на ваш контракт.

4. Послесловие

В контракте от лица владельца можно изменять потребление газа (комиссии сети) тут:

Пополнять смартконтракт можно простым переводом на него, по его адресу.

Выводить (снимать) средства можно в этом меню: https://nile.tronscan.org/#/contract/TBCXV14wF2Sek9eC63hgxhe6jo2fqLGS65/code

По меню и управлению смартконтрактом с тронскана:

Заходим в меню как показано на скрине(0)

Так как пополнить смартконтрат можно простым переводом на него TRX, то нас интересует только вывод с него - меню(1)

В поле(2) вводим адрес получателя средств

В поле(3) вводим сумму. Если хотим вывести 100 TRX то вводим 100000000 (100 и 6ть нулей)

Либо вводим в поле(3) 100, но в меню(4) выбираем 10в6 степени.
Нажимаем кнопочку Send.

Вот и все. Ну и на адресе владельца контракта должен быть TRX для оплаты газа.


Теперь вы умеете деплоить (разворачивать) смартконтракт в сети TRON.