June 2, 2023

Starknet. Подборка активностей для начинающих

StarkNet — децентрализованный ZK-накопитель без разрешений, работающий как сеть L2 поверх Ethereum, сохраняя при этом безопасность основой L1 сети. Крупный и интересный проект.

Фонды: Sequoia, a16z, ThreeArrow, Polychain и др.

Социальные сети:

Данный гайд предназначен для участников, ранее не выполнявших активности по проекту. В гайде описаны пункты, которые следует выполнить для участия в проекте:

Установка кошельков

Выполняя стандартные шаги, устанавливаем кошелек Braavos или Argent Х если у вас его нет.

Внимание! Перед началом выполнения активности необходимо выбрать кошелек, с которым будете работать: Bravos ИЛИ Argent. На текущий момент смена кошелька в процессе активностей недоступна, т.к. не работает импорт в кошельках.

Использование мостов и DEX

В данной части гайда описаны шаги для взаимодействия с новыми смарт-контрактами, которые недавно вышли в Mainnet, т.к. именно в Mainnet активность считается важнее всего!

Список проектов:

Мосты:

  1. Layerswap
  2. Starkgate
  3. Wido

DEX:

  1. Myswap
  2. PawaSwap
  3. 10kswap
  4. SpaceFi

Lend/borrow:

  1. Nostra

Бриджим токены

Я советую использовать официальный мост. Это очень важная активность для получения дропа, один из самых важных и вероятных мультипликаторов дропа.

Советую пару раз загнать туда ликвидность, именно В Starknet, можно и в две стороны, но именно в сеть загнать 2-3 раза. Спустя неделю — две.

Итак:

  • Переходим на мост
  • Подключаем кошельки
  • Вводим количество монет для перевода
  • Кликаем на кнопку Transfer
На комиссию ушло около 7$, при gwei 19, поэтому ловим такой газ, чтобы дешевле перегонять средства.

Видим, что успешно перевели токены:

Переводим не всю доступную сумму, чтобы по небольшой сумме перегнать через второстепенные мосты на Starknet:

Подробнее про Layerswap:

  1. Выбираем вкладку Cross-Chain
  2. Дальше выбираем сети. У меня средства в ETH, то есть с Etherium мы переводим в StarkNet
  3. Вводим количество монет. Cоветую переводить 30-50$
  4. Вставляем свой адрес кошелька ArgentX
  5. Нажимаем кнопку Swap now:
  • На следующем этапе включаем ползунок и нажимаем кнопку Confirm:
  • Дальше копируем этот адрес кошелька:
  • После чего заходим в MetaMask и отправляем ту же сумму (в моем примере 0.01), на скопированный адрес.
  • Подтверждаем транзакцию:
  • Дальше на платформе нажимаем кнопку I did:

И видим сообщение об успешности транзакции:

Используем DEX`ы

Myswap

Переходим на сайт

  • Подключаем кошелек
  • Выбираем пару
  • Выбираем количество монет
  • Кликаем на кнопку Swap
Обязательно делаем свапы, желательно во все доступные торговые пары.

Кидаем токены в пул ликвидности:

  • Идем во вкладку Pools
  • Выбираем пару для предоставления в пул
  • Вводим количество
  • Кликаем на Add Liquidity
Оставляем ликвидность на пару дней! Потом можем выводить

Таким образом мы можем добавить или вывести ликвидность:

PawaSwap

Дальше идем на следующий DEX

  • Подключаем кошелек
  • Вводим количество монет (небольшое!)
  • Выбираем DEX для обмена
  • Кликаем на Send TX
  • Подтверждаем транзакцию

Проверяем успешность транзакции через эксплорер:

Аналогичные шаги выполняем на других DEX: 10kswap и SpaceFi.

Lend/borrow

Nostra

Дальше переходим на сайт и коннектим кошелек:

Далее скроллим чуть ниже и видим активы:

  • Выбираем желаемый актив и кликаем на него:

После чего открывается окно, в нем:

  • Выбираем сумму (можно добавить вручную, можно просто нажать процент)
  • Кликаем на оранжевую кнопку Deposit
  • Подтверждаем транзакцию:

Видим сообщение об успешно выполненной транзакции. У меня она шла минут 5-7:

Дальше у нас в окошке Assets появляется наш актив:

  • После чего кликаем на кнопку Manage:
  • Далее переходим во вкладку Borrow
  • Выбираем по минимуму, (25%), так как нам всего лишь нужно проявить активность, и чтобы проскальзывание было минимальное
  • Кликаем на кнопку Borrow
  • Подтверждаем транзакцию:

После успешной транзакции, у нас появляется окошко Debt:

  • Снова кликаем на Manage:
  • Идем в вкладку Repay
  • Вписываем количество
  • Кликаем на кнопку Repay
  • Подтверждаем транзакцию:

Изъять средства можно следующим образом:

Советую пока не изымать пару дней, потом вернуться и забрать, чтобы эту активность также растянуть на пару раз)
  • Снова кликаем на Manage:
  • Выбираем вкладку Withdraw
  • Выбираем по максимуму
  • Кликаем на кнопку Withdraw
  • Подтверждаем транзакцию:

Покупка домена

Внимание! Если позволяет риск-менеджмент, домен можно купить и на 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:

Для получения приватного ключа идем в кошелек и нажимаем на шестеренку:

Нажимаем на наш account:

Выбираем export private key:

Дальше возвращаемся в 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

  1. Мультить так же как и с zkSync можно через VPN или прокси. IP должен меняться на всем компе.
  2. Чтоб мультить, надо будет менять наш приватник в .secret файле, и вводить просто новые команды protostar declare, protostar deploy с новыми данными от кошелька.
  3. Делайте внимательно и перепроверяйте себя. Поэтому если запнулись где-то — перепроверьте себя, перечитайте текст и все будет успешно.

Деплой контракта на устройствах без Мас OS

Рассмотрим развертывание смарт-контракта на Starknet для владельцев ПК на операционной системе НЕ MacOS.

Затраты 3-5$ эфира в сети StarkNet на вашем кошельке для оплаты комиссии. Для мультиаккинга необходимо будет сменить IP сервера и сменить IP на компьютере, с которого выполняем команды (но это уже как вариант подстраховки). Сменить IP-адрес сервера можно через VNC клиента, или же вновь арендовать новый сервер за 17 рублей.

Аренда сервера

Арендуем сервер на MacCloud или на любой другой удобной для вас платформе. Достаточно будет арендовать сервер с указанными ниже параметрами. Плюс такого сервера в том, что его можно будет арендовать по дням.

Стоимость аренды в день составляет 17 рублей, но минимальная сумма пополнения личного кабинета составляет 100 рублей +10% комиссия. Я делаю пополнение с карты, деплою смарт-контракт и отказываюсь от аренды сервера. Оставшиеся средства на счете возможно будет использовать в дальнейшем при деплоях других смарт-контрактов.

Минимальные характеристики для развертывания контракта: 1 CPU, 1 GB RAM и 30 GB SSD.

Настройка сервера

После регистрации на сайте пополняем баланс удобным вам способом (банковская карта / Юмани / Вебмани). Далее переходим к выбору параметров сервера (как уже упоминалось, нам достаточно минимальных):

  • Операционная система Ubuntu 20.04
  • Процессор 1 core
  • Память 1 гб
  • Хранилище 30 гб

Далее ждем пока статус с «создание» изменится на «активно».

Подключение к серверу

Те, кто уже приступал к работе по установке нод, уже знакомы с приложением 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

Устанавливаем protostar

curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | bash
source /root/.bashrc
protostar init
  • Все три команды, указанные выше, вводим отдельно, по одной. После крайней команды появится строка Project directory Name, в ней придумываем и пишем любое название для папки:

Например, StarknetNikita:

  • Далее входим в эту директорию (папку):
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