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

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

3
(1)

В предыдущем уроке мы залили смарт-контракт нашего токена в сеть 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 или Метамаска и подобные именно таким образом и осуществляют взаимодействие с токенами, вызывая ту или иную функцию из кода.

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

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

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

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

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

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

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

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

  • 19.08.2018 в 20:16
    Permalink

    Меня интересует следующее: возможно ли сделать прямое взаимодействие со смартконтрактом в Ethereum через javascript: пользователь авторизуется, производит переводы, использует функционал и т.п.
    Знаете или нет Steem — вот как там API. Можно ли такое сделать со смартконтрактами Ethereun?
    P. S. У вас есть статьи по созданию смартконтрактов для EOS, их запуску, нюансам, измерениям затрат вероятныхх по ресурсам и т.п. Хочу научиться делать смартконтракты для еоса на C++.
    Благодарю.

    Ответ
    • 20.08.2018 в 01:10
      Permalink

      Да, конечно. Есть библиотека web3.js https://github.com/ethereum/web3.js , с помощью нее можно сделать взаимодействие с контрактами.

      По созданию контрактов на EOS пока нет статей, будет время напишу, но там посложнее будет, так как делать их надо из под Линукса, просто в браузере не получится, EOS еще не оброс такой же инфраструктурой как Эфир.

      Ответ
      • 21.08.2018 в 18:57
        Permalink

        Ок. за web3 благодарю. Но и по смартконтрактам EOS тоже жду. Благодарю.

        Ответ
  • 21.08.2018 в 18:59
    Permalink

    Ещё интересует, как рассчитать, где выгоднее запустить DApp: в EOS, Ethereum или где ещё.

    Ответ
    • 26.08.2018 в 08:47
      Permalink

      Пока лучше в Ethereum, он более популярен среди населения.

      Ответ
  • 30.08.2018 в 00:12
    Permalink

    Подскажите пожалуйста, как забрать Эфир со смарт контракта? Развернул сеть, купил токены, а эфир пришел не на адрес указанный в коде, а на смарт контракт, как его достать оттуда — не пойму

    Ответ
    • 30.08.2018 в 10:44
      Permalink

      Контракт из статьи про ICO часть 1 ? Если да, в Myetherwallet запустите функцию transferEthers, все эфиры перешлются с адреса контракта на ваш адрес

      Ответ
  • 07.01.2020 в 14:07
    Permalink

    Как вывести обратно на кошелек с помощью MEW свой эфир и токены со смарт-контракта децентрализованной биржи, например с forkdelta?

    Ответ
    • 07.01.2020 в 18:59
      Permalink

      С помощью MEW на forkdelta никак. Нужно взять приватный ключ от кошелька, которым пополняли депозит на forkdelte и залогиниться с помощью него там через Import account. Потом в разделе Balance вывести.

      Ответ

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

Ваш адрес 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