Projects
July 1

ПЕРВАЯ dApp В TELEGRAM

preview

Оглавление

ГЛАВА 1: Разработка

ГЛАВА 2: Для кого он?

ГЛАВА 3: Описание приложения

Ссылки

Благодарности

ГЛАВА 1: Разработка

Последние 2 месяца я сидел на блокчейне Solana. Ох сколько всего я написал для щиткоинов и их фарма, но сейчас не об этом.

Один из инструментов я реализовывал для команды, которая занимается билдингом щитков и они попросили написать им тулу для фарма холдеров в щиткоинах. Я ее реализовал за 5 часов, мы ее тестили и все работало, но тут один из членов команды подсказал мне, что можно ее монетизировать. Я понял его идею, но в качестве версии для терминала выпускать не хотел, ибо это был бы позор для меня, как для разработчика. Я посмотрел, что сейчас актуально и пришел к выводу, что буду реализовывать все в телеграм боте используя относительно-новую технологию Telegram Mini-Apps или, по-простому, сайт в боте.

экранное время, в некоторые дни достигает 10 часов

Я думал делов на 2-3 дня, но это была слишком позитивная оценка. Непредвиденные ошибки в web2 из-за особенностей(DNS домены, например, более на фейк данные регистрировать нельзя) и любимая солана с херовой документацией и без примеров.

В итоге, написание кода и все тесты заняли: 15 дней или 92 часа и +-15 SOL или ~2100$ затрат.

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

более 150 коммитов на гитхабе

Так же на гитхабе оставил для вас модуль с реализацией платежей. Это базовый пример, скажем так, от которого можно отталкиваться. Я за развитие экосистемы.

ГЛАВА 2: Для кого он?

В первую очередь, данный бот создавался для билдеров щиткоинов на блокчейне Solana. Он помогает увеличивать количество мейкеров в ваших монетах.

Если кошельки новые, то затраты выходят:

0.007 SOL * колличество кошельков

как видите, цена создания токен аккаунта 0.0020, а отправлено 0.0022 и ей недостаточно!

0.007 SOL потому что на новых кошельках нужно создавать Token Account, несмотря на то, что его цена ~0.0021, мы депаем х3 от этой суммы для избежания ошибок, таковы вот особенности соланы, с точными числами работать она не умеет, поэтому лучше перестраховаться. Лимит на первую покупку лучше выбирать в диапазоне

0.000... до 0.0000...

Если же кошельки уже вы использовали, то смею предположить, что оставшийся депозит будет

0.007 SOL - 0.0022 SOL = ~0.0048 SOL

Это значит, что количество солан на покупку можно указать любое, даже 0.00005 SOL! (ниже мы, правда, не тестили).

скрин с тестов

Я рекомендую использовать следующую формулу, опять же, для избежания ошибок со стороны самой соланы:

Цена комиссии сети * 20%

ГЛАВА 3: Описание приложения

Приложение сделал user-friendly и даже если что-то пойдет у пользователя не так, оно поможет вам, поэтому опишу основные негласные моменты.

Update Balances обновляет первый и последний кошелек, а так же 10 рандомных. На данный момент 01.07.2024 мини приложение не дожидается ответа от апи. В будущем, возможно, решение найдется, но пока оставляю данный метод на случайную выборку.

Обязательно читать раздел FAQ в телеграм боте и в Mini-App. Это не просто описание, а инструкция и информация по-поводу всего в данном приложении.

скрин из приложения

Обязательно использовать свою RPC, на паблике работать даже платежи не будут, потому что там нужны слишком большие задержки между запросами. Если у вас ее нет, то можете бесплатно получить ее на Helius. Free subscription вполне хватает для очень активного билдера.

скрин из приложения

Русского языка в приложении пока что нет. Такое мое решение.

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

скрин из приложения и кошелька

Если вы ошибочно ввели сумму, но захотели ее поменять, при этом она помещается в минимальные лимиты, то вы можете сначала оплатить 1 чек, потом ввести остаток этой суммы и оплатить второй чек.

Ну либо просто перезайти в приложение, тогда QR код обновиться.

Также мой сайт не является подтвержденным у кошелька Phantom, поэтому он будет выдавать такое предупреждение

скрины со страницы оплаты

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

Если не хватает средств, то транзакция просто не пройдет и в кошельке ее не будет, а вы увидите следующее:

скрин со страницы оплаты

Если вас все таки беспокоят данные предупреждения, то можете спокойно пополнять баланс через QR код

В мобильном приложении все тоже самое:

скрины из мобильного приложения

Также советую ознакомиться с таблицей, в которую я сгрузил кошельки, на которых проводились тесты. Там наглядно показано, насколько плохо работает солана с маленькими числами (у меня снайпер работает 24/7, метод на покупку более замудренный, с большими ограничениями и все транзакции проходят. Вроде бы и больше ошибок быть должно, но вся суть в депозите на кошельке), поэтому лучше всегда иметь баланс х4-х5 от комиссии, иначе вы просто сожжете его на комиссиях.

Остальную информацию по бонусам к пополнению, по методам и т.д. вы найдете в FAQ.

Приятного пользования!

Ссылки

https://t.me/solana_shitcoin_holders_farm_bot?start=greeting_bonus - реферальная ссылка на бота. Дает бонус в 0.4 sol на депозит новым пользователям.

https://github.com/oaoaoaoaoammm - мой гитхаб

https://docs.google.com/spreadsheets/d/1vPIZ0kRELae-9JvrzNrVk0ws3MQDTB4lRk-nG9b8FG4/edit?usp=sharing - таблица с кошельками, на которых проводились тесты 30.06.24 (сид фразы убраны специально)

И так, как я за развитие web3 экосистемы, то оставлю ссылки на документации(это для разработчиков):

Solana pay docs - https://docs.solanapay.com/

Solana web3.js docs - https://solana-labs.github.io/solana-web3.js/

Solana web3.js examples - https://solana.com/docs/clients/javascript-reference

Jupiter Api docs - https://station.jup.ag/docs/

Solders Python docs - https://kevinheavey.github.io/solders/

Solana.py docs - https://github.com/michaelhly/solana-py, https://solana.com/docs, https://michaelhly.com/solana-py/

Solana Cookbook - https://solanacookbook.com/#contributing

Example QR Payment and Payment with wallet on chain Solana - https://github.com/oaoaoaoaoammm/solana_pay_with_QR_and_wallet

Благодарности

Отдельная благодарность Matapac'y за возможность работать с командой

Спасибо may.crypto за сотрудничество

Спасибо Acina, zemelka.sol и dedinsoul за помощь в альфа- и бета-тестах

Преимущественно благодарен gfhfyjbr.bezzzdarnost и итер'y за помощь в разработке

Спасибо DorogoDao за колабу