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