Деплой смарт контракта в берачейн и не только, УГА БУГА!
Данный гайд является ~3тьей итерацией "как деплоить", где я показываю и рассказываю о разных штуках: linux, терминале, OpenZeppelin и etc.
Используя весь накопленный опыт и учтя прошлые ошибки, решил разобрать на примере berachain все этапы по деплою.
Подобное было в гайдах по Aleo и X1, найдете на моем канале
Для этого стоит расписать отдельную статью о тестнетах в крипте (подмиг-подмиг), если сильно захотите - появится. А так деплои мы делаем как возможный мультипликатор к дропу, добавляем себе активности на кошелек и вообще мы умницы, изучаем новое.
Данный гайд получается скорее образовательным, команды для деплоя были заменены на логику: поиск инфы, вчитывание инфы и ее адаптация. Но это в большей степени касается метода деплоя через терминал, о нем речь и пойдет дальше. Всякие сайты для деплоя не требуют такой степени погружения и изучения новых навыков.
Возможно я разберу старую идею писать коммиты на гитхаб для дропа, идея деплоя трансформируется и мы уйдем в светлое будущее КЖДН
Методы деплоя: выбор между терминалом и сайтами
Многих терминал отпугнет, тем более требует предварительных приготовлений. От покупки VPS до возможной установки Linux, а там еще команды какие-то вводить нужно. Но такой метод на практике получается:
- Более надежным, так как нужно просто повторять череду команд, а я добросовестно вписывал в свои гайды ВСЕ нужные команды, даже с учетом потенциальных ошибок.
- Более универсальным: с таким контрактом не возникнет проблем при верификации контракта. Что является приятным бонусом для нас.
- Это занимает не так много времени, существует утилита Foundry. Она очень часто встречается в документации проектов, у берачейн она единственная для деплоя ERC-20.
И это не так страшно, как вам может показаться! Смотрите какая красота
Самый функциональный и удобный для деплоя - https://thirdweb.com/
Здесь огромный список тестнет/маиннет сетей, при необходимости вы можете добавить кастомную.
Но метод стал платным. Есть пробный месяц бесплатно!
https://remix.ethereum.org - очень старый сайт, он будет более сложным для новичка и может вызвать неожиданные ошибки при деплое, придется жанглировать файлами смарт контрактов и версиями компилятора.
Деплой через Remix может быть немного запутанным. Было решено разобрать именно его, так как он порой встречается и в официальных гайдах. Добавил немного скриншотов и ссылку на гайд по X1, там они более подробные
А еще есть разные сайты созданные для деплоя токенов в 1+ сети, они появились после Scroll SBT, но на их фоне сильно выделился gas.zip
Про него будет ниже в блоке про сам деплой.
Малого того, что Gas.zip сам по себе имба мост (+L0 мост) он еще предоставляет такой удобный метод деплоя токенов. Все нужное на одной странице! Работает только с имеющимся сетями на сайте, благо тут есть берачейн
И как я писал в своем гайде тут можно купить BERA
Вот так это выглядит эта красота, решает все наши проблемы, но мы тут за образованием.
Показываю цепочку действий, как совершить деплой.
Это пример того, как вам нужно подходить к каждому проекту, мы разбираем поиск официальных docs от проектов и работу с их гайдами по деплою! Выбрали какой-то новый проект, ничего о нем не знаем, но очень хотим принять участие в тестнете и сделать деплой.
Взяли мы наш berachain и пошли искать его официальный сайт
Официальный сайт ведь не только для деплоя нужен. Мы можем перейти и в соседние кнопки, лучше узнать этот проект. Это сверх полезное действие, особенно когда вы ищите кран и проекты в новой сети, которую плохо знаете.
Foundry топ, но можете использовать и Hardhat.
Здесь важно очень внимательно читать и понимать контекст, нам требуется предварительно установить Foundry. Нажав на название прямо в гайде мы получим инструкцию по установке
https://book.getfoundry.sh/getting-started/installation
И тут опять какие-то команды в терминале указаны, что делать то?
Я упрощу вам задачу и покажу способы как вы можете поступить для работы с терминалом.
- В гайде указано, что Windows нужно установить Git Bash
https://gitforwindows.org/
Это позволит вам использовать такой же линукс терминал - Мы покупаем VPS с Debian 12, попутно гуглим подключение к VPS из Windows.
- Мы просто используем MacOS (это такой же линукс, лол)
- Мы используем виртуальную машину с линукс, гайдов в интернете полно. https://www.virtualbox.org/ + Debian 12
- Мы устанавливаем к себе линукс, инструкций в интернете полно гайдов
И вот после выбора нужного метода, когда вы получили свой терминал и установили в него Foundry - идем дальше по гайду. В основном там много текста, который я не вижу смысл сюда переносить, моя цель вас научить. А не переписать чужой готовый гайд.
Я уточню некоторые моменты для вас
Все что через #написано - комментарий. На этом скриншоте лишь 1 команда
Здесь аналогично, это даже не команда, а просто пример структуры файлов, который нас мало интересует.
Дальше будет момент, когда нам нужно будет заменить приватный ключ, чтобы подписать транзакцию с нашего кошелька. Показываю, что мы делаем
Мы воспользуемся nano, если его вдруг нет в вашей системе:
Если вы именно установили линукс: sudo apt install nano
Затем мы открываем файл и меняем приватный ключ
Переписываем нужную строчку и нажимаем : ctrl + O, ctrl + X
А для итогового деплоя мы просто используем команду
forge script script/BingBongToken.s.sol --rpc-url https://artio.rpc.berachain.com/ --broadcast;
Сайты для деплоя: мой любимый Thirdweb и другие
К сожалению стал платным, но для бесплатного триала можно привязать карту банка
Подключаем кошелек и выбираем тип смарт контракта нас интересует Token (ERC20), но можем пробовать любые.
Заполняем все поля и нажимаем Deploy Now он проведет нас по всем этапам: если делаем ERC721, то сайт покажет нам и минт НФТ и настройку минта этих НФТ.
Но платить деньги за деплой не хочется, тем более когда есть бесплатные аналоги. Может менее удобные, зато соблюдается одно из главных крипто правил НИКАКОГО СУКА ПЛАТНО! Но карту привязать бесплатно, для берачейна хватит.
Можем использовать комбинацию OpenZeppelin Wizard + Remix
Это очень старый метод, который со временем улучшался, они даже ИИ помощника завезли. Вы можете внимательно посмотреть деплой вот в этом гайде на медиум
Можете поставить галочки по своему усмотрению, дать красивое название и выставить какой-нить преминт, дальше нажмите кнопку Open in Remix
Compile contract, затем нажимаем на кнопочку Deploy & run transactions (обвел вам красным). А затем кнопку Deploy
Контракт готов, в тестнете существует ваш смарт контракт.
Gas.zip имба, которую я оставил на последок.
Малого того, что Gas.zip сам по себе имба мост (+L0 мост) он еще предоставляет такой удобный метод деплоя токенов ERC20. Все нужное на одной странице! Работает только с имеющимся сетями на сайте, благо тут есть берачейн
И как я писал в своем гайде тут можно купить BERA
Заполняем все поля, ставим желанные для нас галочки и деплоим - все. Это самый удобный и быстрый метод. Этот метод отличный для берачейна, но не подойдет для множества других тестнетов и маиннетов. А еще нет возможности сделать НФТ.
Такой контракт имеет прозрачный и понятный код, который в последствии никто не заменит в тихую. В тестнетах многие не делают этот этап, так как в различных гайдах он не прописан + немного проблемный.
Сделать в терминале через foundry не составляет труда, одна команда и одно подставляемое значение - ваш приватный ключ.
А вот подтвердить смарт контракт сделанный иным способом может оказаться проблемным, я очень сильно настрадался во время деплоя x1 тестнета.
Берачейн тоже не предполагает верификации контрактов созданных не через терминал, точнее все методы описаны именно для него.
У других тестнетов может быть иначе, в обозревателе блоков находится форма верификации, вот пример - https://www.oklink.com/ru/x1-test/verify-contract-preliminary
Здесь мы заполняем данные и оставляем исходный код контракта, но подойдет только контракт созданный Foundry. И это подходит только для тестнета X1, показываю просто для примера.
Готово, теперь ты умеешь деплоить
Не забудь подписаться на мой телеграм канал https://t.me/deployladeploy