Мастер-класс по Деботам часть II
Создать запись
Создать запись
Популярные тэги
Хотите научиться угадывать тренды рынка ценных бумаг и неплохо заработать на этом? Тогда ...
Биржи, на которых можно торговать TON Crystals: PRIZMBIT
"Так, криптовалюта Prizm полностью манипулируема" автор это как?))...
Биржи, на которых можно торговать TON Crystals: PRIZMBIT
В статье написано, что нет входящих комиссий на пополнение Призм, а на самом деле есть - 2...
Биржи, на которых можно торговать TON Crystals: PRIZMBIT
Здравствуйте ) присоеденяйтесь в телеграмм чат и там узнаете подробнее что нужно для того ...
Почему одни криптовалюты стоят более 45 000$, а другие не преодолевают 1$
Здравствуйте, а как создать статью? Выдает ошибку, что нельзя создавать....
Почему одни криптовалюты стоят более 45 000$, а другие не преодолевают 1$

Мастер-класс по Деботам часть II

2 февраля  состоялось значимое событие Мастер класс по Деботам, на котором разработчики TON Labs рассказали, что такое деботы, как их разрабатывать и как ими пользоваться. Ввиду объема информации было решено разбить это на несколько частей. Представляем вторую часть.

💎Часть I
💎Часть II
💎Часть III

1

Автор публикации

не в сети 1 неделя

Lucifer Morningstar

10
Комментарии: 0Публикации: 17Регистрация: 19-12-2020

Митя : Позволь тебя прервать, у нас есть два вопроса из youtube. Почему мы используем параметр expire, как параметр callback id?

Никита: Отличный вопрос, мы используем этот параметр при тестировании разработки, так как необходимо специальное расширение для обозначения этого поля callback id, в будущем мы так и сделаем, но сейчас пока есть поле expire.

Митя: Когда Вы вызываете кошелек пользователя, как это обрабатывается через дебот браузер? Так как мы не хотим, что пользователь вводил свой кошелек непосредственно. Как в браузере выполнена функция выбора кошелька из списка?

Никита: Окей, я могу вам показать простую имплементацию, как это сделана в Terminal браузер и прокомментировать это в параллели

Я уже скомпилировал дебота и задеплоил на локальную ноду

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

Который разработчик может использовать для получения адреса смарт-контракта. И Terminal дебот браузер позволяет его ввести вручную. В TON Surf это будет более удобно для пользователя, так как вы сможете выбрать адрес из списка своих контактов или Surf будет предлагать основной адрес пользователя.

Для примера я ввел свой адрес, он показывает статус и баланс. Теперь я могу перечислить часть токенов. Я перечислю 1.1 TONs на тот же адрес. Также необходимо ввести свою seed фразу или путь к файлу где хранится это фраза.

После этого, мы видим, что транзакция успешна и работа завершена.

Митя: Есть ли сопрограммы(coroutines) в solidity?

Никита: Нет, сейчас у нас нет сопрограмм, но в будущем это будет. Вы увидите подобный пример в презентации Андрея.

Митя: Будете ли вы делать отдельный интерфейс под каждый отдельный дебот браузер. Сразу отвечу нет, в этом нет смысла. Интерфейсы подходят для всех дебот браузеров и если вам нужно больше интерфейсом я дам ссылку на Github на котором есть DeBot-IS-consortium, где вы можете посмотреть, как добавить свой интерфейс и если сообщество проголосует положительно, он будет добавлен.

Никита: Да, все существующие интерфейсы представлены на нашем Github

Где вы можете получить Solidity файл с кодом и Abi

Митя: Я представляю ссылку на DeBot-IS-consortium.

Вопрос с youtube: как задеплоить дебота?

Никита: Как и любой смарт-контракт. Есть Debot Abi в форме json строки. Все виды интерфейсов и файлов в формате .sol, которые представлены мною можно посмотреть на гитхабе tonlabs

Вопрос: TON SDK поддерживает ли сейчас интерфейсы представленные выше?

Митя:  TON SDK поддерживает Dengine

Никита: В версии 1.6 есть базовая поддержка интерфейсов и на этой  мы добавим поддержку get methods и external calls. Также есть специальная ветка в репозитории на гитхаб,  где мы тестируем ton-cli. И после полноценного тестирования мы сделаем релиз всех изменений и новую версию sdk 1.7.

Хочу сказать, что на данный момент есть два направления развития деботов в C++ и Solidity. И например в C++ есть ряд преимуществ для деботов о которых расскажет Андрей.

Митя:  Хорошо, Никита, ты хочешь нам рассказать что-то еще? Или передадим слово Андрею? А пока еще есть вопросы с youtube.

  1. покажите пример деплоя кошелька с разбором всех параметров
  2. старая версия деботов будет ли работать? и как долго
  3. как один дебот может вызвать дебота и работать с ним, пример

Никита: Окей, я покажу пример своего C++ скрипта

Для начала Вам нужно использовать адрес и скомпилировать используя компилятор Solidity, и мы получаем готовый tvc файл для генерирования файла.

Далее нам нужно отправить несколько токенов на новый адрес используя функцию giver

В данном примере используется только один аргумент debot Abi .Deploy abi это json файл

В целом это все, вам необходимо только подписать.

Также надо добавить, что мы не поддерживаем строки, но поддерживает массивы байтов и вам необходимо конвертировать строки в шестнадцатеричный код, именно поэтому на примере выше я сначала использую cat и потом xxd

Митя: Отвечая на второй вопрос, глобальных изменений не будет и основная архитектура и структура деботов останется такой же, мы будем лишь добавлять различные интерфейсы и методы имплементации.

Вопрос: как один дебот может вызвать дебота и работать с ним. Можете показать пример?

Никита : Я не могу показать эту функцию прямо сейчас, так как она еще в разработке. В общих чертах вы должны импортировать интерфейс другого дебота используя его адрес и вызвать необходимую функцию из дебота.

Митя: Но у нас есть пример общения между деботами в старой архитектуре, возможно его стоит посмотреть. Есть ряд примеров DoD, DePool.

Вопрос с youtube: нужно ли для дебота тоны?

Митя Горошевский: Деботу нужны тоны лишь для того, чтобы оставаться “живым” в сети, а не для развертывания его функций.

Иван Котельников: Могу ли я получить массив graphql из дебота? Чтобы сделать какие манипуляции с ней и отправить обратно?

Митя: Как ты к примеру получаешь баланс по адресу в деботе?

Никита: Для этого есть интерфейс и это называется SDK интерфейс и на данный момент это поддерживает лишь малую часть функций. Также если вы использует свой кастомный интерфейс, который поддерживает ваш дебот браузер, он может общаться с деботом отправля сообщения, но сам дебот должен поддерживать такой тип сообщений.

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

Никита: Да это возможно, например сейчас вы можете создать callback и когда транзакция подтверждена, вы получаете параметры, которые возвращает дебот и дальше вы можете использовать эти значения, чтобы к примеру продолжить логику своего дебота, отправить другие сообщения и т.д

 

Вопрос ютуба: Позвольте уточнить, в старой версии msigdebotcontract была возможность задеплоить кошелек через дебота с помощью функции sendDeployMsg constract call. Хочется посмотреть пример в новом интерфейсе

Никита: Я не могу Вам показать прямо сейчас.

Андрей: Деплой это такое же сообщение, которое имеет свою структуру, поэтому необходимо правильно “подготовить” сообщение, после чего вы отсылаете это сообщение из дебота и Dengine отправит это в сеть используя ваш multisig прокси.

Никита: В Solidity это будет реализовано на этой неделе, потому что необходима поддержка со стороны компилятора, чтобы реализовать такой вид дополнительного сообщения. Ведь когда сейчас генерируется такое сообщение в деботе это означает что он генерирует дополнительное входящее сообщение и смарт-контракт в реальном блокчейне не может сейчас генерировать такой вид сообщения.

Митя: Может быть мы перейдем к разбору деботов на с++?

Александр: Можно я задам вопрос, для тех, кто не так хорошо разбирается в технической части деботов. Могли бы вы рассказать немного про использования функционала в различных приложениях. У нас около 20 партнерств, как например AdGram, Crypterium, World of Dogs. Могли бы вы рассказать мне о двух-трех примерах, что партнеры могу делать используя деботы?

Митя: Окей. Это не так важно о каком партнерстве или интеграции идет речь, когда у нас есть ряд смарт-контрактов. Вместо, того чтобы создавать кастомную логику для всех этих взаимодействий. К примеру у вас есть свой интерфейс, как например у партнеров есть свой интерфейс, он пишет свой смарт-контракт.

 Например: У нас есть партнер WorldChess и пользователи в системе имеют свой профиль, где Вы можете увидеть количество их игр, рейтинг. Вы делаете запрос для получения рейтинга пользователя или хотите например создать турнир. И есть смарт-контракты, которые могут автоматизировано выполнить эти функции. Для этого, вам необходимо иметь интерфейс, как например веб-сайт WorldChess и нужно будет интегрировать функционал смарт-контрактов в интерфейс. Вам нужно сделать кнопки, кастомную логику. Каждая из кнопок будет вызывать смарт-контракты. Основные функции:

  • обрабатывать события возвращаемые функцией(callback),
  • имплементировать всю эту бизнес логику,
  • передавать полученные значения в другой смарт-контракт

И все это создается внутри вашего интерфейса, внутри вашего вебсайта, что является своеобразным бэкэндом (базы данных и прочее, на чем работает ваш сайт) и также у вас есть еще один бэкенд — блокчейн и еще дополнительные кастомная логика, которая отвечает за работу с основным бэкендом.

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

Это очень сложно, именно поэтому мы не видим много хороших блокчейн интерфейсов на данный момент. Деботы же позволяют на примере WorldChess или любого другого проекта, делать одну вещь, установить SDK в ваш веб-сайт и имплементировать интерфейс для взаимодействия с Debot Engine. В теории, вам не нужны кастомные кнопки, достаточно создать блокчейн браузер внутри пользовательского интерфейса и все остальное будет сделано, через деботы. Вся логика будет реализована через деботы и если что будет изменено в деботе, вам не нужно будет что-то менять в своем приложении. Вы меняет код в деботе и все остальное продолжает работать. Если вы делаете обновление бизнес-логики вашего смарт-контракта, вам достаточно написать еще одного дебота.

Например смарт-контракты для такой сферы DeFi, как DEX(тип обмена криптовалютой, который позволяет осуществлять транзакции с криптовалютой безопасно в режиме онлайн и без необходимости в посреднике ). Sub-governance создаст DEX, который сейчас поддерживает обмен токенов и партнер захочет использовать этот функционал у себя. Во эпоху старого блокчейна , котороу пока на самом деле лишь 5 лет, вам необходимо начать переписать свой код и дополнить его функционалом для работы с DEX, а также поддерживать взаимодействие ваших смарт-контрактов и этого DEX’а. Это означает больше кода, отладки и головной боли. А благодаря деботам, для того, чтобы выполнить такой процесс, нужно лишь написать нового дебота, который будет работать с вашими уже существующими деботами и DEX и вызвать его по адресу вашем интерфейсе и все.

Вам достаточно поддерживать Дебот браузер внутри вашего приложения и добавить своего нового дебота, так как сам дебот может рекомбинировать самого себя и работать с каким угодно количеством смарт-контрактов.

Сейчас например в эфириуме есть специалисты, которые пишут смарт-контракты для DeFI: для оплаты, для займов, для стейкинга, для стейблкоинов, обмена и т.д.

В свою очередь есть компании, которые занимаются созданием удобных пользовательских интерфейсов для всего этого. А теперь будут лишь нужны люди, которые разрабатывают деботов. Дебот будет выступать в качестве интерфейса, который взаимодействует со смарт-контрактами. Также это безопасно, так как:

  • каждый может увидеть код дебота
  • развернуть локально у себя на компьютере и посмотреть какие именно действия он выполняет

Таким образом это полезное преимущество и возможность, не только для партнеров, но для пользователя который разрабатывает свое приложение в блокчейне. Да могут быть ошибки, связанные с некорректным программированием, но сам дебот не держит ваши токены/деньги. Надеюсь я ответил на Ваш вопрос.

Продолжение читайте здесь.

1

Автор публикации

не в сети 1 неделя

Lucifer Morningstar

10
Комментарии: 0Публикации: 17Регистрация: 19-12-2020

Популярное

Интервью с Александром Филатовым, СЕО TON Labs

Интервью с Александром Филатовым, СЕО TON Labs

12
Предложено партнерство c BlockchainGameStudio

Ну что, начнем новый рабочий день на хорошей ноте? В этот понедельник, 9 ноября поступило предложение о сотрудничестве от BlockchainGameStudio с весьма необычной идеей внедрения Free TON в проект, над…

15
Как стать судьей в голосованиях и получать за это TON’ы?

Хотите узнать, как получить статус жюри, оценивать работы в конкурсах и получать за это токены? Все есть в короткой и простой инструкции. Добро пожаловать под кат!

2
Интервью с WorldChess, новые партнеры Free TON! ?

Сегодня в гостях на подкасте Free TON Blog СЕО WorldChess расскажет о проекте и партнерстве Free TON, а также ответит на несколько вопросов сообщества. Слушайте прямо сейчас! Ведущая — Полина…

4
Интервью с Ron Millow — Chief Business Officer в TON Labs

Друзья, всем желаем всем хорошего начала недели и хотим поделиться недавним интервью с Ron Millow (Chief Business Officer в TON Labs)! В этом подкасте Ron рассказывает о перспективах Free TON,…

4
NFC Card by TON Labs скоро станет доступна для предзаказа

Пссст, хотите хороших новостей, чтобы скрасить этот пасмурный день? Совсем скоро будет доступна для предзаказа карта TON Labs NFC Card. Здесь мы расскажем подробнее о ее функциях и о том,…

3
Интервью с Егором Петуховским (Co-Founder биржи криптовалют Chatex).

Добрый вечер, наши слушатели! Спешим порадовать Вас с новым интервью с Егором Петуховским — совладельцем биржи криптовалют Chatex!??? Время прослушивания 24 минуты⏳ Ведущая — Полина Вишневская. Специально для blog.freeton.org. Приятного…

3
Инструкция по созданию кошелька в Surf

Первый шаг для начала работы с приложением — создание личного кошелька.  Здесь все предельно просто: Открываем приложение. Под каруселью с описанием приложения находим и нажимаем кнопку Create Wallet. Далее внимательно…

2
Cointelegraph предложил партнерство Free TON

Почти сутки назад на официальном форуме Free TON было опубликовано предложение о партнерстве, сделанное Cointelegraph, одной из крупнейших медиаплощадок, посвященных блокчейну. В этом посте будут рассмотрены подробнее условия этого предложения…

1
Интервью с «папой» TON Surf(а) — Евгений Теслов💳💻

Доброго времени суток, всем слушателям подкаста✌🏽💎

2
Авторизация
*
*




Регистрация
*
*
*
Пароль не введен
Генерация пароля