February 27, 2023

Деплой в zkSync Era

Деплой в zkSync Era

Я деплоил через VSC на маке, то есть через терминал все так же получится и для винды тоже не должно быть проблем. Деплоим в тестовой сети, поехали:

1. Для приличия добавим сеть в мм https://chainlist.org/?search=zkSync+Era+test&testnets=true

2. Запросим тестовые токены https://portal.zksync.io/faucet, если что там же есть бридж через который можно переслать из гоерли.

3. Теперь перейдем к магии:

1) npm init -y

2) npm install --save-dev hardhat

3) npx hardhat

(выбираем Create a TypeScript project, затем энтер и несколько раз У)

4) mkdir greeter

5) cd greeter

6) npm init -y

7) npm add -D typescript ts-node @types/node ethers@^5.7.2 zksync-web3@^0.13.1 @ethersproject/hash @ethersproject/web hardhat @matterlabs/hardhat-zksync-solc @matterlabs/hardhat-zksync-deploy

😍 vim hardhat.config.ts

(тут как с деплоем Fuel, жмем і для редактирования и вставляем данный код https://era.zksync.io/docs/api/hardhat/getting-started.html#configuration , после этого жмем Esc и вводим :wq и жмем энтер)

9) mkdir contracts

10) mkdir deploy

11) vim contracts/Greeter.sol

(повторяем вставку по шагам , только теперь этот код https://era.zksync.io/docs/api/hardhat/getting-started.html#write-and-deploy-a-contract)

12) npx hardhat compile

13) vim deploy/deploy.ts

(вставляем контракт под пунктом 6 https://era.zksync.io/docs/api/hardhat/getting-started.html#write-and-deploy-a-contract , в нем есть строка const wallet = new Wallet("<WALLET-PRIVATE-KEY>"); после вставки кода в нее нужно вставить приватник от мм с тестовыми токенами, чтобы выглядело так: const wallet = new Wallet("4362462424624624");)

14) npx hardhat deploy-zksync

На этом все, не много ждем и получаем такой вывод:

Greeter was deployed to ...

Contract greets us with Hi there!!

Contract greets us with Hey guys!

После этого можно пойти в эксплорер и увидеть три транзы, т.к. после команды деплоя сразу происходит еще и взаимодействие с контрактом (не мечи конечно, но тоже норм).

https://goerli.explorer.zksync.io/

Для следующего акка повторяем пункты 13-14 (просто меняем приватник).

Если в самом начале выдаст zsh: command not found: npm - установите https://nodejs.org/ (LTS)

По остальным ошибкам пишите в ветку Hello, World! (надеюсь их не будет)