Starknet. Подборка активностей для начинающих
StarkNet — децентрализованный ZK-накопитель без разрешений, работающий как сеть L2 поверх Ethereum, сохраняя при этом безопасность основой L1 сети. Крупный и интересный проект.
Фонды: Sequoia, a16z, ThreeArrow, Polychain и др.
Данный гайд предназначен для участников, ранее не выполнявших активности по проекту. В гайде описаны пункты, которые следует выполнить для участия в проекте:
- Установка кошельков
- Взаимодействие с протоколами (мосты, DEX и платформа Lend/Borrow)
- Покупка домена
- Получение роли в Discord
- Деплой контракта (на Mac OS и другой ОС)
- Покупка/продажа NFT на Mintsquare и Aspect
Установка кошельков
Выполняя стандартные шаги, устанавливаем кошелек Braavos или Argent Х если у вас его нет.
Внимание! Перед началом выполнения активности необходимо выбрать кошелек, с которым будете работать: Bravos ИЛИ Argent. На текущий момент смена кошелька в процессе активностей недоступна, т.к. не работает импорт в кошельках.
Использование мостов и DEX
В данной части гайда описаны шаги для взаимодействия с новыми смарт-контрактами, которые недавно вышли в Mainnet, т.к. именно в Mainnet активность считается важнее всего!
Список проектов:
Бриджим токены
Я советую использовать официальный мост. Это очень важная активность для получения дропа, один из самых важных и вероятных мультипликаторов дропа.
Советую пару раз загнать туда ликвидность, именно В Starknet, можно и в две стороны, но именно в сеть загнать 2-3 раза. Спустя неделю — две.
- Переходим на мост
- Подключаем кошельки
- Вводим количество монет для перевода
- Кликаем на кнопку Transfer
На комиссию ушло около 7$, при gwei 19, поэтому ловим такой газ, чтобы дешевле перегонять средства.
Видим, что успешно перевели токены:
Переводим не всю доступную сумму, чтобы по небольшой сумме перегнать через второстепенные мосты на Starknet:
Подробнее про Layerswap:
- Переходим на Layerswap:
- Выбираем вкладку Cross-Chain
- Дальше выбираем сети. У меня средства в ETH, то есть с Etherium мы переводим в StarkNet
- Вводим количество монет. Cоветую переводить 30-50$
- Вставляем свой адрес кошелька ArgentX
- Нажимаем кнопку Swap now:
- После чего заходим в MetaMask и отправляем ту же сумму (в моем примере 0.01), на скопированный адрес.
- Подтверждаем транзакцию:
И видим сообщение об успешности транзакции:
Используем DEX`ы
Myswap
Переходим на сайт
Обязательно делаем свапы, желательно во все доступные торговые пары.
Кидаем токены в пул ликвидности:
- Идем во вкладку Pools
- Выбираем пару для предоставления в пул
- Вводим количество
- Кликаем на Add Liquidity
Оставляем ликвидность на пару дней! Потом можем выводить
Таким образом мы можем добавить или вывести ликвидность:
PawaSwap
Дальше идем на следующий DEX
- Подключаем кошелек
- Вводим количество монет (небольшое!)
- Выбираем DEX для обмена
- Кликаем на Send TX
- Подтверждаем транзакцию
Проверяем успешность транзакции через эксплорер:
Аналогичные шаги выполняем на других DEX: 10kswap и SpaceFi.
Lend/borrow
Nostra
Дальше переходим на сайт и коннектим кошелек:
Далее скроллим чуть ниже и видим активы:
После чего открывается окно, в нем:
- Выбираем сумму (можно добавить вручную, можно просто нажать процент)
- Кликаем на оранжевую кнопку Deposit
- Подтверждаем транзакцию:
Видим сообщение об успешно выполненной транзакции. У меня она шла минут 5-7:
Дальше у нас в окошке Assets появляется наш актив:
- Далее переходим во вкладку Borrow
- Выбираем по минимуму, (25%), так как нам всего лишь нужно проявить активность, и чтобы проскальзывание было минимальное
- Кликаем на кнопку Borrow
- Подтверждаем транзакцию:
После успешной транзакции, у нас появляется окошко Debt:
Изъять средства можно следующим образом:
Советую пока не изымать пару дней, потом вернуться и забрать, чтобы эту активность также растянуть на пару раз)
Покупка домена
Внимание! Если позволяет риск-менеджмент, домен можно купить и на Bravos и на Argent.
Для покупки домена переходим на сайт и коннектим кошелек в правом верхнем углу:
В поле Your username указываем желаемый домен от 5 символов и больше, нажимаем на лупу. После того как домен будет найден, отобразится стоимость его покупки:
Оплачиваем домен и привязываем его к аккаунту во вкладке Identities:
Далее подтверждаем транзакции, ждём обработку и видим, что нас поздравляют с успешным минтом.
После этого верифицируем Discord.
Получение роли в Discord
Сейчас мы рассмотрим получение роли в Discord Starknet.id.
У проекта 9 разных ролей под разные темы. Все забрать дорого, да и вряд ли стоит, так что в этом пункте смотрите на собственные желания и возможности. Но роль +5 Letters Club Member могут забрать те, кто владеет доменом с 5+ символами в майнете, а это — все, кто выполнил предыдущий этап гайда ;)
Шаг 1
Вступаем в Discord и верифицируемся (если не сделали этого ранее):
Шаг 2
Переходим в ветку #bot_commands, вписываем /starky-connect, адрес кошелька и выбираем домен:
Бот генерирует ссылку и мы переходим по ней:
Шаг 3
Нажимаем сюда и подписываем транзакцию:
Шаг 4
Видим сообщение о том, что мы успешно всё сделали:
Ожидаем роль. Сейчас роли выдаются долго, процесс может занять до суток.
Деплой контракта на Мас OS
Все действия в этом разедел выполняются исключительно на MacOS. Для устройств с другой ОС см. следующий раздел.
Официальный гайд по ОС linux и macOS можете найти тут.
Для деплоя необходимо скачать VS code. Затраты на деплой 30-40 центов
Шаг 1
Открываем терминал на компьютере:
И в первую очередь нам необходимо будет установить protostar на устройство. Это вспомогательная утилита для деплоя:
curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | bash
После завершения всех действий мы закрываем терминал и снова открываем его. Дальше вставляем следующую команду в пустую консоль:
protostar -v
Шаг 2
Идем в Finder, затем в нашу папку юзера и создаем папку. Назовем ее, например, deploy:
Кликаем на новую папку правой кнопкой мыши и выбираем new terminal tab at folder:
Нас перекидываем в пустой терминал, но уже с новыми путем и мы вводим следующую команду:
protostar init
Дальше нам предложит создать новую папку и назвать ее. Можете воспользоваться моим примером, чтоб дальше не сбиваться, и назвать stark deploy:
Дальше видим результат как на скриншоте и закрываем терминал:
Шаг 3
Идем в Finder в созданную папку deploy и видим папку stark deploy, которую мы создали в консоли. На этом этапе мы уже полутехнари :) В самой папке stark deploy можете через консоль проверить наличие 3 созданных файлов. Но это необязательно проверять, просто для себя
Шаг 4
В папке VS Code открываем папку stark deploy:
Шаг 5
Переходим во вкладку Extensions. Прописываем cairo в поисковике и устанавливаем данное расширение:
В верхней панели открываем терминал в программе VS Code:
Дальше раскрываем папку scr и нажимаем на файл main.cairo:
Дальше в консоль вбиваем команду и видим результат как на скриншоте:
protostar build
Шаг 6
Правой кнопкой мыши кликаем в пустом месте и создаем новый файл:
Называем .secret. В файл надо вставить приватный ключ с кошелька с Argent x или Braavos:
Для получения приватного ключа идем в кошелек и нажимаем на шестеренку:
Дальше возвращаемся в VS code, вставляем приватник, нажимаем вверху на вкладке крестик и сохраняем файл:
Шаг 7
Дальше нажимаем на папку protostar.toml:
Дальше в терминале VS code вставляем команду как на скриншоте.
НО ВНИМАТЕЛЬНО: В РАЗДЕЛЕ <your address> мы вставляем наш кошелёк от Starknet. Убедитесь что между вашим адресом кошелька и словом --max-fee есть два пробела, иначе будут ошибки.
protostar declare ./build/main.json --account-address <your address> --max-fee auto --private-key-path ./.secret --network mainnet
Видим результат как на скриншоте выше и копируем class hash, он нам сейчас понадобится.
Шаг 8
Вставляем последнюю команду для деплоя
СНОВА ВНИМАТЕЛЬНО. Там где указано <class hash> мы вставляем то, что вверху скопировали, там где <your address> вставляем наш адрес кошелька. Убедитесь что между вашим адресом кошелька и словом --max-fee есть два пробела, иначе будут ошибки.
protostar deploy <class hash> --account-address <your address> --max-fee auto --private-key-path ./.secret --network mainnet
Обращаю внимание: даже если вы будете все правильно писать, могут быть ошибки. Просто повторяйте действия с этой командой и на 2-3 раз будет успешный результат. Выглядит он следующим образом:
Также скажу, что деплой не сразу проходит. Приходится ждать 20-30 минут, и то можете получить результат Rejected. Тогда придется повторить последнюю команду в консоли.
Успешность транзакции можно проверить только через эксплорер, вбив Transaction hash в эксплорер и отслеживая действия транзакции:
После того как мы получим успешный статус по транзакции через проверку Transaction hash, сможем вбить в экплорер Contract address и проверить успешность деплоя. Пока транзакция не пройдет полностью, найти Contract address вы не сможете.
Вот так по поиску выглядит успешно созданный контракт:
F.A.Q
- Мультить так же как и с zkSync можно через VPN или прокси. IP должен меняться на всем компе.
- Чтоб мультить, надо будет менять наш приватник в .secret файле, и вводить просто новые команды protostar declare, protostar deploy с новыми данными от кошелька.
- Делайте внимательно и перепроверяйте себя. Поэтому если запнулись где-то — перепроверьте себя, перечитайте текст и все будет успешно.
Деплой контракта на устройствах без Мас OS
Рассмотрим развертывание смарт-контракта на Starknet для владельцев ПК на операционной системе НЕ MacOS.
Затраты 3-5$ эфира в сети StarkNet на вашем кошельке для оплаты комиссии. Для мультиаккинга необходимо будет сменить IP сервера и сменить IP на компьютере, с которого выполняем команды (но это уже как вариант подстраховки). Сменить IP-адрес сервера можно через VNC клиента, или же вновь арендовать новый сервер за 17 рублей.
Аренда сервера
Арендуем сервер на MacCloud или на любой другой удобной для вас платформе. Достаточно будет арендовать сервер с указанными ниже параметрами. Плюс такого сервера в том, что его можно будет арендовать по дням.
Стоимость аренды в день составляет 17 рублей, но минимальная сумма пополнения личного кабинета составляет 100 рублей +10% комиссия. Я делаю пополнение с карты, деплою смарт-контракт и отказываюсь от аренды сервера. Оставшиеся средства на счете возможно будет использовать в дальнейшем при деплоях других смарт-контрактов.
Минимальные характеристики для развертывания контракта: 1 CPU, 1 GB RAM и 30 GB SSD.
Настройка сервера
После регистрации на сайте пополняем баланс удобным вам способом (банковская карта / Юмани / Вебмани). Далее переходим к выбору параметров сервера (как уже упоминалось, нам достаточно минимальных):
Далее ждем пока статус с «создание» изменится на «активно».
Подключение к серверу
Те, кто уже приступал к работе по установке нод, уже знакомы с приложением MobaXterm. Оно нам понадобится для удалённого подключения к серверу и работе со смарт-контрактом.
Если у вас нет этого приложения, перейдите в канал Ноды в Telegram / Discord и установите по имеющейся там информации. Здесь останавливаться на этом не будем.
На сайте аренды сервера, в разделе Поддержка придет уведомление о создании сервера. Там будут указаны необходимые нам данные: IP (1) и пароль пользователя root (2).
Далее заходим в приложение MobaXterm и подключаемся по полученным данным: IP и паролю. Нажимаем на Session, далее выбираем SSH.
В поле Remote host вводим полученный IP (1), а в Specify username указываем имя пользователя root и жмем OK для подключения. В появившемся окне жмем Accept.
При вводе пароля данные на экране не отображаются. Поэтому копируем с сайта аренды сервера свой пароль и путем нажатия на колесо мышки или через нажатие правой клавиши и выбора в меню Paste, вставляем пароль и нажимаем Enter. Система предложит сохранить пароль и вы можете согласиться, чтобы при последующем заходе на сервер не вводить его повторно.
Развертывание смарт-контракта на сервере
Перед началом выполнения деплоя, необходимо убедиться в наличии эфира в сети StarkNet на вашем кошельке для оплаты комиссии. Потребуется не более 3-5 $.
sudo apt-get install curl
sudo apt update
На некоторых этапах система будет спрашивать ваше согласие. Подтвердите его нажатием клавиши Y. Все команды копируем и вставляем в терминал через нажатие на колесико мышки или через нажатие правой клавиши и выбора в меню Paste.
Так будет выглядеть успешное выполнение крайней команды sudo apt update
curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | bash
source /root/.bashrc
protostar init
- Все три команды, указанные выше, вводим отдельно, по одной. После крайней команды появится строка Project directory Name, в ней придумываем и пишем любое название для папки:
cd «название которое только что придумали»
В моем случае данная команда выглядит как cd StarknetNikita, а успешная смена папки выглядит следующим образом:
protostar build
В результате выполнения команды, появится Class Hash, который мы сохраняем (он пригодится в дальнейшем). Он может у всех повториться и это нормально.
- Потом необходимо создать файл со своим приватным ключом от кошелька в сети StarkNet (Bravos/Argent).
echo «вставляем приватный ключ от вашего кошелька» > .env
Например: echo 12390812890378901723871287381 > .env
protostar declare ./build/main.json --account-address <адрес вашего кошелька> --max-fee auto --private-key-path ./.env --network mainnet
Правильно введенная команда будет выглядеть вот так:
- Копируем Transaction Hash и вставляем в StarkScan, ожидаем пока транзакция перейдет в статус Accepted on L2.
- Развертываем сам смарт-контракт. Для этого вписываем в команду ниже Class Hash, которую мы сохраняли ранее и снова указываем адрес нашего кошелька.
protostar deploy <class hash> --account-address <адрес вашего кошелька> --max-fee auto --private-key-path ./.env --network mainnet
В моем случае это выглядит вот так: protostar deploy 0x523be5e7088bf4226d4fdb28c6a19d4d3b93118f7263849a6d8912bf503d672 --account-address 0x01246374f0053a0b046cca4e8897382bc95a5fd62877c82ef9a4d67220f284c2 --max-fee auto --private-key-path ./.env --network mainnet
- Снова появляются транзакции, копируем Contract address и вставляем в StarkScan. Контракт появляется не сразу, требуется подождать 10-15 минут.
Для тех, кто столкнется с проблемой при вводе команды prototstar build, необходимо сделать следующие действия.
1. rm -rf .protostar
После того как удалили папку с неподходящей для нас версией protostar, необходимо установить версию старее, что бы корректно развернуть смарт контракт.
2. curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | bash -s -- -v 0.10.0
Остальные команды выполняем по гайду. Если в терминале будет уведомление о рекомендации обновления protostar, то просто игнорируем его.
Дополнительная активность: получение сертификата раннего пользователя
Сегодня получим сертификат Starknet с лицензированными значками для ранних пользователей:
Шаг 1
Заходим на сайт и проходим регистрацию: в правом верхнем углу нажимаем на Sign Up, вносим свои данные и нажимаем Create your account.
На ваш e-mail придет письмо, в котором нужно будет пройти по ссылке и активировать аккаунт.
Шаг 2
Справа сверху кликаем на иконку своего профиля, видим сообщение от discobot и нажимаем на него:
Шаг 3
Далее выполняем задания от бота.
Нажимаем Reply и пишем ответ боту: display help, в следующем ответе боту нужно написать: start advanced tutorial:
Бот сообщает, что он создал сообщение от нашего имени и просит его отредактировать. Нажимаем на символ карандаш под этим сообщением и редактируем его (для этого достаточно удалить любое слово из его сообщения от вашего имени).
После редактирования бот попросит вас удалить любое из ваших сообщений, кроме первого. Для этого нажмите под любым из своих сообщений на три точки и удалите его, нажав на стандартный значок корзины:
Затем восстанавливаем или пишем любую команду, используя #:
Шаг 4
После этого бот попросит сменить параметр уведомлений. Сделать это можно, нажав на колокольчик справа от чата с ботом:
Шаг 5
Далее бот попросит создать опрос. Сделать это можно, ответив на его сообщение и нажав на шестеренку, чтобы создать скрытый текст:
После выполнения этого шага получаем сертификат.
Обучение по криптоинвестированию https://coin-side.com