Развертываем смарт-контракт в сети StarkNet
StarkWare — это ZK-Rollup решение для масштабирования блокчейна.
В инвесторах: Coinbase Ventures, Paradigm, Sequoia, Polychain, Alameda Resaerch, Intel и даже сам Виталий Бутерин.
Один из продуктов, StarkNet — это Layer2 решение на Ethereum. Я думаю, сильного представления тут не нужно, тем более более подробно о нем я расписывал в ЭТОМ ПОСТЕ.
Не так давно команда кошелька Braavos опубликовала статью, где ссылаясь на прошлогоднюю информацию от StarkNet выделили пункты за которые могут раздать нам дром. В свою очередь нас заинтересовал один пункт, а именно: 12% — Гранты на исследования и работу по разработке, тестированию, развертыванию и поддержке протокола StarkNet, поэтому мы решили развернут смарт-контракт.
Аренда сервера
Арендуем сервер, например на Contabo или на любой другой платформе.
Минимальные характеристики для развертывания контракта: 1 CPU, 1 GB RAM и 15 GB SSD.
При оплате сервера необходимо ввести пароль, с помощью которого вы будете подключаться к серверу. После покупки, вам на почту придет письмо с данными вашего сервера.
Подключение к серверу
Для того, чтобы подключиться к серверу на Windows потребуется программа PuTTY:
- В “Host Name” вводим IP вашего сервера и нажимаем “Open”;
- В открывшемся окне прописываем команду:
root
; - Жмем “Enter” и вставляем пароль от сервера, затем “Enter”.
На MacOS просто запускаем программу Terminal:
- Заходим на сервер командой:
ssh root@IP_ADDRESS
, IP_ADDRESS меняем на IP сервера; - Дальше вводим “yes”, жмем “Enter” и вставляем пароль от сервера (введеный пароль будет скрыт иконкой с ключом). Жмем “Enter”.
Приступаем к развертыванию смарт-контракта
В данной статье мы будем брать все коды из официальных ресурсов. Действия происходят в майнете и вам придется вписывать свой приватный ключ от кошелька в код! Кто не готов — не начинайте. Примерные затраты на транзакции около $1-2.
curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | bash
source /root/.bashrc
protostar init
После крайней команды появится строка Project directory Name, в ней мы придумываем и пишем любое название.
Пример: StarkD.
Далее входим в эту директорию:
cd <название которое только что написали>
Пример: cd StarkD.
Далее создаем в нашей папке файл командой:
protostar build
echo “<вставляем private key от кошелька>” > .env
Пример: echo “1780577367856757586576879655423757134249303378563877454818592” > .env
Далее вписываем в команду уже адрес своего кошелька:
protostar declare ./build/main.json --account-address <адрес вашего кошелька> --max-fee auto --private-key-path ./.env --network mainnet
Пример: protostar declare ./build/main.json — account-address 0x0404CF507CFd1291baD33e86FB71b88f82c7002229963310955FD4625ECb8C68 — 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 0x0404CF507CFd1291baD33e86FB71b88f82c7002229963310955FD4625ECb8C68 — max-fee auto — private-key-path ./.env — network mainnet
Снова появляются транзакции, копируем Contract address и вставляем в StarkScan.
Контракт появляется не сразу, так как это StarkNet, ждем около 5 мин и более. Далее можем закинуть немного ETH на наш контракт, просто отправив ETH по адресу контракта со своего кошелька.
Теперь после того, как наш контракт верифицируют в самой транзакции по деплою:
Переходим в пункт Read/Write Contract, подключаем кошелек — нажимаем Write и взаимодействуем с контрактом, подписывая транзакции.
Готово!
Мы развернули смарт контракт и взаимодействовали с ним.
Кстати, это дополнительно 3–5 дешевых транзакций для активности в сети StarkNet для потенциального ретродропа.
Хантер, не забудь подписаться на мой ТЕЛЕГРАМ КАНАЛ
Так же переходи к нам в ЧАТ