Как сделать свое приложение для Base App
В данном гайде я пройдусь по всем важным моментам для того чтобы успешно с нуля создать свое приложение и грамотно его интегрировать в Base app + Farcaster
Для успешного выполнения не потребуются знания кода, так как всю сложную работу за нас будет делать нейронка. Я буду пользоваться платным тарифом Claude за 20$/месяц.
Одно приложение я уже создал в начале января, а в этой статье просто пошагово покажу как делаю новое тест приложение чисто для примера.
Создавать я буду аналог Google Динозавра (это тот, который прыгает, когда нет инета)
Каждая новая игра будет стоить пользователю 1 цент.
Оглавление
5) Перенос игры на Github и Vercel
Что нам понадобится
1) Любая норм нейронка, которая работает с кодом. Подписки стоят примерно 20$. Я буду использовать Claude. Еще подойдет Cursor, Gemini, а для простых приложений обычный Chat GPT
Если вы до сих пор не знаете какую карту юзать для оплаты подписок криптой/рублями - я перешел уже как месяца 1.5 назад на Zarub - не нужен KYC, выпуск карты 8$, действует год, комса ~2.5% при пополнении
2) Установить программы - Node.js, Git, VS Code
4) Аккаунт Farcaster и Base app
Путь будет выглядеть так:
1) Создаем на нашем ПК в VS Code первоначальный вид игры. В качестве хостинга выступает наш ПК и наши файлы. На этом этапе уже работает кошелек, но только мы видим наш сайт.
Все изменения в коде происходят на этом этапе через наш ПК в приложении Visual Studio Code ну или в обычном ПК блокноте
Тут же рекомендую сразу сделать деплой Smart Contract, он нужен только для того, чтобы оплаты через него падали на наш кошелек и статистика Base app учитывала эти транзакции в будущем в статистику актива
2) Как только сделали первоначальный вид игры, добавили Смарт контракт - можно переходить к переносу нашего сайта на хостинг - самый популярный это Vercel. Тут будет работать связка Github+Vercel
Нужно это чтобы в нашу игру можно было играть другим людям и она стала доступна всем в интернете
Тут уже все исправления в коде идут через Github
3) Все игра доступна в web версии, нам в целом все нравится. Далее уже интегрируем игру в Base app через сайт Base dev с помощью кода
4) Вносим финальные штрихи и фиксим баги в нашем приложении
5) Получаем первый актив, подаемся на "Грант" от Base по форме с сайта Base dev
‼️Сразу дам предупреждение: НЕ ОСТАВЛЯЙТЕ персональные API ключи, сид фразы, смарт ключи и тд в своей версии кода на Github, так как туда может зайти любой и заполучить данную инфу
Подготовка к ворку
Напоминаю, я буду делать все через Claude + Claude Code
По опыту рекомендую делать проект не просто в чате, а создать именно отдельный Project. Лимиты в чате заканчиваются быстрее, после парочки раз он не дает работать в нем и приходится создавать новый, где заново объяснять весь контекст
Модель я выбираю Opus 4.5, не самую последнюю, так как дневных лимитов будет больше
Вот что я ему написал в качестве промта (тупо вставил свой пост с отчетом о прошлой апки) и добавил свои новые вводные - какое приложение мне нужно, что хочу видеть в нем, а также что я начинаю с нуля и новичок
А вот что он ответил на мой вопрос в конце "Сможешь помочь и понятна ли тебе задача?"
В середине пути из-за багов в Claude я перешел на Claude Code, делается это вот здесь.
Можно сразу интегрироваться Github
И просить чтобы он самостоятельно делал изменения в Github
А пока что продолжим в обычном Claude. Следую прописанной им инструкции👇
• Скачиваю Note JS - https://nodejs.org/en/download
• Скачиваю GIT - https://git-scm.com/install/windows
• Дальше по желанию можно скачать https://code.visualstudio.com/, тут проще редактировать код
После всех манипуляций лучше перезагрузить ПК
Делаем
• Установил нужные проги и пишу про это Клоду, чтобы он выдал дальнейшие инструкции
• Делаю все что мне говорит нейронка. Создал папку, открываю ее в терминале
• Продолжаю следовать плану нейронки
На этом этапе я понял что он не ознакомился с доками которые я ему скинул и повел меня через лес и дебри
• Claude выдал после этого новый путь попроще
• Копирую и скидываю ему и фиксим за 10 секунд
• Дальше также выполняю что он говорит и доходит до добавления API client ключа. У меня в прошлой апке из за него не работало приложение, только в веб-версии
• Брать этот API нужно най сайте: https://portal.cdp.coinbase.com/projects/api-keys/
Дохожу до того что мы имеем начальную версию нашего будущего сайта, в качестве хостинга выступает мой комп и мои файлы. Далее мы перенесем все это на хостинг Vercel, чтобы он стал доступен по доменной ссылке для всех
• Вот пока как это выглядит, по факту шаблонная страница MiniKit, которую мы должны превратить в нашего "Динозавра"
• Просит показать как выглядят папки моего проекта, показываю, чтобы можно было дальше двигаться
• Все! Получаю дальнейшую инструкцию и видим код который уже написала нейронка
• Все ИИ сделала первые наброски. Пока что выглядит не очень
• Все нашаманил, он мне скинул два кода которые я вставил в эти папки
Вот уже стало лучше выглядеть, но есть над чем работать.
Пошаманил еще с промтом и стало вроде бы даже неплохо выглядеть
Все апка готова, позже мы ее закинем на хостинг и свяжем кодом с Base app.
Сейчас задача сделать оплату 1 цент за каждую игру через смарт контракт, деплоить его будем на известном сайте Remix
Smart Contract
- Вставляем код, который дал Claude
- Запомните эти значения(выделил красным), пригодятся для будущего верифа нашего контракта. Жмем Compile
- Ставим сеть Base в кошельке и жмем оранжевую кнопку DEPLOY
- На этом этапе может вылезти предупреждение от Покет, но все ок
"Почему появилось это предупреждение?
Pocket Universe предупреждает о скамах, когда люди деплоят контракты с обещаниями "MEV ботов" или "арбитража" — это популярный скам.
- Получившийся адрес контракта отдаем нейронке, чтобы она интегрировала это в наш сайт для будущих оплат
- Вот так выглядит ссылка https://basescan.org/address/ваш адрес
- Заходим в пункт Contract
*В поле "Enter the Solidity Contract Code" вставить код
*Optimization: выберать Yes (если в Remix включал оптимизацию)
Добавил код, теперь в приложение подключение по кошельку
Но мне не нравится, что нет Rabby и есть мелкие нюансы. Он мне расписал ряд действий и я понял что в падлу добавлять Рабби, все равно в мини-апке он не нужен
В целом пока по техническим моментам все, если что потом доправим
Перенос игры на Github и Vercel
- Далее переносим сайт на Vercel - это бесплатный хостинг, на котором мы получим еще и домен. После размещения тут наш сайт будет доступен для всех в интернете. Логинимся туда через Github
📌 Если просит СМС при реге Vercel, то проходят любые номера, просто смс ждать надо ~3 минуты (у меня так было)
У меня выдало ошибку, иду фиксить в нейронку просто скопировав ошибки
- Я внес изменения и жду пока поменяется статус с оранжевого кружка на галочку = "все ок", можно дальше. Красный крестик = опять идем в нейронку и фиксим ошибки
Короче по началу вылетала ошибка (красный крестик), фиксил код с помощью ИИ, заканчивались лимиты и приходилось откладывать
- Оказалось дело в том, что я в проекте не поставил в Vercel нужную версию на которой написан мой сайт
Все сайт работает на домене+хостинге от Vercel - https://new-dino-game-base.vercel.app/
Интеграция в Base app
Наш сайт готов и теперь делаем интеграцию
Дальше закиньте в нейронку эти документы
https://docs.base.org/mini-apps/quickstart/create-new-miniapp
https://docs.base.org/mini-apps/quickstart/migrate-existing-apps
С пометкой: "мне нужно интегрировать мое приложение в Base app, дай пошаговый план как это сделать"
Client API KEY еще раз напомню на сайте https://portal.cdp.coinbase.com/projects/api-keys/
это ключ именно от Coinbase Developer Platform (CDP). OnchainKit - это SDK от Coinbase/Base, и ключ выдаётся только через их платформу.
Идем на сайт https://www.base.dev/
Это по факту что-то типо не доверсии веб версии base app
- Если у вас нет Macbook+Iphone, рекомендую регаться через почту (кошелек всегда будет привязан к этой почте, но можно и сидку создать)
- После регистрации у вас создается новый кошелек Base app, который мы подключим к Farcaster и в Talent
- После регистрации для новых пользователей вылезет сразу окно с подтверждением
- Но у меня уже есть одна апка, поэтому сейчас только добавление новой через +
- Тут надо привязать наш кошелек к Farcaster, прежде чем нажать verify
- Идем в веб версию Фаркастер
Добавляем наш EVM кошелек с Base dev (он определяется как Coinbase Wallet)
По итогу у меня подключен мой мейн кошелек, который главный в мобильном приложении Base app
А также кошелек, который создался в Base Dev
Также рекомендую связать эти кошельки в Talent protocol
Base dev кош добавляется через кнопку Base Account
- Все учетки связали, идем обратно на Base Dev
- Нажали Verify и нас просит добавить этот код. Копируем и кидаем нейронке
НО видите пишет Account associated и заглушку в виде dummyaccount. Это не критично потому что в Base app уже пишет, что приложение сделано мной hoscup.eth
- Но я хочу чтобы в манифестах тоже писало hopscup eth. Вы можете скипнуть этот шаг
- Для этого привязываем апку к Фаркастеру
- Заходим на сайт https://farcaster.xyz/~/developers/
- У меня уже есть моя первая апка
- У вас попросит отсканировать приложение на телефоне и после подтверждения выдаст это поле с кодом, который надо кинуть нейронке, чтобы она сама исправила или сказала вам что именно нужно исправить на Github
Добавляем Favicon, Avatar и тд.
Начну с Favicon, меняется он тут и должен быть 32x32 пикселя, сделать это можно Figma или Photoshop
Формат .iso, можно сделать просто конвертацию из png на этом сайте https://convertio.co/ru/png-ico/
Здесь лого, превью от гиперссылки и тд. Я рекомендую заменять их не меняя названия, так как они употребляются в коде и будет лишняя работа. Просто заменяем каждый файл по очереди
Вот точный список того, что нужно заменить, и параметры для каждого файла:
Для чего: Аватарка приложения в Farcaster, иконка на рабочем столе телефона.
Формат: PNG, прозрачный или с фоном.
Как получить: Скачай через кнопку в приложении (DOWNLOAD ICON.PNG).
Для чего: Это та самая картинка, которая всплывает, когда ты кидаешь ссылку другу.
Размер: 1200x630 px (стандарт Open Graph).
Совет: Сделай её красивой — например, синий фон, логотип динозавра по центру и крупная надпись "DINO RUN".
Для чего: Показывается в каталоге мини-приложений (App Store внутри Base/Farcaster).
Размер: Примерно 1000x1000 px (квадрат) или 1080x1920 (вертикальный скриншот игры).
Для чего: Загрузочный экран (появляется на секунду при открытии приложения).
Размер: 1242x2436 px (или любой крупный вертикальный размер).
Финальный штрих
Делаем нашу апку "замеченной"👇(не путать с узнаваемой/популярной)
1) Конечно же публикуем пост в Base App к нам на стринцу, с кратким описанием преимуществ приложения и ссылкой на него. Дублируем в X
Моя апка уже есть в Apps на Base app, оказывается уже есть такая игра от другого разраба (ну потому что идея слишком очевидная и я делал чисто для примера)
Также теперь добавили раздел Leaderboard на сайте base dev, его не было в январе, когда я делал свою первую апку.
Сбрасывается раз в неделю, поэтому круто было бы сюда попасть
"Когда обновляется таблица лидеров? - Каждую среду в 12:00 по тихоокеанскому времени (PT).
За какой период учитываются данные в таблице лидеров? - Неделя, начиная с 1 февраля (воскресенье 00:00 UTC — воскресенье 00:00 UTC).
Как рассчитывается рейтинг? - Рейтинг приложения в настоящее время определяется на основе активности кода билдера. Добавляйте свой builder-код к большему числу транзакций, чтобы увеличить охват.
Каковы требования для участия? - Чтобы иметь право на участие, ваше приложение должно быть зарегистрировано на base.dev.
Можно ли отказаться от участия в таблице лидеров? - Да. Перейдите в Settings → General → Public Visibility (выключите переключатель)."
Наибольшая ценность к WTU - еженедельные транзакции пользователей (уникальные) через Base app
Еще более сильная активность - податься на Verify приложения от команды Base, тут все проверяется в ручную
Подаемся официально через форму для Base
Кнопка "Get Featured" - это заявка на официальное продвижение внутри экосистемы Base и Farcaster.
Что это дает?
- Главная страница: Твое приложение может попасть в баннеры или раздел "Trending" на главной странице Base App. Это дает в 10-100 раз больше трафика, чем просто "поиск".
- Доверие: У таких приложений появляется отметка "Verified" или "Featured", что повышает конверсию — люди охотнее будут платить тот самый 1 цент, зная, что это проверенная игра.
- Алгоритмы: Приложения из этого списка чаще рекомендуются пользователям на основе их активности в сети.
- Гранты: Часто те, кто попадает в Featured, первыми узнают о программах вознаграждения (Builder Rewards) и могут получить ретро-дроп за развитие сети.
То есть по факту это необязательно и не факт, что сюда тебя примут. Но шанс есть и если "да", то считай ты в шоколаде
Для успешного прохода нужно заполнить много полей в форме. Рекомендую подаваться сюда только, если есть актив или твое приложение реально отличается от других и несет "вэлью" + выглядит "премиально"
Ну, в целом все, постарался показать путь вайбкодера от начала до своей работающей апке в Base
Не забывай давать фидбек. Особенно, если есть какая то другая и уникальная инфа, которая усилит статью и поможет другим.
Вся статья не является призывом к действиям. Финальный выбор всегда за вами! Be Based💙
📌Больше полезного в моем канале Telegram, подпишись!)