August 8, 2023

Scroll глазами Хаса


Интро

Очередной гайд от Хаса. На этот раз по ранним активностям в сети Scroll Alpha Testnet. В статье собраны мастхэв задачи с подробным объяснением. Учитывая приближающийся майнет - советую скорей браться за статью. Удачи с очередным лайф ченджем, приступим)


Содержание


Что такое Scroll и с чем его едят?


Scroll — это Layer2-решение, созданное на основе EVM-совместимого ZK-rollup (ранее рассказывал о новом проекте Polygon zkEVM, который тоже основан на том же принципе) для масштабирования блокчейна Ethereum с целью предоставить юзерам мгновенные и максимально дешевые транзакции.


Что такое zkRollup ?

Для начала, думаю, стоит разобрать, что же такое zkRollup, о котором все чаще говорят

zkRollup являются решением по масштабированию для Ethereum, которое позволяет выполнять транзакции во внешней цепочке (Layer 2), что позволяет избежать высоких сборов за газ и получить почти мгновенные транзакции. При этом данные или результаты этих транзакций размещаются на Layer 1 в специальном смарт-контракте.

zkRollup становятся все более популярным решением для масштабирования Ethereum, что приводит к росту количества проектов, использующих их. Активную поддержку эта технология получила от Etherium. Многие инвестора вкладывают свои зеленые в различные проекты, использующие эту технологию.

Проект Scroll — одно из самых удачных и оптимальных решений в этом направлении.


Преимущества Scroll

В ходе работы над данным проектом разрабы, аки некие ассасины, придерживаются своего технического кредо:

  1. Масштабируемость — достигается путем обработки транзакций офф-чейн и публикации кратких доказательств правильности он-чейн, что позволяет увеличить пропускную способность и снизить затраты в сравнении с Ethereum
  2. EVM-эквивалентность — данный принцип предполагает, что разработка на Scroll идентична разработке на Ethereum, что позволяет создателям dApps в экосистеме Scroll развертывать любые приложения, работающие на Layer 1 без проблем
  3. Безопасность — команда проекта открыта к обратной связи и сотрудничает с сообществом, чтобы создать полностью прозрачную и безопасную среду, проводя тщательные аудиты сторонних экспертов.

Архитектура

Архитектура системы включает три компонента:

  • Scroll Node — создает блоки L2 из пользовательских транзакций, сохраняет их на базовом уровне Ethereum и обеспечивает связь между L1 и L2
  • Roller Network — генерирует доказательства валидности zkEVM для подтверждения правильности выполнения транзакций
  • Rollup and Bridge Contracts — обеспечивают доступность данных для транзакций Scroll, проверяют доказательства достоверности zkEVM и позволяют пользователям перемещать активы между Ethereum и Scroll.

На Tweetscout видим следующую картину:

Сразу подмечаем, что в подписчиках есть Виталик Бутерин — отец всея Ethereum'а. Кроме того, к проекту проявляют интерес крупнейшие фонды — a16z, Sequoia Capital, Polychain, OKX Ventures, Paradigm и многие другие.


Инвест

В 2022 году в рамках раунда Серии A разработчикам было выделено более $30 млн, а в 2023 году в ходе венчурного инвест-раунда было добавлено еще $50 млн.

Разбирать отдельно инвесторов не буду, но отмечу, что не обошли Scroll стороной ребята из фонда PolyChain Cap., инвестировавший в свое время в солану, арбитрум, авакс и унисат. Они насыпали денег в поддержку проекта как в раунде Серии А, так и в ходе венчурного инвест-раунда.

На данный момент доступен Alpha Testnet. Преимущества данного тестнета в том, что он практически не требует никаких вложений, кроме вашего времени и проходится довольно быстро.

Разработчики проекта намерены привлечь Aave V3 в числе первых DeFi dApp своей экосистемы и всячески сотрудничать с его командой. А значит на ковыряние тестнета у нас осталось меньше месяца!

Награды: не объявлены. Но агрессивно советую не пропускать этот проект.


Экосистема

На сайте проекта мы можем найти внушительный список проектов, входящих в экосистему Scroll.

Среди них можно отметить следующие небезызвестные проекты:

  • OKX Web3 wallet — удобный для разработчиков блокчейн-кошелек, отличительной четой которого является мультичейн, безопасность и децентрализованность.
  • Sushi — приложение для децентрализованного финансирования (DeFi) с такими функциями, как свап, кросс-чейн свап, стриминг и т.д.
  • Stargate — это омничейн-нативный мост активов, созданный для решения трилеммы блокчейна, которая гласит, что ни один блокчейн не может быть одновременно децентрализованным, безопасным и быстрым.
  • Orbiter Finance — представляет собой децентрализованный кросс-роллап мост второго уровня с контрактом только на стороне назначения.
  • Aave — децентрализованный протокол ликвидности с открытым исходным кодом, который позволяет людям предоставлять и заимствовать криптоактивы.
  • BitKeep — мультичейновый кошелёк которые поддерживает более 85 сетей блокчейна и имеет расширяный функционал начиная с BitKeep Swap и заканчивая на собственным NFT Marketplace.

Проектов очень много, детально о каждом узнать вы сможете, непосредственно, изучив список

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


Активности

Получаем роль в Discord

— Переходим на сайт и нажимаем Join Guild to get roles.

— Подключаем соцсети и кошелек.

— Выполняем социальные задания и забираем роль Scroll OG:

Примечание: На данный момент Discord проекта достиг своего максимума в 500k участников, поэтому роль доступна, только если вы ранее уже вступили в Discord проекта. Но модер в чате писал, что проект отправил запрос на повышение лимита, поэтому следите...

Официальный мост Scroll

Scroll предоставляет официальный гайд по действиям в их альфа тестнете, но я распишу их далее.

В первую очередь идем на сайт и добавляем сети Goerli Testnet и Scroll Alpha Testnet предварительно привязав кошелек (если вы проходили pre-alpha testnet, то удалите предыдущие сети)

После того, как проделали эти действия можно перейти в кран, и запросить там немного Goerli ETH. Сайт немного капризный, и возможно будет просить подтверждения по номеру, но можно пытаться несколько раз обновляя страницу, иногда после этого пропускает без смс, но чаще будет просить (виртуальные симки не пройдут, ибо сайт выдает ошибку при запросе кода в смс, поэтому только звонок).


Итак, вы получили свои тестовые эфиры, идем с ними на официальный мост и бриджим из Goerli Testnet в Scroll Alpha Testnet

И идем перекусить перед тем, как приступить к остальным активностям, потому что идти ваши тестовые эфиры будут около 10-15 минут. После получения можно часть токенов перекинуть обратно в Goerli.

Также можно затестить отправку токенов. Думаю, как отправлять токены в ММ все знают, но на всякий случай. Открываем MetaMask в сети Scroll Alpha, жмем кнопочку Send (Отправить) и шлем немного тестовых токенов на какой-нибудь левый кошелек. А на левый, потому что не стоит связывать между собой свои мульты.


Деплой смарт-контракта

Сначала убедитесь, что вы в сети Scroll Alpha Testnet

Идем на сайт Remix

Будем подгружать контракт из GitHub репозитория

Для этого на главной странице жмем на кнопку GitHub

В открывшемся окне в поле вставляем эту ссылку:

https://github.com/scroll-tech/scroll-contract-deploy-demo/blob/main/contracts/Lock.sol

и жмем Import

В списке файлов жмем на Lock.sol и идем в Solidity compiler

Выбираем версию 0.8.18 компилера из выпадающего списка

и жмем на кнопку Compile Lock.sol или Ctrl+S (или Command+S, если на Mac). Контракт компилируется.

Переходим во вкладку Deploy & run на панельке слева. В окне ENVIRONMENT выбираем пункт Injected Provider и система сама определит ваш кошелек MM (Опять же, вы должны быть в сети Scroll Alpha Testnet)

В окне ACCOUNT должен отобразиться адрес вашего кошелька. В VALUE пишем количество токенов, которое хотим залочить в контракте. Я выбрал минимум — 1 Gwei.

Дальше необходимо задать unit256 _unlockTime. Это временная метка в формате Unix, после которой средства, заблокированные в контракте, станут доступны для снятия. Попробуйте установить это значение на некоторую Unix-временную дату в будущем

Я, например, поставил 1693210271 — это 28.08.2023 11:11:11, вы же можете воспользоваться этой, либо поставить любую другую, для этого идем на сайт и конвертируем под нужную вам дату

Теперь, когда вы вставили нужную дату, все готово, жмем красную кнопку Deploy и подписываем транзакцию.

Если внизу появилась такая надпись, то можем похвалить себя и идти дальше верифицировать наш контракт.

Идем в ММ на вкладку с активностью и видим следующее

Открываем ее и нажимаем на "Смотреть в проводнике блоков" и видим там вот эту строку

Нажимаем на наш контракт и нас перекидывает на страницу контракта, где нам необходимо спуститься чуть ниже и нажать на Code

Мы люди простые, видим такое жмем кнопку Verify and Publish.

На открывшейся странице с выбором метода верификации ничего не меняем и жмем Next, после чего видим такую картину

Все должно быть как на скрине, и ОБЯЗАТЕЛЬНО проверяйте, чтоб версия компилятора совпадала с той, что мы выбирали на этапе деплоя контракта

Если все проверили и сделали как надо жмем на кнопку Verify and Publish. В результате рядом с Code должна появиться галочка

Может иногда выдавать ошибку "Error while sending request to verification microservice" пробуйте еще попозже

Процесс долгий (около 15-20 минут), поэтому можете пойти выпить чайку, или перейти к следующим активностям.


Деплой токена

Заходим на OpenZeppelin и задаем параметры своего будущего токена: Name (имя), Symbol (тикер), Premint (количество токенов), а в Features ставим галку Mintable. Access Control ставим Ownable, но Upgradeability, Info и License не трогаем. Копируем появившийся справа код.

Идем на Remix и создаем новый смарт-контракт - жмем выделенную кнопку New File и называем его как душе угодно и вставляем тот код, который только что копировали с OpenZeppelin.

Выполняем компиляцию уже знакомой кнопкой Compile ИмяФайла.sol.

Идем в другую знакомую нам вкладку Deploy & Run Transactions, где ничего не меняем, жмем кнопку Deploy и подтверждаем действие в Metamask.

Видим зеленую галку под кодом, а значит мы молодцы и все сделали верно.

Теперь в самом низу левого столбца видим Deployed Contracts MYTOKEN адрес. Копируем этот адрес с помощью кнопки рядом, открываем Metamask Активы Импорт токенов и вставляем скопированный адрес в поле Адрес контракта токена, в Символ токена вбиваем тикер, присвоенный ему ранее в Remix, в Число десятичных знаков токена оставляем 18, и жмем Добавить пользовательский токен.

Готово, теперь можешь всем хвастаться, что ты работаешь в криптовалюте


UniSwap

Перед началом этой активности можем сначала запросить тестовые USDC, для чего идем сюда, коннектим кошелек и жмем Claim.

Дальше идем на сайт Uniswap, развернутый в Scroll Alpha Testnet, подключаем Metamask и свапаем полученные USDC в ETH и c другими монетами аналогично, имитируем активность.

Когда надоест свапать переходим к следующему шагу, для него нужно оставить токены помимо ETH, у меня это USDC

Переходим во вкладку Pool и открываем новую позицию

Рандомно тыкаем на кнопки, меняя параметры пока кнопка не станет активной.

Апрувим USDC и добавляем ликвидность через кнопку Preview, в появившемся окне жмем Add

Готово

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

Идем дальше


Aave

Учитывая тот факт, что Aave рискует вот-вот стать одним из главных DeFi-партнеров Scroll, будет не лишним повзаимодействовать с ним:

Идем на Aave, подключаем свой Metamask, тыкаем по шестеренке и врубаем Testnet mode.

Жмем на стрелку вверх около надписи Ethereum V3 и выбираем Scroll Alpha.

Переходим в Faucet и забираем из крана всевозможные токены. Далее возвращаемся во вкладку Dashboard и нажимаем кнопку Supply напротив каждой из них. Вбиваем сумму и подтверждаем Supply.

Теперь выбираем справа токен и жмем Borrow, не забыв ввести сумму.

Перед нами появится страница с токенами, которые мы только что заняли — нажимаем кнопку Repay.

В открывшемся окне тыкаем MAX, затем Approve to continue и Repay. Готово!

Повторяем периодически эти действия


SyncSwap

Переходим на syncswap, выбираем сеть Scroll Alpha и подключаем свой кошелек:

При желании можете воспользоваться кнопкой Faucet и запросить тестовые токены (не обязательно делать ретвит). Теперь вводим значение ETH и свапаем на USDC и обратно:

После этого создадим пул ликвидности, кликаем на пункт меню Pool - Positions:

Выбираем New Position и здесь выбираем можно выбрать пул нужных токенов токенов (я оставил по-умолчанию ETH-USDC) и нажимаем Enter Pool:

Далее сбоку выбираем Deposit и вводим нужное количество, а затем депозитам в пул и подтверждаем транзакцию:

Для вывода из пула переходим в Withdraw, выбираем нужный токен и количество, затем подписываем транзакции:


Symbiosis

Переходим на сайт и подключаем кошелек.

Выбираем тестовою сеть Scroll, после чего выбираем желаемую пару, вбиваем количество, апрувим и свапаем. Таким образом делаем пару свапов.

Можно также добавить ликвидности в пул


DODO Swap

DODO - DEX обменник, есть токен с капитализацией 40млн$, торгуется на бинансе. Главное для нас, это 60% дропа на коммьюнити и активность в Scroll

Идем на сайт DODO Swap и подключаем кошелек.

Со свапом на данный момент какие-то проблемы, поэтому воспользуемся wrap'ом и меняем ETH на WETH и обратно

Слева в меню переходим в Pools и жмем Create Pool

Выбираем Standart

Составляем пару из тех, что у вас имеется в наличии и апрувим, если ничего в пару нет, то делаем доп активность путем свапа и возвращаемся снова сюда.

Сайт немного криво работает, поэтому дальше апрува не дает идти...

Идем в Mining и жмем Create Liquidity Mining

И по очереди создаем Single-Token Stake Mining и Token Pair Mining:

Single-Token Stake Mining

Жмем Next, выбираем любой токен с ненулевым балансом, выбираем дату, количество дней и идем дальше. Задаем ежедневные награды (условные 10 токенов) жмем Create, игнорируем предупреждение и подтверждаем.

Переходим к следующему типу

Token Pair Mining

Видим такое окно

В Select Pool в открывшемся окне идем в Token Pair и выбираем любые с ненулевым балансом, после чего выдаст список пулов, выбираем любой

Дальше по аналогии с предыдущим методом до момента выбора наград

Жмем Select, выбираем токен и все как и до этого

Все, тут закончили


iZUMi Finance

Переходим на сайт iZUMi Finance и подключаем кошелек.

Вводим желаемую сумму в ETH и нажимаем Swap. Подтверждаем транзакцию:

Далее нажимаем Liquidity, после Add Liquidity+. Вводим желаемую сумму и нажимаем Approve USDT, после Create:

Пул создан, теперь возвращаемся на страницу создания и нажимаем Remove

Меняем процент ползунком и нажимаем Remove


Zada Fin.

Переходим на сайт. Подключаем кошелек и делаем ретвит для получения тестовых токенов.

Добавляем токен ZDA в Metamask. Контракт токена 0x457F5Bacd72a096B78CAA6E4cC27c1b5175746c3

Делаем несколько обменов во вкладке Swap.

После проведенных нескольких обменов в том же окне переходим во вкладку "Вложить"

Жмем Add Liquidity и делаем все как обычно

Можно так же, на всякий случай зайти к ним на сервер в дискорде и за это получить роли OG и Zaida в Guild


Mes Protocol

Переходим на сайт и коннектим кош, выбираем сеть Scroll Alpha Testnet

Нажимаем на синий кружочек слева от кошелька (или тыкаем сюда)

Депаем эфир

Дальше забираем нажав на Withraw

Выбираем метод и подтверждаем, в следующем окне вбиваем количество и выводим.

Также можем запросить UCDC в кране от MES Protocol


Layer 3

Периодически команда Layer3 добавляет задания, связанные с сетью. Найти их можно по ссылке.


NFT активности


Zonic

Переходим на сайт Zonic и подключаем кошелек.

Идем сюда и выбираем сеть Scroll и выбираем любую нфтишку по наименьшей цене (или наибольшей, если кошелек позволяет)

Выбираем любую NFT, после чего нажимаем Buy Now и подтверждаем покупку


NFTs2Me

Переходим на сайт NFTs2Me и подключаем кошелек в сети Scroll.

Заполняем поля и загружаем любую картинку. После чего нажимаем Create Collection

Пролистываем ниже и нажимаем Deploy to Scroll Testnet и подтверждаем транзакцию

Как только прошла транза и видим такое, можем закрыть страницу


Scroll Guardians

Идем на сайт и минтим нфтишки


Заключение

Стоит ли делать scroll? Выбрать ответ можете сами, просто в очередной раз подчеркну, что проект силён. Даже если провести аналогии с zkSync Era, которая сущетсвует уже несколько месяцев, то мы увидим, что развивается она довольно долго, и тир-1 протоколы появляются на ней спустя время, в то время, как UniSwap и AAVE уже связаны со скроллом.

Много пока сказать не получится, но заиметь уникальный месяц - неплохая перспектива.


А если вы по тем или иным причинам еще не прописаны на канал, то не упускайте эту возможность сейчас. Вступайте и снабжайтесь новыми знаниями