Starknet | Deploy

Приветствую 👋 На связи Unique.Сегодня мы будем разворачивать Smart-contract в сети Starknet

Шаг 1. Аренда сервера

· Для аренды сервера необходимо зарегистрироваться у какого-нибудь провайдера, команда Network использует Macloud · После регистрации пополняем счет и арендуем необходимый нам сервер

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

· Выбираем операционную систему Ubuntu 22.04 и следующие характеристики:

Процессор: 1 CPU  Оперативная память: 1 gb      Хранилище : 10 gb

Характеристики сервера
Характеристики сервера

В течении 5 минут данные от сервера придут на почту и в личный кабинет.

Шаг 2. Подключение к серверу

Для Windows необходимо скачать MobaXterm (В YouTube полно гайдов) Для MacOs используем нативный терминал или программу Termius

Я буду использовать Termius

Шаг 3. Кошелек

Для того, чтобы развернуть smart-contract нам необходимы средства для оплаты комиссии.

  • Скачиваем кошелек ArgentX (создаем кошелек и записываем Seed-phrase в надежном месте

  • Переходим на сайт моста от Starknet (так же есть Orbiter.Finance, но рекомендуем все-таки воспользоваться официальным мостом)

  • Подключаем Metamask и ArgentX

post image
  • Переводим средства (ETH) из сети Ethereum в сеть StarkNet (Рекомендуем переводить от 0.1 ETH)

  • Ждем пока средства окажутся в нашем кошельке ArgentX

Шаг 4. Разворачиваем контракт

После того, как мы подключились к нашему серверу, выполняем следующие команды:

sudo apt update
curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | bash

Ждем выполнения данной команды и вводим следующую:

source /root/.bashrc

Далее эту:

protostar init

Нас попросит ввести название нашего проекта (вводим любое удобное слово, я назову его starknet)

После того, как проект создаться, нам необходимо перейти в директорию нашего проекта, а именно:

cd starknet

Далее нам необходимо скопировать наш Private Key кошелька. Для этого переходим в кошелек ArgentX и нажимаем на наш профиль, выбираем пункт export private key вводим пароль, и копируем наш приватный ключ

выполняем следующую команду:

sudo nano .env

В открывшемся окне, вставляем наш приватный ключи и нажимаем комбинацию клавиш Ctrl+O и Сtrl+X (Контрол О(англ) и Контрол Х(англ))

Приступаем к декларации нашего контракта (вместо адреса кошелька, вставляем адрес наш кошелька ArgentX:

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

Если все прошло успешно, то оявляется результат в виде class hash и transaction hash , они нам пригодятся.

Открываем транзу по transaction hash на starkscan и ждём когда статус перейдет в Accepted on L2, после этого деплоим:

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

⚡️ Снова появляются хэши.

Отслеживаем транзу на starkscan, проверяем contract address

Вот и всё, поздравляю!