Дейтинг-бот для Telegram помогает найти анкеты девушек и парней, которые хотят познакомиться. Внутренняя валюта — это возможность купить дополнительный функционал внутри бота.
Тезисно о проделанной работе:
- Написали смарт-контракт, язык Solidity, блокчейн Ethereum.
- Выпустили внутреннюю валюту в виде токенов.
- Научили общаться блокчейн с ботом с помощью ораклайзера.
- Для удобства покупки сделан веб-интерфейс.
Валюту назвали BFT. За нее можно совершать покупки внутри бота. По сути, BFT – это токены в блокчейне Ethereum. Чтобы выпустить токены и дать возможность проводить с ними операции нужен смарт-контракт.
Схема покупки выглядит так:
Зачем в этой цепочке нужен блокчейн?
BFT на блокчейне Ethereum – это прозрачность для пользователей. Децентрализация блокчейна обеспечивает уверенность пользователя – токены принадлежат ему. Из всех платформ выбрали самую известную и массовую – Ethereum.
Чтобы токен в будущем котировался на бирже и поддерживался кошельками, важно было сделать его по стандарту ERC-20. Стандарт предписывает переменные и функции, которые должны быть в контракте. Подробнее про стандарт здесь.
Контракт написали на Solidity. Это специальный язык для Ethereum. Про язык можно прочесть здесь.
Как происходит покупка
После выбора платформы, мы проработали сценарий покупки и характеристики контракта. Сколько токенов выпускать, по какому курсу продавать, как оптимизировать контракт (чтобы тратить меньше газа) и т.д. Покупку дополнительных функций и возможностей в боте планируется реализовывать за счет дополнительных контрактов.
Для начала пользователь выбирает в боте «Купить Pro-account». Ему приходит ссылка для покупки валюты и его ID.
Чтобы пользователю было удобнее покупать, мы сделали веб-страницу. С помощью библиотеки Web3.js связали контракт и страницу. При покупке пользователь вводит сумму и ID. По ID мы свяжем пользователя в блокчейне и пользователя в базе бота.
После покупки в блокчейне Ethereum выполняется смарт-контракт. В своем кошельке пользователь видит детали покупки и хранит валюту BFT.
После успешной оплаты срабатывает ораклайзер.
Ораклайзер — это специальный смарт-контракт, который связывает блокчейн и офчейн сервисы.
Дейтинг-бот присылает уведомление, что внутренняя валюта BFT куплена и Pro-account работает.
Проект тестируется в RinkeBy Test Net.
Проведите конкурс среди участников CMS Magazine
Узнайте цены и сроки уже завтра. Это бесплатно и займет ≈5 минут.