# Большой, длинный, необрезанный гайд по дропу от zkSync **Published by:** [Понятный инвестор](https://paragraph.com/@clearinvestor/) **Published on:** 2023-04-06 **URL:** https://paragraph.com/@clearinvestor/zksync ## Content Автор: https://t.me/clear_investor Дата обновления 06.04.2023ПредисловиеВстречайте обновленный гайд по движу в zkSync! В нем я собрал основные активности, за которые ранних юзеров могут наградить жирным дропчиком! Гайд будет дополняться, так что заглядывайте сюда время от времени. Также не стесняйтесь делиться своими мыслями и дополнениями в нашем чате. Конструктивная критика приветствуется! *Для прохождения гайда нам понадобится ETH в сети Ethereum Mainnet. Я рекомендую гонять сайз побольше, 500-1000 долларов в эфире будет норм. Но если вы лоубанк, сделайте активности хотя бы с 100$.О проектеzkSync — это L2-решение поверх Ethereum. Проект собрал $458 млн и выйдет в майнет в 2023 году. Кто-то говорит, что делать для него активности поздно, и снепшот уже был, но официального подтверждения этому нет. Так что воркаем, чтобы потом не плакать. Я считаю, что до запуска токена у нас есть еще месяцев 6-7, так как пока экосистема сырая! Сейчас у zkSync работают 2 сети: Lite и Era. Как я понимаю, команда будет постепенно отказываться от Lite и полностью переходить в Era. Но это не значит, что делать Lite не нужно! Делаем все, тем более затраты в Lite копеечные.Наводим шум в zkSync LiteИспользуем нативный мост zkSync LiteИдем на сайт, коннектим кошелек и вводим ETH в сеть zkSync.Для этого жмем Top up и выбираем среди Bridge zkSynс!Вводим число ETH, которое хотим перевести, и не забываем оставить чутка ETH на комиссии!Ждем пополнения.Торгуем на ZigZagИдем на сайт ZigZag и подключаем кошелек.Делаем несколько транзакций, например, продаем часть ETH и обратно покупаем.Так делаем с несколькими парами по несколько транзакций, например, ETH/USDC и ETH/DAI, чтобы нагнать объем!По итогу, оставляем на счету несколько DAI, остальное свапаем обратно в ETH.Создаем NFT на PinataИдем на сайт Pinata и регаемся как креатор.Жмем кнопку Upload+, затем File и загружаем любую картинку с компа.Копируем ее CID и возвращаемся в кошелек zkSync во вкладку NFT.Жмем Mint NFT.Активируем кошелек через подписание нескольких транзакций.Вставляем CID, авторизуемся и минтим NFT.Донатим на GitcoinИдем на сайт Gitcoin и регистрируемся через GitHub!*Если GitHub у вас нет, нужно его завести и в идеале дать отлежаться недельку-две, так как GitHub не любит, когда через него верифицируются.Потом кликаем на Products и выбираем Grants!Жмем View All Grants и выбираем проект, в который хотим задонатить.Жмем Add to Card и идем в корзину сверху!Выбираем в Amount/Currency валюту DAI, которую мы купили на ZigZag ранее.Пишем сумму доната (я напишу 1.8$) и кликаем I’m Ready To Checkout.Обязательно выбираем zkSync Checkout. Подтверждаем все транзакции и совершаем донат!Активности на Crew3Идем на Crew3, верифицируем свой профиль и проходим простые социальные задания!Также надо будет пройти квесты, за один из которых дадут роль в Discord.Ответы на первый тестBaby AlphaTo put the system through a series of real-money stress tests…Fair Onboarding AlphaFull Launch AlphaAround EOY 2022-Q1 2023, but we will put security first and consider…Ответы на второй тестCBCspicyОтветы на третий тест (про безопасность)NozkSyncBCDDEDAВыводим ETH через OrbiterИдем на сайт Orbiter и коннектим кошелек.Выводим ETH из сети zkSync в сеть Ethereum!*Оставляем немного на кошельке (10-15 долларов) для проявления активности в будущем. На этом движняк в сети Lite закончен! Кстати, вот моя видеоинструкция по zkSync Lite со стрима. Он был до выхода сети Era!- YouTubeEnjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.https://www.youtube.comЗалетаем в zkSync EraПолезные советыПеред тем, как с двух ног залетать в Era, добавьте в закладки сайт с экосистемой zkSync, чтобы не нарваться на скам! Тут собраны все официальные партнерства и протоколы, которые строятся на zkSync.Не пугайтесь дорогих транзакций в сети Era. Большую часть затрат на газ сейчас протоколы компенсируют (но не все). Итого получается, что цена газа сейчас в районе $0.25, что приемлемо.Не нужно делать все активности в один день! Погоняли пару протоколов на этой неделе, через неделю прошлись еще по нескольким! Помним, что самое главное для нас – регулярность. Косим под реальных пользователей.Используем нативный мост zkSync EraИдем на сайт моста, коннектим кошель и выбираем количество эфира, которое хотим забриджить.Жмем Deposit и ждем несколько минут.Идем на Layer3 и проходим квест. Заодно, так сказать.MuteИдем на сайт Mute и коннектим кошелек!Делаем свапы на сайте, нагоняем объем! Все по аналогии с ZigZag.Добавляем ликвидность в пулы!Идем на Layer3 и проходим квест. Заодно, так сказать Х2.SyncSwapИдем на сайт SyncSwap и коннектим кошелек!Делаем свапы на сайте, нагоняем объем! Все по аналогии с Mute.Добавляем ликвидность в пулы!Идем на Layer3 и проходим квест. Заодно, так сказать Х3.SpaceFiИдем на сайт SpaceFi и коннектим кошелек!Делаем свапы на сайте, нагоняем объем! Все по аналогии с предыдущим DEX.Добавляем ликвидность в пулы!Идем на Layer3 и проходим квест. Заодно, так сказать Х3.MintSquareНаш друг из гайда по StarkNet! В сети Era делаем аналогичные движения!Заходим на сайт MintSquare и коннектим кошелек.Убеждаемся, что мы в сети zkSync Era.Жмем Mint и приступаем к минту NFT.Подгружаем с компа какую-нибудь картинку.Даем имя нашей NFT.Жмем на кнопку Mint и подтверждаем транзакцию.Теперь будем торговать NFT. Переходим в Explore, жмем NFTs и фильтруем по стоимости от дешевых к дорогим.Выбираем дешевые NFT и покупаем, чтобы набить транзакций!Затем переходим в свой Profile и выставляем эти NFT на продажу.Идем на Layer3 и проходим квест. Заодно, так сказать Х4.Что еще можно потыкать?Ниже список DeFi-протоколов, на которые я поленился писать инструкцию. Но если вы не первый день в крипте, думаю найдете куда клацать.UniDex — платформа для трейдинга.RhinoFi — DEX с плюшками.Nexon Finance — лендинговый протокол.Onchain Trade — платформа для трейдинга.На этом мы закончили взаимодействовать с zkSync Era! Переходим к самому сложному…Деплой смарт-контракта на zkSyncТакие смарт-контракты мы еще не деплоили. Надо будет немного заморочиться! Я думаю, что смарт-контракт — не основная активность для дропа, но может выступить жирным мультипликатором, поэтому через силу, но лучше сделать. Есть два способа деплоя: на арендованном серваке и на своем компе. Для расширения кругозора, сегодня мы будем разворачивать контракт на компе при помощи Visual Studio Code.ПодготовкаКачаем и устанавливаем VSC.Качаем и устанавливаем Node.js (LTS)Открываем VSC и готовим рабочее пространство.Открываем папку с расширениями и скачиваем расширения, которые я выделил красным. Находим их через поиск.Создаем на компе папку zkSync для удобства и открываем ее нашим VSC: Файл — Открыть папку — указываем путь до папки zkSync.У нас должно открыться такое рабочее пространство. Если терминала нет, потяните за синюю полоску снизу.Если что, делаем по офф гайду от команды zkSync с небольшими доработками, так как у них пример в тестнете. Мы же будем делать в майнете.Разворачиваем контрактНачинаем вводить в терминал команды. *Вставил строчку — жмешь Enter — ждешь завершения процесса.Устанавливаем Hardhat:npm init --y npm add -D install --save-dev hardhat Выбираем Create a TypeScript project и жмем Enter, затем несколько раз Y (типа Yes).После чего продолжаем вводить команды:mkdir greeter cd greeter npm init -y sudo npm add -D typescript ts-node @types/node ethers@^5.7.2 zksync-web3 @ethersproject/hash @ethersproject/web hardhat @matterlabs/hardhat-zksync-solc @matterlabs/hardhat-zksync-deploy Появляется надпись Password — Вводим пароль от учетки на компе и жмем Enter.Создаем файл с названием hardhat.config.ts в папке greeter и вставляем этот код в пространство справа:import "@matterlabs/hardhat-zksync-deploy"; import "@matterlabs/hardhat-zksync-solc"; module.exports = { zksolc: { version: "1.3.7", compilerSource: "binary", settings: {}, }, defaultNetwork: "zkMainnet", networks: { zkMainnet: { url: "https://mainnet.era.zksync.io", ethNetwork: "https://eth.llamarpc.com", zksync: true, }, }, solidity: { version: "0.8.19", }, }; Возвращаемся к терминалу и продолжаем вводить команды:mkdir contracts mkdir deploy В папке greeter открываем папку contracts, создаем файл Greeter.sol и вставляем код://SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.0; contract Greeter { string private greeting; constructor(string memory _greeting) { greeting = _greeting; } function greet() public view returns (string memory) { return greeting; } function setGreeting(string memory _greeting) public { greeting = _greeting; } } Вводим команду:npx hardhat compile В папке greeter открываем папку deploy, создаем файл deploy.ts и вставляем в него код:import { utils, Wallet } from "zksync-web3"; import * as ethers from "ethers"; import { HardhatRuntimeEnvironment } from "hardhat/types"; import { Deployer } from "@matterlabs/hardhat-zksync-deploy"; // An example of a deploy script that will deploy and call a simple contract. export default async function (hre: HardhatRuntimeEnvironment) { console.log(`Running deploy script for the Greeter contract`); // Initialize the wallet. const wallet = new Wallet("ВСТАВЬ СЮДА ПРИВАТНИК"); // Create deployer object and load the artifact of the contract we want to deploy. const deployer = new Deployer(hre, wallet); const artifact = await deployer.loadArtifact("Greeter"); // Deploy this contract. The returned object will be of a `Contract` type, similarly to ones in `ethers`. // `greeting` is an argument for contract constructor. const greeting = "Hi there!"; const greeterContract = await deployer.deploy(artifact, [greeting]); console.log(greeterContract.interface.encodeDeploy([greeting])); // Show the contract info. const contractAddress = greeterContract.address; console.log(`${artifact.contractName} was deployed to ${contractAddress}`); // Call the deployed contract. const greetingFromContract = await greeterContract.greet(); if (greetingFromContract == greeting) { console.log(`Contract greets us with ${greeting}!`); } else { console.error(`Contract said something unexpected: ${greetingFromContract}`); } // Edit the greeting of the contract const newGreeting = "Hey guys"; const setNewGreetingHandle = await greeterContract.setGreeting(newGreeting); await setNewGreetingHandle.wait(); const newGreetingFromContract = await greeterContract.greet(); if (newGreetingFromContract == newGreeting) { console.log(`Contract greets us with ${newGreeting}!`); } else { console.error(`Contract said something unexpected: ${newGreetingFromContract}`); } } ВНИМАНИЕ! Нужно вставить приватный ключ от кошелька в строку кода, где я написал ВСТАВЬ СЮДА ПРИВАТНИК. Кавычки убирать не нужно!Помните, владелец приватного ключа владеет доступом к вашему кошельку, это почти то же самое что и сид-фраза. Я рекомендую создать под эту активность отдельный кошель, если сомневаетесь, и залить в него немного эфира в сети Era на газ. На мейн-кошельке делать не стоит, мало ли…Чтобы достать приватный ключ: Открываем MetaMask — Жмем три точки — Реквизиты счета — Экспорт закрытого ключа — Вводим пароль — Копируем приватник.Вставляем приватник в код и вводим команду в терминал:npx hardhat deploy-zksync Должны появиться такие строчки!Если появились, поздравляю, вы задеплоили контракт! Теперь его можно верифицировать!После верификации контракт будет доступен для каждого, что повышает риск взлома и кражи вашего приватного ключа. Делайте эту операцию только на тестовых кошельках!Переходим в эксплорер и введите адрес своего контракта. Выделил красным на скрине выше.Жмем на вкладку Contract и кликаем на кнопку Verify Smart ContractЗаполняем все поля, как на скрине.В поле Enter the Solidy Contract Code вставляем код из Greeter.solВ поле Constructor Arguments вставляем длинную шнягу, которая появились в терминале после деплоя контракта. Она у всех одинаковая, насколько я понял.После того, как заполнили все поля, нажимаете кнопку Verify Smart ContractУра, мы сделали это! Контракт верифицирован!На этом все! Было потно, но мы победили zkSync! Поздравляю вас! Не забывайте регулярно проявлять активность в этой сетке и слушаться маму! Также не забудьте подписаться на мой канал в телеграм! А еще можете сминтить эту статью, нажав на кнопочку Collect Entry ниже!Тем самым вы сделаете мне приятно и повысите свой шанс на ретродроп от Optimism и Mirror ^_^Жду вас тут | Telegram | Chat | YouTube | Twitter ## Publication Information - [Понятный инвестор](https://paragraph.com/@clearinvestor/): Publication homepage - [All Posts](https://paragraph.com/@clearinvestor/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@clearinvestor): Subscribe to updates - [Twitter](https://twitter.com/BertFedotov): Follow on Twitter