February 18, 2023

Starknet contract

1. И так, без лишних прелюдий, установим Protostar

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

2. Затем активируем его

source /root/.bashrc

3. Проверим, все ли ок

protostar -v

4. Создаем проект

protostar init

Укажем имя каталога

Должно быть так

Открываем проект в Vscode или любом другом редакторе (если вы хотите что-то поменять), установив плагин для Cairo. Нас интересует файл "main.cairo" в папке src

Для самых дерзких пропустим эту возню и сразу все скомпилируем

В той-же папке запускаем

protostar build

Если все ок, в папке build создадутся 2 json файла

Разворачиваем контракт

Штош, мы снова возьмем публичный контракт из прошлой статьи и попытаемся задеплоить его в майннет более простым способом. Спасибо доброму дяде Давиду, что помог разобраться в этом нелегком пути.

Открываем наш кошелек Argent-x -> Settings -> Developer setting -> Smart contract development -> Declare smart contract

Нажимаем Click to upload smart contract JSON, изагружаем JSON, полученный при компиляции контракта из прошлой статьи (он находится в папке build, выбираем именно main.json)

В Network выбираем Mainnet, в Account свой аккаунт, жмем Declare

Нам выдастся Contract classhash, который копируем и вставляем в Settings -> Developer setting -> Smart contract development -> Deploy smart contract. В Parameters ставим 0.

Вуаля, контракт запилен в мейннет, осталось дождатся всех подтверждений, а пока можно сделать еще одну штуку - апрувнуть контракт в Starkscan. Зачем это нужно - как минимум, доп активность в сети, ну а как максимум - новые знания, мы ведь за этим тут собрались (хи-хи)

sudo apt update
sudo apt-get install software-properties-common
sudo apt install curl
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.bashrc
nvm install 15.0.0
node -v
npm install -g starkscan

Тут все проще некуда, переходим на офф гитхаб и повторяем все за серьезной гифкой

npx starkscan

starkscan

Далее по гифке