Приветствую 👋 На связи Unique.Сегодня мы будем разворачивать Smart-contract в сети Starknet
· Для аренды сервера необходимо зарегистрироваться у какого-нибудь провайдера, команда Network
использует Macloud
· После регистрации пополняем счет и арендуем необходимый нам сервер
· Выбираем операционную систему Ubuntu 22.04
и следующие характеристики:
Процессор: 1 CPU
Оперативная память: 1 gb
Хранилище : 10 gb
В течении 5 минут данные от сервера придут на почту и в личный кабинет.
Для Windows необходимо скачать MobaXterm (В YouTube полно гайдов)
Для MacOs используем нативный терминал
или программу Termius
Я буду использовать
Termius
Для того, чтобы развернуть smart-contract
нам необходимы средства для оплаты комиссии.
Скачиваем кошелек ArgentX (создаем кошелек и записываем Seed-phrase
в надежном месте
Переходим на сайт моста от Starknet (так же есть Orbiter.Finance, но рекомендуем все-таки воспользоваться официальным мостом)
Подключаем Metamask и ArgentX
Переводим средства (ETH)
из сети Ethereum
в сеть StarkNet
(Рекомендуем переводить от 0.1 ETH)
Ждем пока средства окажутся в нашем кошельке ArgentX
После того, как мы подключились к нашему серверу, выполняем следующие команды:
sudo apt update
sudo apt upgrade
sudo apt install nano
curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | bash
Ждем выполнения данной команды и вводим следующую:
source /root/.bashrc
Далее эту:
protostar init
Нас попросит ввести название нашего проекта (вводим любое удобное слово, я назову его starknet
)
После того, как проект создаться, нам необходимо перейти в директорию нашего проекта, а именно:
cd starknet
protostar build
Далее нам необходимо скопировать наш 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
Вот и всё, поздравляю!