Scroll. Testnet
Обновление 13.06.2023:
🔻🔻🔻
https://layer3.xyz/quests/aave-on-scroll
Обновление 12.06.2023:
🔻🔻🔻
https://layer3.xyz/quests/swap-on-scroll
Обновление 02.06.2023:
Где взять тестовый ETH и как перевести его в сеть Scroll мы писали гайде ранее
Переходим к взаимодействию с Syncswap:
▪️На SyncSwap подключаем кошелек в сети Scroll Alpha
▪️Во вкладке Trade делаем различные свапы
▪️Во вкладке Pool добавляем ликвидность (на данный момент доступны пары USDC/ETH и USDT/ETH):
Выбираем Wizard ⏩ выбираем токены ⏩ Enter Pool ⏩ Deposit ⏩ вводим желаемую сумму ⏩ нажимаем Deposit
▪️Забираем ликвидность полностью или частично во вкладке Withdraw
Обновление 16.05.2023:
Выполняем активность от протокола Aave в сети Scroll.
Aave — это децентрализованная платформа займов, при помощи которой мы имеем возможность получить криптовалюту в долг. Недавно проект анонсировал поддержку тестовой сети Scroll. Для тех, кто не успел приступить к тестированию сети Scroll это прекрасная возможность нагнать активность.
Подготовка
Переходим на страницу AAVE и подключаем MetaMask:
Затем нам необходимо немного тестового эфира на комиссию. Соответственно этот шаг выполняют те, у кого нет тестового эфира в сети Scroll.
Получить тестовые токены можно через кран или купить goerli Eth за настоящий Eth в сети Arbitrum или Optimism здесь.
Шаг 1
Бриджим тестовый $ETH в сеть Scroll:
Шаг 2
Ждем минут 10-30 и после завершения перевода через мост переходим к тестированию AAVE. В верхнем правом углу выбираем Testnet mode:
В MetaMask выбираем тестовую сеть Scroll на Chainlist, а на странице Aave выбираем тестовую сеть Scroll Alpha:
Далее пробуем получить тестовые токены, кликнув на верхней панели на Faucet:
В настоящее время краны AAVE работают некорректно и, если тестовые токены не были получены, выполняйте тестнет без них.
Шаг 3
Переходим в AAVE протокол, и тестируем все доступные функции. Поскольку у нас лишь один токен, нажимаем supply и отправляем в залог часть эфира:
У нас открылась возможность забрать назад залог, а также взять различные токены в долг:
Шаг 4
Протестируем сначала функцию займа и одолжим немного токенов DAI. Нажимаем Borrow, указываем сумму займа и подписываем транзакцию:
Теперь мы можем вернуть DAI и погасить заем через кнопку Repay:
Указываем сумму, которую хотим вернуть, и подписываем две транзакции в кошельке:
Шаг 5
Аналогично тестируем другие токены. Можно погашать заем лишь частично, можно оставить заемный токен также в качестве залога. Как заработают краны, нужно протестировать функции платформы с другими токенами.
Шаг 6
В конце тестирования мы заберем свой эфир из залога (можно забрать лишь часть):
Если та же ошибка вывода эфира будет присутствовать у вас при прохождении тестнета, выведите в обернутый эфир лишь незначительную сумму, чтобы протестировать эту функцию. Когда вы вернетесь к повторению тестнета, ошибка может быть уже исправлена.
Можно пройти тестирование не со всеми токенами сразу, а периодически возвращаться и делать активность с новыми токенами.
Подписываемся на Discord проекта.
Обновление подготовлено экспертом COIN SIDE — Милой @Mila_Lab
Обновление 07.04.2023:
1. В Discord необходимо пройти верификацию в ветке #verify
!!!Установите аватарку в Discord, без нее не пустит на сервер проекта.
Переходим в Discord. Сначала нажимаем Выполнить, ставим галочку и жмем Отправить:
В ветке #verify жмем на Verify, снова на Verify, в появившемся окне жмем Ага:
Нас перекидывает на сайт, где жмем LOGIN:
Далее жмем Авторизовать, затем ставим галочку, чтобы пройти проверку:
Подробнее тут
2. В гильдии забираем mystery role. Роль могут получить только те, у кого Twitter создан до 1 октября 2022
🔻🔻🔻
https://guild.xyz/scrollzkp
Обновление 17.03.2023:
Деплоим смарт-контракт. Новая активность в Scroll.
Шаг 1
Для начала в кошельке подключаемся к сети Scroll Alpha. Только после этого приступаем к следующим действиям:
Шаг 2
Переходим на этот сайт и нажимаем Accept:
Шаг 3
Дальше в панели слева находим значок, который выделен на скриншоте. Нажимаем на него и создаем файл:
Шаг 4
После того, как нажали на значок папки, увидите поле ввода. Туда пишем название:
Шаг 5
Дальше нужно вставить этот код:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
contract FunctionTypes{
uint256 public number = 5;
constructor() payable {}
// 函数类型
// function (<parameter types>) {internal|external} [pure|view|payable] [returns (<return types>)]
// 默认function
function add() external{
number = number + 1;
}
// pure: 纯纯牛马
function addPure(uint256 _number) external pure returns(uint256 new_number){
new_number = _number+1;
}
// view: 看客
function addView() external view returns(uint256 new_number) {
new_number = number + 1;
}
// internal: 内部
function minus() internal {
number = number - 1;
}
// 合约内的函数可以调用内部函数
function minusCall() external {
minus();
}
// payable: 递钱,能给合约支付eth的函数
function minusPayable() external payable returns(uint256 balance) {
minus();
balance = address(this).balance;
}
}Вставляем этот код в поле, которое посередине изначально было пустое и в появившемся сообщении жмем ОК:
Шаг 6
- Дальше нажимаем значок, который на скриншоте отмечен цифрой 1. После чего нам откроется кнопка
- Нажимаем кнопку Compile Scroll.sol
Шаг 7
- Дальше нажимаем самый последний значок
- Когда нам откроется панель, в самой первой строке жмем и выбираем MetaMask
- Подтверждаем транзакцию
После того, как выбрали MetaMask нажимаем красную кнопку Deploy и подтверждаем транзакцию:
Зеленая галочка означает, что мы сделали все правильно:
На этом мы задеплоили контракт.
Деплоим токен
Шаг 1
НЕ ЗАБЫВАЕМ БЫТЬ В СЕТИ SCROLL ALPHA
- Снова переходим сюда и прокликиваем сообщения: Next, Next, Done
- Нажимаем значок, отмеченный на скриншоте, и вписываем желаемое название токена:
Шаг 2
// SPDX-License-Identifier: MIT
// WTF Solidity by 0xAA
pragma solidity ^0.8.4;
interface IERC20 {
/**
* @dev 释放条件:当 `value` 单位的货币从账户 (`from`) 转账到另一账户 (`to`)时.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev 释放条件:当 `value` 单位的货币从账户 (`owner`) 授权给另一账户 (`spender`)时.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
/**
* @dev 返回代币总供给.
*/
function totalSupply() external view returns (uint256);
/**
* @dev 返回账户`account`所持有的代币数.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev 转账 `amount` 单位代币,从调用者账户到另一账户 `to`.
*
* 如果成功,返回 `true`.
*
* 释放 {Transfer} 事件.
*/
function transfer(address to, uint256 amount) external returns (bool);
/**
* @dev 返回`owner`账户授权给`spender`账户的额度,默认为0。
*
* 当{approve} 或 {transferFrom} 被调用时,`allowance`会改变.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev 调用者账户给`spender`账户授权 `amount`数量代币。
*
* 如果成功,返回 `true`.
*
* 释放 {Approval} 事件.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev 通过授权机制,从`from`账户向`to`账户转账`amount`数量代币。转账的部分会从调用者的`allowance`中扣除。
*
* 如果成功,返回 `true`.
*
* 释放 {Transfer} 事件.
*/
function transferFrom(
address from,
address to,
uint256 amount
) external returns (bool);
}
contract ERC20 is IERC20 {
mapping(address => uint256) public override balanceOf;
mapping(address => mapping(address => uint256)) public override allowance;
uint256 public override totalSupply; // 代币总供给
string public name; // 名称
string public symbol; // 符号
uint8 public decimals = 18; // 小数位数
address public owner;
// @dev 在合约部署的时候实现合约名称和符号
constructor(string memory name_, string memory symbol_){
name = name_;
symbol = symbol_;
owner = msg.sender;
}
// @dev 实现`transfer`函数,代币转账逻辑
function transfer(address recipient, uint amount) external override returns (bool) {
balanceOf[msg.sender] -= amount;
balanceOf[recipient] += amount;
emit Transfer(msg.sender, recipient, amount);
return true;
}
// @dev 实现 `approve` 函数, 代币授权逻辑
function approve(address spender, uint amount) external override returns (bool) {
allowance[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
// @dev 实现`transferFrom`函数,代币授权转账逻辑
function transferFrom(
address sender,
address recipient,
uint amount
) external override returns (bool) {
allowance[sender][msg.sender] -= amount;
balanceOf[sender] -= amount;
balanceOf[recipient] += amount;
emit Transfer(sender, recipient, amount);
return true;
}
// @dev 铸造代币,从 `0` 地址转账给 调用者地址
function mint(uint amount) external {
require(owner == msg.sender);
balanceOf[msg.sender] += amount;
totalSupply += amount;
emit Transfer(address(0), msg.sender, amount);
}
// @dev 销毁代币,从 调用者地址 转账给 `0` 地址
function burn(uint amount) external {
balanceOf[msg.sender] -= amount;
totalSupply -= amount;
emit Transfer(msg.sender, address(0), amount);
}
}
Шаг 3
После того как вставили код нажимаем значок под цифрой 1 и затем нажимаем кнопку Compile VMK.sol:
Шаг 4
- Выбираем последний значок
- Снова выбираем MetaMask
- Вписываем название и абривиатуру токену. У КАЖДОГО ИНДИВИДУАЛЬНО
- Нажимаем кнопку Transact и подтверждаем транзакцию
Шаг 5
В этой же панели скроллим чуть ниже и видим Deployed Contracts. Нажимаем маленькую стрелочку:
После чего нам откроется панель:
- Видим Mint и снова нажимаем маленькую стрелочку
- Дальше в поле вводим количество монет
18000000000000000000000000 - Нажимаем кнопку Transact и подтверждаем транзакцию
Шаг 6
Тут копируем контракт созданного нами токена:
- Дальше идем на Uniswap, коннектимся к сети Scroll Alpha. Идем во вкладку Пулы и выбираем токен:
Дальше вставляем в поле ввода наш адрес токена, который копировали ранее:
- Далее выбираем комиссию для пула
- Вписываем цену монеты к ETH
- Выбираем диапазон цены, в котором будет работать пул
- Аппрувим
- Подтверждаем транзакцию
На этом все действия окончены!
Вот еще активности в сети Scroll, на самостоятельное тестирование, так как там не сложно. Это игры:
- Крестики-нолики
- Скролл Гардианс
- Скролл чат — ответы на вопросы о Скролл, но только на английском
- FOMO3 Лотерея
Некоторые игры могут не работать, поэтому следим, и проявляем дополнительную активность в сети!!!
Обновление от 01.03.2023:
💥 Заключительный этап перед майннетом. Проделываем действия в новом альфа-пространстве Goerli опираясь на гайд. Дополнительно добавили только пункт «перевести токены друг другу».
1. Дергаем кран в Goerli
2. Переходим на сайт тестнета подключаем MetaMask (Connect Wallet) и добавляем сети (Goerli если уже добавлена, то не нужно снова):
3. Переводим монеты из сети Goerli в сеть Scroll Alpha Testnet:
У меня перевод шел около 10 минут, может идти и дольше. В итоге видим такое сообщение:
4. После того как скинули токены в сеть Scroll, нам нужно отправить их другу (делаем обычный перевод по адресу), и чтобы вам их отправили обратно.
5. Идем на Uniswap, подключаем ММ, там нужно обернуть ETH:
6.Теперь нам нужно свапнуть эфир на USDC, нажимаем на стрелочку вниз рядом с WETH, чтобы выбрать другой токен.
В поисковой строке вставляем Контракт токена 👉0xA0D71B9877f44C744546D649147E3F1e70a93760
Нажимаем на USDC и подтверждаем (жмем Я понимаю):
Теперь свапаем немного эфира на USDC, нажимаем Обменять и подтверждаем обмен:
7. Далее кидаем монеты в пул ликвидности. Нажимаем на выбор токена и выбираем USDC (если в списке нет, то добавляем так же как и ранее по адресу контракта):
(3) Указываем количество USDC, количество эфира установится автоматом
Далее нажимаем Предпросмотр и Добавить:
8. Видим нашу позицию, нажимаем на нее:
Нажимаем Удалить ликвидность, далее забираем полностью или частично:
Можно добавить и забрать ликвидность также используя WETH.
9. Снова переходим на мост и переводим небольшую часть эфира обратно в Goerli
* Не забываем тестировать платформу регулярно и желательно делаем на несколько аккаунтов!
Scroll — это аналог Zksync, Arbitrum, Optimism и т.д. Простыми словами — очередной Layer 2. Проект поднял раунд финансирования в $30кк. В ряды инвесторов входят: Polychain, известные ребята из Ethereum Foundation и другие фонды.
Сейчас есть возможность протестировать проект на ранней стадии, но нужно учитывать то, что сеть постоянно сбрасывается, поэтому активность будем выполнять периодически.
Подключаем кошелек
Переходим на сайт и подключаем кошелек к L1 и L2, чтобы добавить сеть:
Дергаем кран
Переходим на кран и запрашиваем тестовые токены через оранжевую кнопку:
Внимание! Кран периодически не работает
Тестируем мост
Переходим во вкладку Bridge. Нам нужно перегнать токены из L1 в L2. Для этого вписываем нужное количество, нажимаем кнопку и подтверждаем транзакцию:
Делаем свапы
Кидаем токены в пул
В той же вкладке выбираем Вложить, и нажимаем кнопку Add Liquidity:
Выбираем нужное количество токенов, аппрувим транзакцию и подтверждаем депозит:
Также можем забрать или добавить ликвидность:
Тестируем Uniswap
Переходим на Uniswap и подключаем кошелёк.
Выбираем другой токен и вставляем этот адрес контракта TSUSDC в поле 0x38BA9a208F34Ddc9332f6DfC0E9d567f098958A4
Затем вбиваем нужное количество токенов, свапаем и подтверждаем транзакцию:
Кидаем токены в пул
Переходим во вкладку Пулы и открываем новую позицию. Для этого нажимаем кнопку Выберите токен:
- Выбираем торговую пару
- Выбираем процент комиссии
- Ставим диапазон цены
- Указываем количество токенов
- Одобряем транзакцию
Также тут мы можем увеличить или удалить ликвидность:
Ребята, на этом мы закончили тестирование:)
Следим за анонсами в Twitter и подписываемся на Discord
Материал подготовлен экспертом Coin Side — Виолеттой @vi_lola044
Обучение по криптоинвестированию https://coin-side.com