Deploy smart-contract StarkNET. Деплой смарт-контракта

Я уже писал о том как выполнить тестнет StarkNET. Сегодня я расскажу о деплое смарт-контракта StarkNET. Это часть тестнета, о которой я решил написать в отдельной статье.

Проект выделяет 12% монет на гранты и исследования, связанные с разработкой, тестированием и поддержкой протокола StarkNet. Подробности можно найти здесь. Имеет смысл развернуть и взаимодействовать со смарт-контрактом, и при этом мы ещё проведём 2-3 недорогие транзакции в основной сети StarkNet.

Что необходимо для деплоя?

Перед тем как приступить к деплою смарт-контракта StarkNet, необходимо зарегистрировать кошелёк ArgentX, приобрести ETH и перевести его на кошелёк через мост. На балансе ArgentX должно быть не менее 0.002 ETH.

до 5 100 USDT Bybit · новичкамдо 5 100 USDTДепозит $100 — и до 5 100 USDT в наградахЗабери бонус

Как перевести ETH в кошелёк ArgentX? Приобретаем ETH на бирже Bybit.

Переводим ETH по сети Arbitrum One в кошелёк Metamask. Затем используем мост Layerswap, чтобы перевести ETH из Metamask в сети Arbitrum на кошелёк ArgentX в сети StarkNet. Минимальная сумма перевода составляет 0.0026 ETH, плюс комиссия 0.001 ETH. В итоге, для покупки потребуется минимум 0.005 ETH.

Также потребуется хостинг. Регистрируйтесь на Hetzner и получите 20$ на счёт. Вам будет достаточно сервера CX11 за 3.6$ в месяц, нужен всего на один день. С учётом начальных 20$ на счету, дополнительных вложений не потребуется, если воспользуетесь предложенной ссылкой.

Ссылки

  • Web — https://starknet.io/
  • Discord — https://discord.gg/KuU6STNAEB
  • Twitter — https://twitter.com/Starknet_Intern

Системные требования к серверу

  • CPU: 1 cores
  • RAM: 1 GB
  • SSD: 15 GB
  • OS: Ubuntu 20.04 LTS

Регистрируем и запускаем командную строку. Обзор Hetzner есть на сайте.

Гайд

ВНИМАНИЕ! После копирования и вставки кода, некоторые символы будут отображаться некорректно. Это особенность командной строки Hetzner. Чаще всего символ «:» меняется на «;», символ «|» меняется на «/» и так далее. Копируйте и вставляйте команды, но проверяйте посимвольно вставку, если есть проблемы, просто исправляйте их в командной строке.

Выполняем следующий код (установка protostar):

curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | bash -s -- -v 0.9.1

После успешного выполнения, команда:

до 555% Bybit · Savingsдо 555%годовых на Savings + до 5 100 USDT новичкам · 3 шагаНачни сейчас
source /root/.bashrc
protostar init

В строке «project directory name:», нужно ввести имя директории проекта. Произвольное.

Входим в эту директорию:

cd название директории

Создаем файл в этой папке:

protostar build

Создаем файл со своим ключем

echo вставляем private key от кошелька > .env

Как получить приватный ключ. На примере кошелька Argent X. Переходим в Settings.

Выбираем свой кошелек. Это будет скорее всего Account 1.

Нажимаем «Export private key».

Далее вписываем команду, тут нужно вставить адрес вашего кошелька:

protostar declare ./build/main.json --account-address адрес вашего кошелька --max-fee auto --private-key-path ./.env --network mainnet

Если все верно сделали, появятся транзакции:

Копируем Transaction Hash и вставляем в StarkScan, ожидаем пока транзакция перейдет в статус Accepted on L2. Копируем хеш последней транзакции. Все что после /tx/…

Опускаемся ниже и находим строчку Class Hash. Нам нужен будет этот код.

Переходим к развертыванию смарт-контракта.

Для этого вписываем в команду Class Hash (который мы взяли из своей транзакции, написано выше, он будет совпадать с хешем транзакции) и снова указываем адрес нашего кошелька.

protostar deploy class hash --account-address адрес вашего кошелька --max-fee auto --private-key-path ./.env --network mainnet

Вместо class hash — вставляем class hash из транзакции, вместо адрес вашего кошелька — адрес вашего кошелька.

Если все сделали правильно, видим транзакцию. Копируем Contract address и вставляем в StarkScan.
Контракт появится через 5-15 минут. Далее можем закинуть немного ETH на наш контракт, просто отправив ETH по адресу контракта со своего кошелька.

Переходим в пункт Read/Write Contract, подключаем кошелек — нажимаем Write и взаимодействуем с контрактом, подписывая транзакции.

Взаимодействуйте со смарт контрактом. Подключаем кошелек, переходим на Write, в поле amount:felt вводим 1 и подтверждаем транзакцию в кошельке.

После этого, можно удалить хостинг, что бы с вас не снимал деньги хостер.

до 5 100 USDT Bybit · новичкамдо 5 100 USDTBybit дарит новичкам за простые заданияЗабрать бонус
Поделиться
Связаться:
Крипто- и data-аналитик, инженер-программист (факультет компьютерных наук ХНУРЭ). В IT с 2008 года: администрировал корпоративный мониторинг в «Vodafone Украина», семь лет разрабатывал и продвигал веб-проекты, пять лет руководил маркетингом на метриках — конверсия, CTR, ROI, LTV.Криптовалютными рынками занимаюсь с 2021 года: ончейн-метрики, токеномика, макроэкономические индикаторы. Разработал собственную data-driven модель анализа рынка на 30+ метрик. Стек — Python (pandas, NumPy, SciPy, matplotlib), математическая статистика и EDA; сбор и сверку данных автоматизирую AI-агентами.Принцип — «Don't trust, verify»: каждая цифра проверена по первоисточнику, ключевые — минимум по двум независимым; прогнозы — только сценарии с условиями. Тезис без данных не публикуется.