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

В предыдущем уроке мы залили смарт-контракт нашего токена в сеть Ethereum. Давайте посмотрим как можно взаимодействовать с ним с помощью Myetherwallet. Если вы заметили, в коде контракта есть несколько функций, их результат мы можем наглядно увидеть.

Переключитесь в Myetherwallet на вкладку контракт -> Interact with contract (в переводе — взаимодействие с контрактом). В поле Адрес контракта вставьте адрес нашего контракта, а в поле ABI / JSON интерфейс аби который скопировали в предыдущем уроке. Не перепутайте ABI и Bytecode. После этого нажмите Подключиться. Получиться должно так:

Взаимодействуем со смарт-контрактом Появится выпадающее меню со списком функций нашего контракта.

Функции смарт-контракта

Выберите name и отобразиться то что у нас в коде сохранено в константе name, то есть название нашего токена Simple Ethereum Token.

Выберите Symbol и увидите трехбуквенный код токена SET.

Выберите totalSupply и увидите общее кол-во выпущенных токенов. Не удивляйтесь такому огромному числу — 10000000000000000000000000. В константе decimals мы указывали 18 нулей после запятой, уберите их из этого огромного числа и получим наши десять миллионов 10 000 000. Зачем так сделано я объясню в следующих уроках.

Функция transfer (не путайте с transferFrom) позволяет перевести токены на другой адрес. Запомните, если у вас на балансе есть какие-нибудь токены и вы хотите их кому-либо перевести из Метамаска, Myetherwallet или другого кошелька, нажимая кнопку Отправить они не отправляются как-то сами по себе, они выполняют заложенную в коде каждого контракта функцию transfer.
Чтобы отправить, к примеру, 5 токенов кому-либо в поле _to address впишите адрес получателя, а в поле _value uint256 напишите 5 с 18 нулями, то есть 5000000000000000000. После нажмите Записать.
Но если вы захотите перевести 5 токенов с помощью Метамаска или в Myetherwallet в разделе Перевести эфир и токены, то 18 нулей дописывать не надо, пишите просто 5. Они сами добавят эти нули исходя из значения константы decimals.

balanceOf выдаст нам количество токенов на балансе того или иного адреса. Можете вставить свой адрес или адрес того кому перевели 5 токенов и увидеть баланс. Не удивляйтесь ответу, помните про 18 нулей.

Другие функции в выпадающем списке рассмотрим в следующих уроках.

Блокэксплореры наподобие Etherscan или Ethplorer, биржи, кошельки типа Myetherwallet или Метамаска и подобные именно таким образом и осуществляют взаимодействие с токенами, вызывая ту или иную функцию из кода.

Вы можете поиграться таким образом с любым контрактом из тестовой или главной сети.

Читайте также:

Поделиться:

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

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