April 24, 2023

Scroll Testnet

TL;DR

  1. Подписаться на соцсети
  2. Бридж в/из Scroll через https://scroll.io/alpha/bridge
  3. Кран USDC https://scroll-usdc-faucet.vercel.app/
  4. Обмен и добавление/изъятие ликвидности на DEX'ах:
    https://uniswap-v3.scroll.io/
    https://www.zadafinance.com/
    https://scroll.izumi.finance/swap
    https://syncswap.xyz/
    https://testnet.mesprotocol.com/portfolio
    https://app.dodoex.io/?network=scr-alpha
  5. Лендинг https://app.aave.com/
  6. Создание токена/контракта на https://remix.ethereum.org/
  7. Минт NFT на https://bufficorn-battle.vercel.app/
  8. Игра https://www.scrollkingdoms.com/

Социальные сети

https://twitter.com/Scroll_ZKP
https://twitter.com/BuildWithScroll

https://discord.com/invite/scroll
Проходим верификацию, идем в ветку choose-your-role и кликаем на эмоджи, выбираем роль

https://guild.xyz/scrollzkp
Получаем Mystery Role

Подготовка

1. Получаем Goerli ETH

У вас должен быть ETH на сети Арбитрум или Оптимизм. Самое простое это закинуть его с централизованной биржи, многие биржи поддерживают вывод в эти сети с малой комиссией

Идем на https://testnetbridge.com/, подключаем кошелек и выбираем токен для перевода: ETH ON OPTIMISM или ETH ON ARBITRUM. Указываем кол-во ETH так, чтобы в сети GOERLI мы получили 1-2 ETH -> TRANSFER -> подтверждаем транзакцию. Если транзакция не отправляется и вы получаете Transaction Failed, то пробуйте еще. А лучше смените сеть, с которой отправляете. У меня, к примеру, последние разы из Оптимизма не получалось отправить, а вот с Арбитрума с первого раза прошло

Данная активность также является частью активности LayerZero

2. Добавляем сеть Scroll Alpha Testnet и Goerli

Переходим на страницу - https://scroll.io/alpha. Добавляем 2 сети

3. Переводим тестовый ETH в сеть Scroll Alpha

Переходим на страницу https://scroll.io/alpha/bridge и пересылаем токены

Обмен (Swap) Токенов на DEX'ах

1. Получение тестовых токенов USDC

  • Получаем тестовые токены USDC на сайте https://scroll-usdc-faucet.vercel.app/
    Жмем Connect Wallet, затем Claim и подтверждаем транзакцию. Вы получили тестовые токены USDC на ваш кошелек. Далее проходим по ссылке USDC/ETH на биржу Uniswap. При переходе по ссылке биржа предложит вам подтвердить токен USDC для обмена. Соглашаемся, подтверждаем, нажимаем I Understand

2. Обмен на UNISWAP

  • Идем на https://uniswap-v3.scroll.io/ или по ссылке из прошлого пункта. Выбираем токены для обмена. USDC у вас должен уже быть выбран вторым токеном. В поле Select Tolen выбираем ETH далее жмем стрелочку по центру (она меняет токены для обмена местами) так, чтобы сверху было USDC и указываем для обмена сумму (в нашем случае 1000 долларов).
    Далее нам необходимо дать обменнику разрешение на использование наших средств. В частности мы даем разрешение на обмен 1000 USDC: жмем Allow Uniswap Protocol to use your USC и указываете сумму, на которую вы даете обменнику разрешение и жмем Next -> Approve
  • После того как транзакция на разрешение расходования средств подтвердится появится кнопка SWAP. Жмем ее и подтверждаем еще одну транзакцию уже непосредственно на обмен наших токенов

3. Обмен на Zada Finance

  • Идем на сайт https://www.zadafinance.com/swap и подключаем кошелек как обычно в паром верхнем углу
  • При выборе пункта Select a token выпадает окно -> жмем Choose a list -> Select -> Выбираем токен для обмена из предложенного списка
  • Далее по аналогии с обменом на UNISWAP указываем кол-во, даем разрешение на использование средств, делаем обмен

4. Добавление/Извлечение ликвидности на Zada Finance

  • Переходим на https://www.zadafinance.com/pool -> Add Liquidity и выбираем токены, ликвидность которых будем добавлять. На текущем этапе тестнета у нас должны быть только ETH и USDC - их и выбираем. Указываем кол-во токенов, которое хотим добавить в Pool, при необходимости даем разрешения на использование средств и жмем Supply
  • После подтверждения всех транзакций должен появится ваш Pool с ликвидностью на странице https://www.zadafinance.com/pool. Теперь забираем часть ликвидности обратно. Раскрываем детализацию нашего пула (маленькая стрелочка), жмем Remove, выбираем какое кол-во забираем обратно (в процентном соотношении) и жмем
    Approve -> Sign -> Remove

5. Обмен и Добавление/Извлечение ликвидности на iZiSwap

  • Идем на https://scroll.izumi.finance/home и делаем
    - Market Swap
    - Limit Order
    - Добавление/Извлечение ликвидности
    Операции обмена частично повторяют действия предыдущих пунктов, но есть и отличия. Команда сделала мануал на mirror по этой ссылке (на английском). Там же можно забрать NFT (бесплатно, только газ в сети Optimism)

6. Обмен и Добавление/Извлечение ликвидности на Syncswap

  • Идем на https://syncswap.xyz/ и делаем
    - Обмен
    - Добавление/Извлечение ликвидности

7. Торгуем и бриджим на MES Protocol

8. Обмен и Добавление/Извлечение ликвидности на DODO

  • Идем на https://app.dodoex.io/?network=scr-alpha и делаем:
    - Обмен. Сначала получаем WETH на Uniswap. Адрес контракта WETH 0xa1EA0B2354F5A344110af2b6AD68e75545009a03
    - Добавление/Извлечение ликвидности

AAVE лендинг

  • Идем на https://app.aave.com/, в правом верхнем углу подключаем кошелек, нажимаем настройки (шестеренку), делаем ползунок напротив Testnet mode зеленым -> Выбираем сеть Scroll Alpha Market
  • Одалживаем ETH - раздел Assets to supply: в левой половине экрана жмем Supply -> вводим небольшое кол-во ETH для "поставки в лендинг" и жмем Supply ETH -> Подтверждаем транзакцию
  • Занимаем активы - раздел Assets to borrow: после того как вы одолжили ETH в протокол вы можете под его обеспечение взять в долг один из активов в правой части экрана. Ждем Borrow напротив любого актива, к примеру USDC -> Указываем кол-во для займа и жмем Borrow USDC -> Подтверждаем транзакцию. Возьмите в займ парочку разных активов
  • Возвращаем активы - раздел Your Borrows: после того как вы заняли активы они у вас появятся в правой половине экрана сверху. Возвращаем часть занятых активов:
    Жмем Repay -> Указываем кол-во для возврата (не возвращайте всё) -> Даем разрешение и токены Appprove "Актив" to continue -> Подтверждаем возврат Repay "Актив"
  • Забираем одолженный ETH - раздел Your supplies: в левой части экрана отображено ваше обеспечение ETH. Забираем часть обеспечения, жмем Withdraw -> Указываем кол-во -> Даем разрешение Approve to continue -> Подтверждаем вывод Withdraw ETH

Если получаете ошибку при выводе ETH, то уберите галочку с пункта Unwrap WETH (to withdraw ETH). А вообще, лучше попробовать сначала получить эту ошибку, скопировать ее copy the error и отправить в discord проекта, ветка general-support

Создание Токена

1. Создаём токен

  • Переходим на сайт https://remix.ethereum.org/, создаём новый файл. Назвать можете как угодно, в конце обязательно .sol
  • Вставляем код что ниже в открывшуюся страницу файла, и заменяем значения на свои

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract <Имя Вашего Токена> is ERC20 {
constructor() ERC20("<Имя Вашего Токена>", "<Сокращенное Имя Вашего Токена>") {
_mint(msg.sender, 1000000000 * 10 ** decimals());
}
}

  • Переходим в 3-ю вкладку и нажимаем "Compile название.sol"
  • Теперь самая последняя вкладка. Выбираем: Injected Provider - Metamask -> Deploy

Перед этим включите в Metamask сеть Scroll Alpha

  • Всё, у вас теперь есть своя монета. Проверить можно так: Metamask -> Активность -> Последняя транзакция -> Смотреть в проводнике -> Contract
  • Если скопировать адрес контракта, то можно добавить в Metamask

2. Добавляем ликвидность на Uniswap

  • Выставляем значения:
    а) Комиссия 0.05% / 0.3% / 1% - Выбрать можно любую. В данном примере выбрано 0.05%
    б) Цена: также можно поставить любую, в данном примере 0.5
    в) Диапазон цен, в котором будет торговаться ваша монета: необходимо выбрать диапазон, в который попадает ваша цена из пункта б)
    г) Указываем сколько ETH мы хотим добавить. Кол-во второго добавляемого токена рассчитается автоматически исходя из указанной вами стоимости в пункте б).
    д) Нажимаем Preview, подтверждаем транзакцию. Возможно, перед этим потребуется дать разрешение на ETH и ваш токен. Как давать разрешение описано в предыдущем разделе "Обмен токенов"

3. Извлечение ликвидности на Uniswap

В предыдущем пункте мы добавляли ликвидность, теперь мы хотим ее забрать. Забирать будем не всё, а лишь часть.

  • Выбираем пункт Remove Liquidity и указываем какой процент от общего содержания мы забираем. В моем примере это 50%. Жмем кнопку Remove, подтверждаем транзакцию.

Создание Контракта

1. Создаём контракт

  • Переходим на сайт https://remix.ethereum.org/, создаём новый файл. Назвать можете как угодно, в конце обязательно .sol
  • Вставляем код что ниже

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

contract OduvanContract {

address public owner;
mapping (address => uint) public payments;

constructor() {
owner = msg.sender;
}

function Donate() public payable {
payments[msg.sender] = msg.value;
}

function MoneyBack() public {
address payable _to = payable(owner);
address _thisContract = address(this);
_to.transfer(_thisContract.balance);
}
}

  • Переходим в 3-ю вкладку и нажимаем "Compile название.sol"
  • Теперь самая последняя вкладка. Выбираем: Injected Provider - Metamask -> Deploy

Перед этим включите в Metamask сеть Scroll Alpha

  • Всё, у вас теперь есть свой контракт. Проверить можно так: Metamask -> последняя транза -> смотреть в проводнике -> Contract

2. Закидываем деньги на контракт

Пополнять баланс контракта можно как с этого же кошелька, с которого был создан контракт, так и с другого. Тут уже по своему желанию.

  • На той же странице, где мы создавали контракт, мы вписываем кол-во Gwei. Это сумма которую мы будем вносить на котракт (5000000 Gwei = 0.005 ETH)
  • В самом низу, где меню "Deployes Contracts" мы находим наш и раскрываем его -> нажимаем "Donate"
  • Теперь если проверить наш контракт, он будет с балансом

3. Выводим деньги с контракта

  • В самом низу, где меню "Deployes Contracts" мы находим наш и раскрываем его -> нажимаем "MoneyBack"

Минт NFT

Идем на сайт https://bufficorn-battle.vercel.app/, подключаем кошелек и выбираем одного из трех бычков/коров и жмем Mint -> Подтверждаем транзакцию

Выводим ETH из сети Scroll Alpha обратно в Goerli

Снова идем на https://scroll.io/alpha/bridge и выводим почти весь ETH в сеть Goerli. Оставьте примерно 0.1 ETH в сети Alpha Scroll для возможных будущих активностей

Гайд на половину скопирован у @blackoduvanchik