Я вже писав про те, як пройти тестнет StarkNET. Сьогодні розповім про розгортання смарт-контракту StarkNET. Це частина тестнета, про яку я вирішив написати окрему статтю.
Проект виділяє 12% монет на гранти та дослідження, пов’язані з розробкою, тестуванням та підтримкою протоколу StarkNet. Деталі можна знайти тут. Має сенс розгорнути та взаємодіяти зі смарт-контрактом, при цьому ми ще проведемо 2-3 недорогі транзакції в основній мережі StarkNet.
Що потрібно для розгортання?
Перед тим як приступити до розгортання смарт-контракту StarkNet, потрібно зареєструвати гаманець ArgentX, купити ETH та перевести його на гаманець через міст. На балансі ArgentX повинно бути не менше 0.002 ETH.
Як перевести ETH у гаманець ArgentX? Купуємо ETH на біржі Binance.
Переказуємо ETH через мережу Arbitrum One у гаманець Metamask. Потім використовуємо міст Layerswap, щоб перевести ETH з Metamask у мережі Arbitrum на гаманець ArgentX у мережі StarkNet. Мінімальна сума переказу становить 0.0026 ETH, плюс комісія 0.001 ETH. В результаті, для покупки потрібно буде мінімум 0.005 ETH.
Також потрібен хостинг. Реєструйтесь на Hetzner і отримайте 20$ на рахунок. Вам вистачить сервера CX11 за 3.6$ на місяць, потрібен всього на один день. З урахуванням початкових 20$ на рахунку, додаткових інвестицій не знадобиться, якщо скористаєтесь наведеним посиланням.
Посилання:
- Веб – https://starknet.io/
- Discord – https://discord.gg/KuU6STNAEB
- Twitter – https://twitter.com/Starknet_Intern
Необхідні інструменти для максимізації прибутку у ретродропах:
- Гайд по мультиакаунтінгу. Створіть 10 та більше акаунтів. Максимізуй свій прибуток від дропів. Повний опис, поетапна інструкція, стратегія управління фермою.
- Біржа OKX. Мінімальні комісії та суми для виведення. До 100 гаманців для ферми акаунтів. Більше нових мереж ніж на інших біржах. Основна біржа ретрохантера.
- Біржа Binance. Усі проєкти намагаються вийти в першу чергу на цю біржу. Як правило, на Bybit найраніший старт торгів при лістингу (перший запуск торгів по монеті).
Системні вимоги до сервера
- CPU: 1 ядро
- RAM: 1 ГБ
- SSD: 15 ГБ
- OS: Ubuntu 20.04 LTS
Реєструємося та запускаємо командний рядок.
Гайд
УВАГА! Після копіювання та вставки коду, деякі символи будуть відображатися неправильно. Це особливість командного рядка Hetzner. Найчастіше символ “:” змінюється на “;”, символ “|” змінюється на “/” тощо. Копіюйте та вставляйте команди, але перевіряйте посимвольно вставку, якщо є проблеми, просто виправляйте їх у командному рядку.
Виконуємо наступний код (встановлення protostar):
curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | bash -s -- -v 0.9.1
Після успішного виконання команда:
source /root/.bashrc
protostar init
У рядку “project directory name:”, потрібно ввести ім’я директорії проекту. Довільне.
Входимо в цю директорію:
cd назва директорії
Створюємо файл у цій папці:
protostar build
Створюємо файл з власним ключем
echo вставляємо private key від гаманця > .env
Як отримати приватний ключ. На прикладі гаманця Argent X. Переходимо в Settings.
Вибираємо свій гаманець. Це буде скоріш за все Account 1.
Натискаємо “Export private key”.
Далі вписуємо команду, тут потрібно вставити адресу вашого гаманця:
protostar declare ./build/main.json --account-address адреса вашого гаманця --max-fee auto --private-key-path ./.env --network mainnet
Якщо все правильно зробили, з’являться транзакції:
Копіюємо Transaction Hash і вставляємо в StarkScan, очікуємо поки транзакція перейде в статус Accepted on L2. Копіюємо хеш останньої транзакції. Все, що після /tx/…
Опускаємося нижче і знаходимо рядок Class Hash. Нам потрібен буде цей код.
Переходимо до розгортання смарт-контракту.
Для цього вписуємо в команду Class Hash (який ми взяли з своєї транзакції, написано вище, він буде збігатися з хешем транзакції) і знову вказуємо адресу нашого гаманця.
protostar deploy class hash --account-address адреса вашого гаманця --max-fee auto --private-key-path ./.env --network mainnet
Замість class hash – вставляємо class hash з транзакції, замість адреса вашого гаманця – адреса вашого гаманця.
Якщо все зробили правильно, бачимо транзакцію. Копіюємо Contract address і вставляємо в StarkScan. Контракт з’явиться через 5-15 хвилин. Далі можемо закинути трохи ETH на наш контракт, просто відправивши ETH на адресу контракта зі свого гаманця.
Переходимо в пункт Read/Write Contract, підключаємо гаманець — натискаємо Write і взаємодіємо з контрактом, підписуючи транзакції.
Взаємодіємо зі смарт контрактом. Підключаємо гаманець, переходимо на Write, у поле amount:felt вводимо 1 і підтверджуємо транзакцію в гаманці.
Після цього можна видалити хостинг, щоб з вас не знімали гроші хостер.