криптовалюта
February 15, 2023

GEM Scroll, все активности в одной статье: testnet, deploy, token. 

Scroll — это zkRollup на основе zkEVM на Ethereum, который обеспечивает нативную совместимость с существующими приложениями и инструментами Ethereum.

Инвесторы : Проект собрал $33 млн инвестиций от Polychain Capital, Bixin Ventures, Maple Leaf Capital, Santiago Santos и других.

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

Testnet :

1. Переходим на страницу, подключаем кошелёк Метамаск и добавляем обе сети Scroll (L1 + L2) + все доступные токены.

2. В разделе Faucet запрашиваем токены.

3. В разделе Bridge переводим токены из сети L1 в сеть L2.

Дополнения : переводим с L1 на L2 и обратно, не только ЕТН, но и другие токены. Но обязательно оставьте ЕТН в сети L2 для будущих активностей.

4. Переходим в раздел swap и обмениваем токены в L2 + закидываем в pool.

Дополнения : добавляем ликвидность + делаем remove.

Scroll тестнет в интерфейсе Uniswap.

Все действия повторяем на данном сайте, вы знакомы с интерфейсом UniSwap, поэтому всё быстро сделаете.

Deploy Contract

Для данной активности мы покупали сервер на Contabo ( самый дешевый подойдёт ). Если Вы с нами открывали ноду Shardeum, то знакомы с этой процедурой.

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

sudo apt update
sudo apt install git
git clone https://github.com/scroll-tech/scroll-contract-deploy-demo.git
cd scroll-contract-deploy-demo
curl -L https://foundry.paradigm.xyz | bash
source /root/.bashrc
foundryup
forge build --use 0.8.17

На следующем этапе нам нужно будет скопировать и вставить весь блок, только уже с нашими данными, мы покажем на своём примере, а вы добавите свои данные.

forge create --rpc-url https://prealpha-rpc.scroll.io/l2 \
--value "Количество эфира для блокировки в контракте" \
--constructor-args "Время разблокировки" \
--private-key "Ваш приватный ключ" \
--legacy \
contracts/Lock.sol:Lock --use 0.8.17

Важно : Время разблокировки - это время в Unix. Вы можете сгенерировать время на данном сайте. Время нужно писать будущее: например 05.06.2023.

Блок должен выглядеть следующим образом :

forge create --rpc-url https://prealpha-rpc.scroll.io/l2 \
--value 0.0000001ether \
--constructor-args 1685983984 \
--private-key 6d.....f925c3f1b24 \
--legacy \
contracts/Lock.sol:Lock --use 0.8.17

конечный результат должен выглядеть следующим образом :

Копируем поле Deployed to, и находим наш контракт в эксплореле Scroll.

На этом Deploy Contracta закончен. Переходим к следующему разделу.

Deploy Token

В данном разделе мы создадим свой собственный токен в сети Scroll. Название можете выбрать любое, мы назовём токен HareCrypta.

Каждую строку мы вставляем отдельно ! Будьте внимательны.

cd $HOME
sudo apt update
sudo apt install git
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
mkdir DeployToken
cd DeployToken
sudo npm init # Нажимаем Enter до самого конца.
sudo npm install --save-dev hardhat
sudo npx hardhat # Нажимаем Enter до самого конца. (JavaScript Project)
npm install --save-dev "@nomicfoundation/hardhat-toolbox@^2.0.0"
npm i @openzeppelin/contracts
cd contracts
nano <Имя Вашего Токена>.sol # Придумываем имя токена. Пример: # nano Harecrypta.sol 
 - Должен открыться пустой файл

Копируем и вставляем в пустой файл весь блок кода ( ниже ), изменяя данные на свои. Сохранить файл после вставки можно комбинацией ctrl+X, далее нажимаем Y + Enter.

// 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());
     }
}

Пример нашего блока :

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

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract Harecrypta is ERC20 {
       constructor() ERC20("Harecrypta", "HC") {
           _mint(msg.sender, 1000000000 * 10 ** decimals());
     }
}


Копируем весь блок кода ниже, должен открыться пустой файл.

cd $HOME/DeployToken/scripts
rm -rf deploy.js
nano deploy.js

Нам открывается пустой файл, сейчас вставляем весь блок ниже, меняя данные на свои, сохраняем комбинацией клавиш ctrl+x, далее Y и Enter.

const { ethers } = require("hardhat");

async function main() {

  const token = await ethers.getContractFactory("ИМЯ ТВОЕГО ТОКЕНА");

  const deployedToken = await token.deploy();

  await deployedToken.deployed();

  console.log(`The smart contract was deployed at: ${deployedToken.address} on Scroll L2!`);
}

main().catch((error) => {
  console.error(error);
  process.exitCode = 1;
});

На следующем этапе вводим команды по очередности.

npm i dotenv
cd $HOME/DeployToken
nano .env
PRIVATE_KEY="ВАШ ПРИВАТНЫЙ КЛЮЧ" # Не забудьте изменить ключ на свой # 
Сохраняем комбинацией клавиш ctrl+x, далее Y и Enter.
rm -rf hardhat.config.js
nano hardhat.config.js

После последней команды, нам открывается файл, в который мы должны вставить целый блок ( показанный ниже ) ничего не меняя ! Сохраняем комбинацией клавиш ctrl+x, далее Y и Enter.

require("@nomicfoundation/hardhat-toolbox");
require("dotenv").config({ path: ".env" });

const PRIVATE_KEY = process.env.PRIVATE_KEY;

/** @type import('hardhat/config').HardhatUserConfig */
module.exports = {
  solidity: "0.8.17",
  networks: {
    scrollL2: {
      url: `https://prealpha.scroll.io/l2`,
      accounts: [PRIVATE_KEY]
    }
  }
};

После этого вводим последнею команду :

npx hardhat run scripts/deploy.js --network scrollL2

Если видим такой скрин, значит мы сделали всё правильно и получаем адрес контракта, который можно проверить в эксплорере и добавить в кошелёк Метамаск.


На этом мы выполнили все возможные активности в сети Scroll. Если у Вас что-то не вышло, советую очистить сервер через cantabo и повторить все действия.

Вебсайт - https://harecrypta.com

Канал - https://t.me/harecrypta_lab_ann

Чат - https://t.me/harecrypta_chat

Ютуб - https://www.youtube.com/c/Harecrypta

Discord - https://discord.gg/e378xqGKdp