Разворачиваем смарт-контракт в Starknet часть 2
Для чего мы с вами разворачиваем смарт-контракт в Starknet можете посмотреть в первой части от Жени на Youtube. Сейчас по данной схеме развернуть смарт-контракт не получится, так как Starknet обновился и нужно устанавливать дополнительные модули
Вы можете сделать все действия на арендованном сервере на Ubuntu 20.04 или пойти по простому пути и сделать все через кошелек Argent. В инструкции напишу оба варианта.
1 ВАРИАНТ
Для разворачивания смарт-контракта понадобится сервер с минимальными техническими характеристиками (например: Процессор: 1 core Память: 1 ГБ Хранилище: 30 ГБ Трафик: 32 ТБ). Такой сервер можно арендовать на Vdsina, Hetzner или Contabo.
Приступаем к разворачиванию смарт-контракта
curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | bash
Создаем папку проекта в которой будем создавать смарт-контракт
Пишем любое название, например stark101. Переходим в эту папку
Устанавливаем две версии Scarb
curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh
curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh -s -- -v nightly
Далее создаем в нашей папке смарт-контракт командой
У вас появится следующее сообщение
Нам нужен class hash for contract "hello_starknet" 0x3c57c8652ad760024c571ca2c85c024b0b37ee30e17ca43d40295cb912bee03
Для этого смарт-контракта он у всех будет одинаковый
Создаем файл со своим приватным ключем
Например: echo 1780577367856757586576879655423757134249303378563877454818592 > .env
Далее развертываем смарт-контракт.
Для этого вписываем в команду Class Hash (который мы взяли из своей транзакции, он будет одинаковый в этой версии) и снова указываем адрес нашего кошелька.
protostar deploy <class hash> --account-address <адрес вашего кошелька> --max-fee auto --private-key-path ./.env --network mainnet
Например: protostar deploy 0x3c57c8652ad760024c571ca2c85c024b0b37ee30e17ca43d40295cb912bee03 — account-address 0x0404CF507CFd1291baD33e86FB71b88f82c7002229963310955FD4625ECb8C68 — max-fee auto — private-key-path ./.env — network mainnet
Если все сделали правильно, то появится следующее сообщение
Проверить ход создания контракта в Starkscan можно по третьей ссылке
Также можно сделать взаимодействие с вашим смарт-контрактом через аргент. Это мы сделаем во втором облегченном варианте
2 ВАРИАНТ
Во втором варианте мы будем использовать кошелек Argent. Для этого берем Class Hash из первого варианта 0x3c57c8652ad760024c571ca2c85c024b0b37ee30e17ca43d40295cb912bee03 и вставляем его в кошелек Argent
Переходим в настройки кошелька нажав шестеренку в правом верхнем углу. Выбираем пункт Developer Settings, затем Smart Contract Development, далее Deploy Smart Contract. Появится следующее поле:
В поле Contract classhash пишем 0x3c57c8652ad760024c571ca2c85c024b0b37ee30e17ca43d40295cb912bee03
Network выбираем mainnet, Account свой кошелек и затем нажимаем кнопку Deploy
Стоимость транзакции за деплой составит от 6 до 10 центов
Если все сделали правильно, то появится надпись
В истории транзакции Argent можно проверить выполнение транзакции
Нажимаем эту транзакцию и далее Transaction ID
Для взаимодействия с контрактом в Starkscan нам нужен его адрес
Копируем его и отправляем на него немного эфира c баланса вашего кошелька, хватит 0.0001 ETH. Ждем пока эфир не появится на балансе контракта, для этого заходим на сам контракт и обновляем страницу через 2-3 минуты после проведения транзакции.
Переходим во вкладку в контракте Read/Write
Нажимаем Write и подключаемся Argent через Connect to Wallet
Разворачиваем поле increase_balance и вписываем любое цифровое значение от 1 до 100 или 0x1 и нажимаем Write.
После этого подписываем транзакцию в Argent. За каждую подпись стоимость транзакции составит 0,10-0,15$. Таким путем можно набить любое количество транзакций в Starknet, но слишком много не делайте и чередуйте с другими активностями.