Cover photo

Активности & Деплой контракта в тестовой сети Scroll.io (Ru)

Предисловие

Всем ку, с вами снова Рус! ✌

https://linktr.ee/rrrusx

Эта статья для тех, кто уже делал/делает Scroll.io или кто планирует начать проявлять какую-либо активность в тестнете! Недавно, сеть перешла в новую стадию тестирования и перешла на Goerli Testnet.

Что это значит?- Это означает, что теперь в качестве Layer 1, будет не тестовый блокчейн скролла, а Goerli Testnet, где нативной валютой является ETH Goerli. Именно с этим мы и будем работать, после этого перехода, чтобы делать активности в сети.

В этой статье вы узнаете:

  1. Что нужно сделать в первую очередь после перехода сети в новую стадию

  2. Какие активности сейчас есть в сети

  3. Развернем с вами смарт контрактик (и не простой, а задеплоим свой токен внутри скролла чтобы было интереснее🤪)

Буду очень рад если вы жмакните на эти две кнопочки внизу, тем самым поддержите меня и мою первую статью. Буду стараться и дальше делать для вас контент, который может оказаться полезным!👇👇👇👇

Эту статью я буду обновлять сразу после появляения новых активностей, поэтому можете нажать Suscribe, чтобы не пропускать их:) 🫡

Subscribe

Что такое Scroll?

Scroll Network - проект, построенный на технологиях ZK-роллапов (самое безопасное, дешевое и самым оптимальным в своем классе для масштабирования Ethereum на Layer2), а также является аналогом таких сетей, как Оптимизм и Арбитрум. Простыми словами, проект был разработан для решения такой проблемы Ethereum - масштабируемость сети. Scroll - является прямым конкурентом вышеупомянутых сетей, при этом сам проект отслеживается Виталиком Бутериным, а также привлек значительную сумму инвестиций от таких VC, Polychain Capital и др.

Пошаговая инструкция по Scroll.io!

Распишу пошаговый цикл всех действий. Цикл проделываю каждый день, в зависимости от работы сети.

Две основные ссылки: Сайтик; СтатусЧек (эт полезная тема, сеть частенько падает), дс (можно занести тех вопрос или фб)

1/ По первых после перехода сети нам нужно добавить две новые сети в наш кошелек, если вы еще этого не сделали, поэтому переходим сюда и следуем инструкциям (все очень просто)

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

3/ Варик для продвинутых гиков* - кому мало крана и кто хочет много гоерли то ETH Goerli сейчас активно торгуются на ОТС площадках где вы можете их приобрести. Здесь Комарик привет!:) , можете найти гайд по работе с ОТС, но ДИОР!

4/ После того как вы имеете на кошельке ETH Goerli идем сюда → бриджим наш ETH Goerli маленькими объемами (я делаю 5+ транз примерно)

5/ Так, теперь у нас есть ETH на Скролле. Хоть активностей сейчас не оч много, тк не все проекты успели перейти на новую сеть, однако, мы идем на наш любимый Юнисвапчик делать свапы и закидывать ликву.

6/ Оборачиваем наш эфир в WETH. Делаем свапы с различными токенами которые сейчас доступны в сети чтобы проявлять активность. Нажимаем на эту ссылку если хотим свапнуть тестовый токен, это мой токен, я регулярно закидываю ликву в пул, так что можете свапать на здоровье 🫡.

Либо, можно вставить в поиск адрес контракта токена - 0x96d71e12950d19b07441df3e15fc72e952c98254 и свапнуть если у токена есть ликвидность на юнисвапе!!

Сюда просто вставляем адрес смарт контракта
Сюда просто вставляем адрес смарт контракта

7/ Закидываем в пулы ликвидности на Юни здесь. Можете также выбрать любую пару для пула, однако, если вы закинете пул ликвидносит в паре с моим токеном я буду ОЧЕНЬ вам благодарен! 🥰

Также можете отписать мне в личку тг и я закину вам своих токенов, можно будет замутить совместные пулы

8/ Новый протокол стал поддерживать альфу Скролла - SyncSwap. Идем для начала сюда и делаем свапы по всем токенам которые представлены в протоколе, также вы всегда можете свапнуть мой токен по этому адресу - 0x96d71e12950d19b07441df3e15fc72e952c98254

9/ Создаем пулы ликвидности вот тут. ПО возможности создаем пулы со всеми токенами, которые свапнули. Можно поделать пулы с токенами друг друга, можете отписать мне в личку и по фану поделать такую активность.

10/ Еще один новый протокол стал поддерживать альфу Скролла - Zada Finance. Идем для начала сюда и получаем ZDA токены за ретви. Потом делаем пару свапов по всем токенам которые представлены в протоколе, также вы всегда можете свапнуть мой токен по этому адресу - 0x96d71e12950d19b07441df3e15fc72e952c98254

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

11/ Недавно произошел деплой AAVE протокола на Скролле, так что залетаем сюда, в настройках не забываем выставить тестнет (см. скрин ниже).

В правом верхнем уголке нажимаем на настройки и выбираем "Testnet Mode", а потом выбираем Scroll Network
В правом верхнем уголке нажимаем на настройки и выбираем "Testnet Mode", а потом выбираем Scroll Network

Делаем саплай на те ассеты, что есть на балансе и берем борроу в любых! А еще есть кран внутри Ааве*

*12/ Нашел еще одну прикольную активность которую можно сделать только тс 🤫 - идем сюда и получаем мега секретную роль!

13/ Еще нашел прикольную игру в Скролле, кому не лень можно просто потыкаться. Я даже как-то позадротил в нее норм хахаха. Идем сюда, минтим себе перса и качаем!

14/ Выводим чз бридж средства в Л1.

Итог: Это основные активности которые можно проделать в сети на данный момент, которые не требуют каких-то дополнительных усилий.

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

Деплой контракта (лаунч токена) - пошаговая инструкция

1/ переходим сюда

2/ жмем на “Create New File” + Имя нового файла: “ScrollTestToken.sol”

post image
Выглядеть должно вот так
Выглядеть должно вот так

3/ копируем и вставляем код ниже в файл

// SPDX-License-Identifier: MIT
pragma solidity 0.8.11;
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

contract MyToken is IERC20 {
    string public name;
    string public symbol;
    uint8 public decimals;
    uint256 private _totalSupply;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    
    constructor(string memory _name, string memory _symbol, uint8 _decimals, uint256 initialSupply) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        _totalSupply = initialSupply * (10 ** decimals);
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }
    
    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }
    
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
    
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender] - amount);
        return true;
    }
    
    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "Transfer from the zero address");
        require(recipient != address(0), "Transfer to the zero address");
        require(_balances[sender] >= amount, "Transfer amount exceeds balance");
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
    }
    
    function _approve(address owner, address spender, uint256 amount) internal {
        require(owner != address(0), "Approve from the zero address");
        require(spender != address(0), "Approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
}

4/ прожимаем сначала кнопку "1” а потом нажимаем , где написнао “2”, как показано на скрине ниже (Compiler можете выбрать любой, но лучше выбирать одну из последних версий)

post image

5/ после этого

  • меняем сеть на Scroll Alpha Testnet в метамаске

  • меняем среду на “Injected Provider - MetaMask“ (“2“)

  • Name: Указываем название вашего токена

  • Symbol: Тикер вашего токена

  • Decimals: 18

  • Supply: указывайте сколько хотите) Это начальное предложение вашего токена

  • нажимаем “Transact“ (“3“)

post image

6/ Итак, вы подписали транзакцию и теперь у вас есть свой смарт контракт ВАШЕГО токена! Прокрутив вниз, вы увидите панель управления вашего смартконтракта, Выглядеть должно так:

В этой панеле вы можете проделывать взаимодействия с вашим токеном!
В этой панеле вы можете проделывать взаимодействия с вашим токеном!

7/ Все ваши смарт контракты и токены можно просматривать вот тут

Всем спасибо кто дочитал до конца:)

Буду продолжать в том же духе ✊

Мой тг - @rrrusx, всегда рад видеть вас там, если возникают вопросики, always welcome ✌️