# Deploy smart-contract StarkNET / Деплой смарт-контракта СтаркНЕТ

By [Smart Hamster](https://paragraph.com/@smart-hamster) · 2023-04-26

---

**Наши ресурсы:** [Telegram](https://t.me/SmartHamsterTG) [Курс по нодам](https://smarthamster.tech/) Smart Hamster nodes studio [Smart OTC](https://t.me/SmartHamsterOTC) [YouTube](https://www.youtube.com/channel/UCOkLO7sSLDJehdq2p0ATgaQ)

Не так давно команда кошелька Braavos \*\*[опубликовала](https://braavos.app/starknet-token-strk/) \*\*статью, где ссылаясь на прошлогоднюю информацию от StarkNet выделили пункты за которые могут раздать нам дром. В свою очередь нас заинтересовал один пункт, а именно: **12% — Гранты на исследования и работу по разработке, тестированию, развертыванию и поддержке протокола StarkNet**, поэтому мы решили развернут смарт-контракт.

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

Арендуем сервер, например на [Hetzner CPX21](https://hetzner.cloud/?ref=TiPeqmDs1rdD) (тут можно арендовать на час) или на любой другой платформе. Минимальные характеристики для развертывания контракта: 1 CPU, 1 GB RAM и 15 GB SSD.

Приступаем к развертыванию смарт-контракта
------------------------------------------

В данной статье мы будем брать все коды из официальных ресурсов. Действия происходят в майннете и вам придется вписывать свой приватный ключ от кошелька в код! Кто не готов — не начинайте. Примерные затраты на транзакции около $1.

Устанавливаем \*\*protostar: \*\*

    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.\*

Далее создаем в нашей папке файл командой:

Создаем файл со своим ключем

    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\*

После чего, если все верно сделали, появятся транзакции:

![](https://storage.googleapis.com/papyrus_images/5e8610f02b323caf1978aed98e710c6a538f5e83c84b595d250ec8ee4e17521f.webp)

Копируем **Transaction Hash** и вставляем в [StarkScan](https://starkscan.co/), ожидаем пока транзакция перейдет в статус **Accepted on L2.**

![](https://storage.googleapis.com/papyrus_images/97749531f9de745f40c922ef874991f82d9a59a1ee93bafb9c7b8cb0e655d0a6.webp)

Далее развертываем смарт-контракт. Для этого вписываем в команду 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**](https://starkscan.co/). Контракт появляется не сразу, так как это StarkNet, ждем около 5 мин и более. Далее можем закинуть немного ETH на наш контракт, просто отправив ETH по адресу контракта со своего кошелька.

Теперь после того, как наш контракт верифицируют в самой транзакции по деплою:

![](https://storage.googleapis.com/papyrus_images/6a7941293f74693a80054e1a2d8bbcc0bd1583646b275e6f36ac466b871ab405.webp)

Переходим в пункт **Read/Write Contract**, подключаем кошелек — нажимаем **Write** и взаимодействуем с контрактом, подписывая транзакции.

![](https://storage.googleapis.com/papyrus_images/e1afbe83eeeab18cd33ae63ebc42af19f3694d7f4735f55eaabcad9087553634.webp)

Готово! Мы развернули смарт контракт и взаимодействовали с ним.

Кстати, это дополнительно 3–5 дешевых транзакций для активности в сети StarkNet для потенциального ретродропа.

**Наши ресурсы:** [Telegram](https://t.me/SmartHamsterTG) [Курс по нодам](https://smarthamster.tech/) Smart Hamster nodes studio [Smart OTC](https://t.me/SmartHamsterOTC) [YouTube](https://www.youtube.com/channel/UCOkLO7sSLDJehdq2p0ATgaQ)

![](https://storage.googleapis.com/papyrus_images/8aa77b73382f12a4846196f582e144366e7b9de867702659a3fb3f2c768e69fd.jpg)

---

*Originally published on [Smart Hamster](https://paragraph.com/@smart-hamster/deploy-smart-contract-starknet)*
