Посібник з тестування смарт-контрактів для постачальників капіталу в мережах Ethereum Sepolia та Arbitrum Sepolia
Для тестування смарт-контрактів для постачальників капіталу в мережах Ethereum Sepolia та Arbitrum Sepolia, слід пройти кілька основних кроків:
- Отримання SepoliaETH
- Отримання stETH в мережі Ethereum Sepolia
- Депозит stETH в контракт розподілу нагород в мережі Ethereum Sepolia
- Отримання нагород у токені MOR в мережі Arbitrum Sepolia за допомогою моста Layer Zero
Ethereum Sepolia
- Контракт розподілу нагород: 0x98a8c301F3B168daCD0B054dc06A15c778F12D6e
- Контракт токену stETH: 0xEE3fc2711cBB17B26747048c177698398c9a95ce
Arbitrum Sepolia
- Контракт токену MOR: 0xe6d01d086a844a61641c75f1bca572e7aa70e154
- Спочатку нам необхідно мати встановлений Metamask або інший гаманець web3. Потрібно перейти до налаштувань мережі, які за замовчуванням зазвичай встановлені на Ethereum, а потім вибрати тестову мережу Sepolia.
- Наступний крок - це депозит SepoliaETH, для цього ви можете використовувати веб-сайти кранів, такі як https://sepolia-faucet.pk910.de/# або https://sepoliafaucet.com/.
- Існує безліч інших кранів, які можна легко знайти, але зазвичай для їх використання потрібно, щоб ваш адрес був активний в основній мережі Ethereum.
Оскільки тестовий токен stETH офіційно не розгорнутий в мережі Sepolia, ми будемо використовувати копію цього токена з необхідними для тестування основними функціями. Для цього потрібно перейти до контракту stETH і відкрити вкладку "Contract", а потім натиснути на "Write Contract". Не забудьте підключити свій гаманець, в якому повинен бути достатній баланс нативного токена для оплати комісії.
Після цього потрібно вибрати функцію mint()
, за допомогою якої ми зможемо викарбувати необхідну кількість stETH.
В якості параметрів необхідно вказати:
account_
: адреса, на яку будуть зараховані токени;amount_
: кількість токенів в WEI, замість ETH. Для конвертації ви можете використовувати калькулятор за цим посиланням. Наприклад, якщо вам потрібно 0,01 stETH, то ця сума буде дорівнювати 10000000000000000 WEI. На прикладі вище, було викарбувано 100 stETH (відображення в WEI) на адресу 0xa4DB...2259.
Після виконання усіх дій натисніть на кнопку "Write" та підтвердіть транзакцію в гаманці.
Необхідно перейти до контракту stETH, перейти до вкладки “Contract”, потім “Read Contract”. Не забудьте підключити свій гаманець, в якому повинен бути достатній баланс нативного токена для оплати комісії.
Перейдіть до функції balanceOf()
та у якості параметру, в полі account_
, вкажіть вашу адресу та натисніть на кнопку "Query". У результаті ви отримаєте значення в WEI, що показує кількість stETH на вашій адресі. На прикладі вище, у адреси 0xa4DB...2259 є 1000 stETH, відображені в WEI.
Ще один спосіб перевірити баланс - це додавання токена до вашого web3 гаманця. Як це зробити у гаманці Metamask, ви можете дізнатися з цього посібника. В якості адреси токена stETH введіть 0xEE3fc2711cBB17B26747048c177698398c9a95ce
.
Перейдіть до контракту stETH, спочатку відкрийте вкладку “Contract”, потім вкладку “Write Contract”. Не забудьте підключити свій гаманець, в якому повинен бути достатній баланс нативного токена для оплати комісії.
Перед внесенням коштів, нам необхідно надати дозвіл контракту на відправлення stETH з вашого гаманця. Для цього ми використовуватимемо функцію approve(). В якості параметрів вкажіть:
- spender: адреса контракту розподілу нагород -
0x98a8c301F3B168daCD0B054dc06A15c778F12D6e
; - amount: суму токенів, на які ви даєте дозвіл, відображену в WEI. Сума повинна дорівнювати або бути більшою за ту, яку ви плануєте внести в контракт. Для зручності обчислень ви можете скористатися калькулятором за цим посиланням.
Після виконання усіх дій натисніть на кнопку "Write" та підтвердіть транзакцію в гаманці.
Далі необхідно відкрити контракт розподілення нагород, та відкрити вкладку “Contract”, а потім “Write as Proxy”. Не забудьте підключити свій гаманець, в якому повинен бути достатній баланс нативного токена для оплати комісії.
Необхідна функція для внесення stETH в контракт називається stake()
.
В якості параметрів вкажіть:
poolId_
: ідентифікатор групи (пула); для тестування створено пул з номером "0";amount_
: суму токенів в WEI (10 stETH у цьому прикладі).
Після виконання усіх дій натисніть на кнопку "Write" та підтвердіть транзакцію в гаманці.
Цю інформацію можна отримати через взаємодію з контрактом розподілу нагород. Відкрийте вкладку "Contract", а потім "Read as Proxy". Не забудьте підключити свій гаманець, в якому повинен бути достатній баланс нативного токена для оплати комісії.
Для наших цілей ми використовуватимемо дві функції. Перша показує кількість токенів MOR, отриманих в якості нагороди за депозит stETH в контракт. Нагороди нараховуються кожну секунду.
Виберіть функцію getCurrentUserReward
і в якості параметрів вкажіть:
poolId_
номер пула, у нашому випадку це "0";user_
адреса вашого гаманця.
Для відображення інформації натисніть на кнопку "Query".
Як результат, ви побачите значення, яке показує кількість нарахованих токенів в якості нагороди. Відображення токенів в WEI.
Друга функція, usersData()
покаже суму вашого депозиту. Параметри аналогічні першій функції.
Необхідно перейти до контракту розподілу нагород, у вкладку "Contract", а потім вкладку "Write as Proxy". Не забудьте підключити свій гаманець, в якому повинен бути достатній баланс нативного токена для оплати комісії.
Виберіть функцію withdraw()
і вкажіть в якості параметрів:
poolId_
: номер пула, у нашому випадку це "0";amount_
: суму токенів, вказану в WEI.
Після виконання усіх дій натисніть на кнопку "Write" та підтвердіть транзакцію в гаманці.
Для цього нам знову потрібен контракт розподілу винагород. Потрібна функція розташована в розділі “Contract” і “Write as Proxy”. Не забудьте підключити свій гаманець, в якому повинен бути достатній баланс нативного токена для оплати комісії.
Карбування та отримання токенів MOR відбувається в мережі Arbitrum Sepolia, тому нам потрібно скористатися мостом Layer Zero.
Все, що вам потрібно зробити, це скористатися функцією claim()
та вказати наступні параметри:
claim
: тут вказується сума нативних токенів в мережі-відправнику, які будуть використані в якості комісії за випуск токенів в мережі Arbitrum Sepolia. Ви можете вказати більшу суму, різниця буде вам повернута;poolId_
: номер пула, у нашому випадку це "0";user_
: адреса в мережі Arbitrum Sepolia, на яку будуть зараховані токени.
Після виконання усіх дій натисніть на кнопку “Write” та підтвердіть транзакцію в гаманці.
Вітаємо, ваша винагорода у вигляді токенів MOR тепер в мережі Arbitrum Sepolia. Ви можете імпортувати адресу токена 0xe6D01D086a844a61641C75f1BCA572e7aa70e154
у свій гаманець Мetamask, скориставшись цим посібником, або перевірити баланс за допомогою смарт-контракту за прикладом з токеном stETH.
- Спочатку нам потрібен встановлений Metamask або інший гаманець web3. Потім слід додати мережу Arbitrum Sepolia вручну або скористатися веб-сайтом Chainlist, де натиснути кнопку "Add to Metamask".
- Наступний крок - це депозит Arbitrum Sepolia ETH. Для цього ви можете використовувати вебсайти-крани, такі як https://faucet.quicknode.com/arbitrum/sepolia або https://faucet.triangleplatform.com/arbitrum/sepolia.
Якщо вас цікавить більш детальний посібник, із описом функцій контрактів, ви можете знайти його за посиланням