Skip to content

Latest commit

 

History

History
129 lines (79 loc) · 14.9 KB

SepoliaCapitalProvisionTestnetGuideRU.md

File metadata and controls

129 lines (79 loc) · 14.9 KB

Руководство по тестированию смарт контрактов для поставщиков капитала в сетях Ethereum Sepolia и Arbitrum Sepolia

Вступление

Для тестирования смарт контрактов для поставщиков капитала в сетях Ethereum Sepolia и Arbitrum Sepolia, нужно пройти несколько основных шагов:

  1. Получение SepoliaETH
  2. Получение stETH в сети Ethereum Sepolia
  3. Депозит stETH в контракт распределения наград в сeти Ethereum Sepolia
  4. Получение наград в токене MOR в сети Arbitrum Sepolia с использованием Layer Zero bridge

Адреса смарт контрактов

Ethereum Sepolia

Arbitrum Sepolia

Как получить Sepolia ETH?

  • Для начала нам необходим установленный Metamask или другой кошелек web3. Нужно перейти к настройкам сети, которые по умолчанию обычно установлены на Ethereum, затем выбрать в качестве сети тестовую сеть Sepolia.
  • Следующий шаг это депозит SepoliaETH, для этого вы можете использовать веб-сайты краны, такие как https://sepolia-faucet.pk910.de/# или https://sepoliafaucet.com/.
  • Существует множество других кранов, которые можно легко найти, но обычно им требуется чтобы у вас был активный адрес в основной сети Ethereum.

Как получить stETH?

Поскольку тестовый токен stETH официально не развернут в сети Sepolia, мы будем использовать копию этого токена с необходимыми для тестирования основными функциями.

Для этого необходимо перейти к контракту stETH и открыть вкладку “Contract”, затем нажать на “Write Contract”. Не забудьте подключить свой кошелек, в котором должен быть достаточный баланс нативного токена для оплаты комиссии.

stETHContract

Далее необходимо выбрать функцию mint(), с помощью которой мы сможем отчеканить необходимое количество stETH.
В качестве параметров необходимо указать:

  • account_: адрес на который будут зачислены токены;
  • amount_: количество токенов в WEI, вместо ETH. Для конвертации, вы можете использовать данный калькулятор https://eth-converter.com. Например, если вам необходиы 0,01 stETH, то эта сумма будет равняться 10000000000000000 WEI.
    На примере выше, было отчеканено 100 stETH (отображение в WEI) на адрес 0xa4DB...2259.

После выполнения всех действий нажмите на кнопку “Write” и подтвердите транзакцию в кошельке.

Как проверить баланс stETH?

Необходимо перейти к контракту stETH, перейти во вкладку “Contract”, затем “Read Contract”. Не забудьте подключить свой кошелек, в котором должен быть достаточный баланс нативного токена для оплаты комиссии.

stETHContract

Перейдите к функции balanceOf() и в качестве параметра, в поле account_, укажите ваш адрес и нажмите на кнопку "Query". В результате мы получим значение в WEI показывающее количество stETH на вашем адресе. На примере выше, у адреса 0xa4DB...2259 есть 1000 stETH отображенные в WEI.

Еще один способ проверки баланса, это добавление токена в ваш web3 кошелек. Узнать как это сделать в кошельке Metamask, вы можете из этого руководства. В качестве адреса токена stETH введите 0xEE3fc2711cBB17B26747048c177698398c9a95ce.

Как внести stETH в контракт распределения наград?

Перейдите к контракту stETH, откройте сначала вкладку “Contract”, затем вкладку “Write Contract”. Не забудьте подключить свой кошелек, в котором должен быть достаточный баланс нативного токена для оплаты комиссии.

stETHContract

Перед внесением средств, нам необходимо предоставить разрешение контракту на отправку stETH с вашего кошелька. Для этого мы будем использовать функцию approve().
В качестве параметров укажите:

  • spender: адрес контракта распределения наград - 0x98a8c301F3B168daCD0B054dc06A15c778F12D6e;
  • amount: сумму токенов на которые даете разрешение отображенную в WEI. Сумма должна равняться или быть больше той, которую вы планируете внести в контракт. Для удобства вычислений, вы можете воспользоваться калькулятором https://eth-converter.com.

После выполнения всех действий нажмите на кнопку “Write” и подтвердите транзакцию в кошельке.

Далее необходимо перейти к контракту распределения наград, и открыть вкладку “Contract”, а затем “Write as Proxy”. Не забудьте подключить свой кошелек, в котором должен быть достаточный баланс нативного токена для оплаты комиссии.

DistributionContract

Необходимая для внесения stETH в контракт функция, называется stake().
В качестве параметров укажите:

  • poolId_: идентификатор группы (пула); для тестирования создан пул с номером “0”;
  • amount_: сумма токенов в WEI. (10 stETH в данном примере).

После выполнения всех действий нажмите на кнопку “Write” и подтвердите транзакцию в кошельке.

Как получить информацию о сумме депозита и сумме наград?

Данная информация доступна через взаимодействие с контрактом распределения наград. Откройте вкладку “Contract”, а затем “Read as Proxy”. Не забудьте подключить свой кошелек, в котором должен быть достаточный баланс нативного токена для оплаты комиссии.

Для нашей цели, мы будем использовать две функции. Первая показывает количество токенов MOR полученных в качестве награды за депозит stETH в контракт. Награды начисляются каждую секунду.

DistributionContract

Выберите функцию getCurrentUserReward и в качестве параметров укажите:

  • poolId_ номер пула, в нашем случае это "0";
  • user_ адрес вашего кошелька.
    Для отображения информации, нажмите на кнопку "Query".

Как результат, вы увидите значение показывающее количество начисленных токенов в качестве награды. Отображение токенов в WEI.

Вторая функция usersData() покажет сумму вашего депозита. Параметры аналогичны первой функции.

DistributionContract

Как снять stETH с контракта?

Необходимо перейти к контракту распределения наград, вкладку “Contract”, а затем вкладку “Write as Proxy”. Не забудьте подключить свой кошелек, в котором должен быть достаточный баланс нативного токена для оплаты комиссии.

DistributionContract

Выберите функцию withdraw() и укажите в качестве параметров:

  • poolId_: номер пула, в нашем случае это "0";
  • amount_: сумму токенов указанную в WEI.

После выполнения всех действий нажмите на кнопку “Write” и подтвердите транзакцию в кошельке.

Как получить награды?

Для этого нам снова необходим контракт распределения наград. Нужная функция находится во вкладке “Contract” и “Write as Proxy”. Не забудьте подключить свой кошелек, в котором должен быть достаточный баланс нативного токена для оплаты комиссии.

DistributionContract

Чеканка и получение токенов MOR осуществляется в сети Arbitrum Sepolia, поэтому нам необходимо воспользоваться мостом Layer Zero.

Всё что необходимо сделать, это использовать функцию claim() и указать следующие параметры:

  • claim: тут указывается сумма нативных токенов в сети-отправителе, которые будут использованы в качестве комиссии за чеканку токенов в сети Arbitrum Sepolia. Вы можете указать бОльшую сумму, разница будет вам возвращена;
  • poolId_: номер пула, в нашем случае это "0";
  • user_: адрес в сети Arbitrum Sepolia на который будут зачислены токены.

После выполнения всех действий нажмите на кнопку “Write” и подтвердите транзакцию в кошельке.

Поздравление, ваша награда в виде токенов MOR теперь в сети Arbitrum Sepolia. Вы можете импортировать адрес токена 0xe6D01D086a844a61641C75f1BCA572e7aa70e154 в ваш кошелек Мetamask используя это руководство или проверить баланс через смарт контракт по примеру с токеном stETH.

Как получить ETH в сети Arbitrum Sepolia?

  • Для начала нам необходим установленный Metamask или другой кошелек web3. Затем необходимо добавить сеть Arbitrum Sepolia вручную или использовать сайт Chainlist где нажать на кнопку “Add to Metamask”.
  • Следующий шаг это депозит Arbitrum Sepolia ETH, для этого вы можете использовать веб-сайты краны, такие как ttps://faucet.quicknode.com/arbitrum/sepolia или https://faucet.triangleplatform.com/arbitrum/sepolia

Если вам интересно более детальное руководство, с описанием функций контрактов, вы можете его найти по ссылке