Giter Club home page Giter Club logo

zksync-web-era-docs's Introduction

zkSync Documentation

GitHub release (latest SemVer) GitHub license GitHub license Follow us!

zkEVM

zkEVM is a virtual machine that executes smart contracts in a way that is compatible with zero-knowledge-proof computation. Our zkEVM keeps EVM semantics, but is also ZK-friendly and adopts a traditional register-based CPU architecture.

zkSync Docs contain up-to-date information about zkSync. zkSync Era has built-in EVM compatibility which makes it a unified tool for releasing EVM-compatible ZK rollups. We call it zkEVM: web3, Layer 2, scaling functionality that preserves your battle-tested code and knowledge gained after years of working with Solidity.

Build and setup

Initial setup

The frontend team chose the yarn@berry package manager, so ensure you install node version LTS@14 after configuring yarn.

# configure yarn version: berry or specifically 3.1.1.
$ yarn set version berry

Main scripts

# install dependencies
$ yarn

# serve with hot reload at localhost:8080
$ yarn docs:dev
# static generation to dist
$ yarn docs:build

Development

The continuous integration pipeline uses prettier and markdownlint to ensure there are no issues with your document, that spelling is correct, and there are no dead links.

You can check it locally as follows:

# check dead links
$ yarn lint:dead
# check spelling
$ yarn lint:spell
# check with markdownlint
$ yarn lint:mdl
# check with prettier
$ yarn lint:fmt
# fix with markdownlint
$ yarn fix:mdl
# fix with prettier
$ yarn fix:fmt
# run all checks
$ yarn ci
# run all fixes
$ yarn ci:fix
# build for production
$ yarn ci:build

If lint:spell doesn't recognize a word, and you’re sure that it’s correct, consider adding it to cspell-zksync.txt.

Search

We use Algolia to index our documentation. Know more about it here. Dashboard is here, and Crawler Admin is here.

Contributions

Adding new tutorials

To add a new tutorial:

  • Fork the repository and create a new branch locally to add your changes.
  • Add the tutorial markdown file inside the build/tutorials folder.
  • Give the file an SEO-friendly name, as it is included in the live URL.
  • In the .vuepress/sidebar/en.ts file, add the tutorial inside this block:
{
  text: "Tutorials",
  link: "/dev/tutorials",
  children: [
        "/build/tutorials/cross-chain-tutorial.md",
        "/build/tutorials/custom-aa-tutorial.md",
        "/build/tutorials/aa-daily-spend-limit.md",
        "/build/tutorials/custom-paymaster-tutorial.md",
        // ADD YOUR FILE HERE
  ],
},
  • If your tutorial contains images, make sure to compress them using https://squoosh.app/ before adding them to the assets/images folder.
  • Finally, create a PR.

Deployment

The main branch is automatically deployed to https://console.firebase.google.com/u/0/project/aqwzx-zksync-v2-docs

Deploying does the following:

  • Installs node modules.
  • Prepares, tests, and builds documentation.
  • Deploys everything contained in the dist folder as a static website.
yarn zk-ci-prepare
yarn firebase deploy

Extra documentation

cSpell

Configuration in .cSpell.json:

  • version — version of the setting file, always 0.1.
  • language — current active spelling language.
  • words[] — list of correctly-spelled words.
  • dictionaries[]
"dictionaryDefinitions": [
  {
    "name": "zksync", "path": "./cspell-zksync.txt"
  }
]

zksync-web-era-docs's People

Contributors

albionahoti avatar amelnytskyi avatar anastasiiavashchuk avatar andriidrebot avatar anton-matterlabs avatar barakshani avatar danijeltxfusion avatar defigeneration avatar dutterbutter avatar filiptxfusion avatar githubdoramon avatar hatemosphere avatar hedgar2017 avatar idea404 avatar jackhamer09 avatar kailash-manasarovar avatar keriat avatar kiriyaga-txfusion avatar krofax avatar lgingerich avatar ly0va avatar mexicanace avatar mpopovac-txfusion avatar olehbairak avatar petartxfusion avatar renovate[bot] avatar stanislavbreadless avatar uf4no avatar vladbochok avatar zk-lumi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zksync-web-era-docs's Issues

Fix missing text

I spotted multiple typos in the doc and I wanted to share the info with you.

In fundamentals/zkSync.md

  1. This paragraph shouldn't be there. It is duplicated.
    image

  2. A bullet is missing :
    image

  3. Incomplete sentence :
    image

failed with errors when yarn install

🧾 Expected Behaviour
succeed when yarn install

🔨 Current Behaviour

  1. For this repo
  2. run the init setup
yarn set version berry
yarn config set nodeLinker "node_modules"
yarn install --check-cache
sh cli-dev.sh ci

and then error for yarn install or sh cli-dev.sh ci

Running yarn install (without modifying yarn.lock)
➤ YN0000: ┌ Resolution step
➤ YN0002: │ @commitlint/load@npm:16.0.0 doesn't provide @types/node (p438b0), requested by cosmiconfig-typescript-loader
➤ YN0002: │ @vue/babel-plugin-jsx@npm:1.1.1 doesn't provide @babel/core (pe771d), requested by @babel/plugin-syntax-jsx
➤ YN0002: │ @vuepress/core@npm:1.9.7 doesn't provide @vue/compiler-sfc (pc4d61), requested by vue-loader
➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code
➤ YN0000: └ Completed in 0s 305ms
➤ YN0000: ┌ Fetch step
➤ YN0013: │ yargs@npm:16.2.0 can't be found in the cache and will be fetched from the remote registry
➤ YN0013: │ yargs@npm:17.3.1 can't be found in the cache and will be fetched from the remote registry
➤ YN0013: │ yn@npm:3.1.1 can't be found in the cache and will be fetched from the remote registry
➤ YN0013: │ yocto-queue@npm:0.1.0 can't be found in the cache and will be fetched from the remote registry
➤ YN0013: │ zepto@npm:1.2.0 can't be found in the cache and will be fetched from the remote registry
➤ YN0000: └ Completed in 3m 7s
➤ YN0000: ┌ Link step
➤ YN0012: │ @commitlint/cli@npm:16.0.2 isn't supported by any available linker
➤ YN0000: └ Completed in 33s 362ms
➤ YN0000: Failed with errors in 3m 41s
yarn explain peer-requirements p438b0
➤ YN0000: @commitlint/load@npm:16.0.0 doesn't provide @types/node, breaking the following requirements:

➤ YN0000: cosmiconfig-typescript-loader@npm:1.0.3 [50d51] → * ✘
➤ YN0000: ts-node@npm:10.4.0 [16808]                      → * ✘

➤ YN0000: Note: these requirements start with cosmiconfig-typescript-loader@npm:1.0.3 [50d51]

yarn explain peer-requirements pe771d
➤ YN0000: @vue/babel-plugin-jsx@npm:1.1.1 doesn't provide @babel/core, breaking the following requirements:

➤ YN0000: @babel/plugin-syntax-jsx@npm:7.16.7 [bdeee] → ^7.0.0-0 ✘

yarn explain peer-requirements pc4d61
➤ YN0000: @vuepress/core@npm:1.9.7 doesn't provide @vue/compiler-sfc, breaking the following requirements:

➤ YN0000: vue-loader@npm:15.9.8 [9baa7] → ^3.0.8 ✘

🔩 Your Environment

  • Version used: node -v v14.17.6 yarn 3.2.0
  • Browser Name and version: chrome 100.0.4896.75 (Official Build) (arm64)
  • Operating System and version (desktop or mobile): mac pro Darwin BobJiang 20.5.0 Darwin Kernel Version 20.5.0

Link to your issue / project:

✅ Acceptance criteria

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Awaiting Schedule

These updates are awaiting their schedule. Click on a checkbox to get an update now.

  • chore(deps): update actions/checkout digest to a5ac7e5

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/checks.yml
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • actions/setup-node v4@60edb5dd545a775178f52524783378180af0d1f8
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • actions/setup-node v4@60edb5dd545a775178f52524783378180af0d1f8
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • actions/setup-node v4@60edb5dd545a775178f52524783378180af0d1f8
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • actions/setup-node v4@60edb5dd545a775178f52524783378180af0d1f8
.github/workflows/deploy-preview.yml
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • c-hive/gha-yarn-cache v2@d528cd63c28aed0a9f44b1cada95050d7aa95c2e
  • actions/setup-node v4@60edb5dd545a775178f52524783378180af0d1f8
  • matter-labs/action-hosting-deploy main
.github/workflows/deploy-prod.yml
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • c-hive/gha-yarn-cache v2@d528cd63c28aed0a9f44b1cada95050d7aa95c2e
  • actions/setup-node v4@60edb5dd545a775178f52524783378180af0d1f8
  • matter-labs/action-hosting-deploy main
  • nathanvaughn/actions-cloudflare-purge v3.1.0@db8c58f61ba4c3ec77229c8fa14ddebb3b59932f
.github/workflows/deploy-staging.yml
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • c-hive/gha-yarn-cache v2@d528cd63c28aed0a9f44b1cada95050d7aa95c2e
  • actions/setup-node v4@60edb5dd545a775178f52524783378180af0d1f8
  • matter-labs/action-hosting-deploy main
.github/workflows/release.yml
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • c-hive/gha-yarn-cache v2@d528cd63c28aed0a9f44b1cada95050d7aa95c2e
  • actions/setup-node v4@60edb5dd545a775178f52524783378180af0d1f8
.github/workflows/secrets_scanner.yaml
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • trufflesecurity/trufflehog e76dfb98ab9001daa869191b6aebe8cf4cd3b22a

  • Check this box to trigger a request for Renovate to run again on this repository

Add a section for timestamp

zksync timestamp got updated during new batch, a section is needed for describing this to resolve the following issue:

  • how developers should handle the timestamp?
  • do we have any timestamp contract to use?

[Gitcoin Bounty] - zkSync v2 Account Abstraction tutorial: Daily Spending Limit

zkSync v2 Account Abstraction tutorial: Daily Spending Limit

Prize Bounty

  • 600 USDC (via Ethereum or zkSync)

Challenge Description

Create a tutorial that shows developers how to use account abstraction to create an account with a daily spending limit.

We are looking for outstanding developers and educators to help showcase the benefits of account abstraction. For this bounty, participants will create a tutorial that shows developers how to use account abstraction to build an account with a daily spending limit.

The tutorial will be a combination of code and explanatory text that walks developers through building the application step-by-step. Before starting, please have a look through our existing tutorials to get a feel for the writing style.

Requirements

Technical Requirements

  • Account has a daily spending limit in ETH
  • Account will reject transactions if daily spending limit has been exceeded
  • Project should contain smart contracts for the account abstraction and scripts to deploy the contracts and simulate spending on different days.
  • Limit can be changed by external admin account
  • Project must be deployed to zkSync 2.0 testnet
  • Project must contain basic testing (info on how to run local tests is available in this section of the zkSync docs).

Writing Requirements

  • Code must be clearly commented
  • Submission must follow tutorial format: code + explanatory text (see resources for examples)
  • The submission is original and not cross-posted from somewhere else

Submission Requirements

  • Must be submitted in markdown format
  • Must include Github repository with code of the full project

Judging Criteria

Submissions that fulfill the Requirements above that have the same quality or higher of our current tutorials (see Resources below). We ask that before getting started that you submit a brief overview of how you will approach the project so that we can be as efficient as possible with everyone's time.

Winner Announcement Date

Upon successful submission of a tutorial that covers all the Requirements of the bounty.

Resources

Typo in python examples (TxFunctionCall import)

Overview

At multiple points in the python sdk docs, the TxFunctionCall object is imported from zksync2.transaction.transaction712 but it does not exist at this location.

Solution

All instances of:

from zksync2.transaction.transaction712 import TxFunctionCall

should be replaced with:

from zksync2.transaction.transaction_builders import TxFunctionCall

Enhance the i18n Ability

In order to help more developer get to know zksync, involves in the eco-system and contribute. Will be beneficial to developers and zksync both to make zksync docs have multiple lang options.

🧾 Expected Behaviour

Have i18n configured in the project, with a contributions guides.
Define the content structure for i18n.

I'm glad to contribute it.

Outdated EIP-1559 references

Description

The troubleshooting docs currently states EIP-1559 transactions are not yet supported, when this article announced support for it in August 2022, and also indicated here.

Unfortunately, I think it's the first result that pops up when googling about this. I can send a PR but I want to confirm first if the expected approach would be pointing out that it is an old known issue, and now EIP1559 transactions are supported, or just remove it directly.

NFT minting issue because chain id is not available

Screenshot_2022-10-27-23-38-00-122_com yandex browser

when i want to do mint NFT the error appears on the metamask extension data.

reason: Transaction decoding is not available for chainId 280

please provide an explanation regarding this issue.

  • Version used:
  • Browser Name and version: Kiwi Browser v 105.0.5195.33 latest version (play store)
  • Operating System and version (desktop or mobile): Xiaomi redmi note 10 pro (android 12)

Link to your issue / project:

zkApe | 9999 unique and rare APEs.

hi

good project

Add a section for gasLimit

zksync sometimes use a lot of gas, I'm not sure if it's caused by sending transaction to L1. 12_000_000 gas limit wont be enough on zksync goerli and mainnet

Add a section for WETH

zksync currently doesn't have WETH and the WTEH9 contract on ethereum cannot be used directly because it uses transfer instead of call inside withdraw

we should describe this issue so that the public knows it and can avoid potential funds loss

python SDK eth_estimate_gas too little gas can cause transactions to fail

How to reproduce

use zkSync_web3.zksync.eth_estimate_gas(tx) to estimate gas.
result: transactions will fail.

log

tx status: AttributeDict({'blockHash': HexBytes('0x47c258f4d17c096efd397fde3bbd49121765a00f548e0f1f273bb6eee086a1e1'), 'blockNumber': 3884831, 'contractAddress': None, 'cumulativeGasUsed': 0, 'effectiveGasPrice': 100000000, 'from': '0x2C315eDC63CeB0CE6CB53FBc398EEab5fa4B57B0', 'gasUsed': 2577645, 'l1BatchNumber': None, 'l1BatchTxIndex': None, 'l2ToL1Logs': [], 'logs': [AttributeDict({'address': '0x000000000000000000000000000000000000800A', 'blockHash': HexBytes('0x47c258f4d17c096efd397fde3bbd49121765a00f548e0f1f273bb6eee086a1e1'), 'blockNumber': 3884831, 'data': '0x0000000000000000000000000000000000000000000000000000ea54e8917800', 'l1BatchNumber': None, 'logIndex': 0, 'logType': None, 'removed': False, 'topics': [HexBytes('0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef'), HexBytes('0x0000000000000000000000002c315edc63ceb0ce6cb53fbc398eeab5fa4b57b0'), HexBytes('0x0000000000000000000000000000000000000000000000000000000000008001')], 'transactionHash': HexBytes('0xe59614b25547b2ec1d98815489397a7bf30d3ef0708bb6d38419af253eee68cb'), 'transactionIndex': 0, 'transactionLogIndex': '0x0'})], 'logsBloom': HexBytes('0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'), 'root': '0x47c258f4d17c096efd397fde3bbd49121765a00f548e0f1f273bb6eee086a1e1', 'status': 0, 'to': '0x2C315eDC63CeB0CE6CB53FBc398EEab5fa4B57B0', 'transactionHash': HexBytes('0xe59614b25547b2ec1d98815489397a7bf30d3ef0708bb6d38419af253eee68cb'), 'transactionIndex': 0, 'type': '0x71'})

solution

use estimate_gas = int(zkSync_web3.zksync.eth_estimate_gas(tx) * 1.3) the transfer is OK

tx status: AttributeDict({'blockHash': HexBytes('0x3dde9233f931390896fa6a34d322dfd9c1f1fb5bb1c3390d291cf41560eece7c'), 'blockNumber': 3884126, 'contractAddress': None, 'cumulativeGasUsed': 0, 'effectiveGasPrice': 100000000, 'from': '0x2C315eDC63CeB0CE6CB53FBc398EEab5fa4B57B0', 'gasUsed': 3116635, 'l1BatchNumber': None, 'l1BatchTxIndex': None, 'l2ToL1Logs': [], 'logs': [AttributeDict({'address': '0x000000000000000000000000000000000000800A', 'blockHash': HexBytes('0x3dde9233f931390896fa6a34d322dfd9c1f1fb5bb1c3390d291cf41560eece7c'), 'blockNumber': 3884126, 'data': '0x000000000000000000000000000000000000000000000000000130a1938bef00', 'l1BatchNumber': None, 'logIndex': 0, 'logType': None, 'removed': False, 'topics': [HexBytes('0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef'), HexBytes('0x0000000000000000000000002c315edc63ceb0ce6cb53fbc398eeab5fa4b57b0'), HexBytes('0x0000000000000000000000000000000000000000000000000000000000008001')], 'transactionHash': HexBytes('0xb82c1a6a5960ed0f8232a89e5b61238bdda7a3fcb5f4d7f82434326817441281'), 'transactionIndex': 0, 'transactionLogIndex': '0x0'}), AttributeDict({'address': '0x000000000000000000000000000000000000800A', 'blockHash': HexBytes('0x3dde9233f931390896fa6a34d322dfd9c1f1fb5bb1c3390d291cf41560eece7c'), 'blockNumber': 3884126, 'data': '0x00000000000000000000000000000000000000000000000000038d7ea4c68000', 'l1BatchNumber': None, 'logIndex': 1, 'logType': None, 'removed': False, 'topics': [HexBytes('0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef'), HexBytes('0x0000000000000000000000002c315edc63ceb0ce6cb53fbc398eeab5fa4b57b0'), HexBytes('0x0000000000000000000000002c315edc63ceb0ce6cb53fbc398eeab5fa4b57b0')], 'transactionHash': HexBytes('0xb82c1a6a5960ed0f8232a89e5b61238bdda7a3fcb5f4d7f82434326817441281'), 'transactionIndex': 0, 'transactionLogIndex': '0x1'})], 'logsBloom': HexBytes('0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'), 'root': '0x3dde9233f931390896fa6a34d322dfd9c1f1fb5bb1c3390d291cf41560eece7c', 'status': 1, 'to': '0x2C315eDC63CeB0CE6CB53FBc398EEab5fa4B57B0', 'transactionHash': HexBytes('0xb82c1a6a5960ed0f8232a89e5b61238bdda7a3fcb5f4d7f82434326817441281'), 'transactionIndex': 0, 'type': '0x71'})

conclusion

python SDK eth_estimate_gas is not correct.

How to transfer ETH?

When I am trying to use address payable.transfer(value) , it would fail.

But when I am trying to use address payable call{value: amount} , it could success but didn't send any ETH.

no matches found: ethers@^5.7.2

yarn 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

➜ yarn init -y && yarn add -D typescript ts-node ethers@^5.7.2 zksync-web3 hardhat @matterlabs/hardhat-zksync-solc @matterlabs/hardhat-zksync-deploy

yarn init v1.22.19
warning The yes flag has been set. This will automatically answer yes to all questions, which may have security implications.
success Saved package.json
✨  Done in 0.04s.
zsh: no matches found: ethers@^5.7.2

works with [email protected]. yarn 3.5.0 same error

--

I also had to add these 2 libraries manually:

    "@ethersproject/hash": "^5.7.0",
    "@ethersproject/web": "^5.7.1"

error was Error: zksync-web3 tried to access @ethersproject/web, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.

Suggestion for improvement in the faq.md file

Hi, I was wondering if RSA is a cryptographic precompile, as I can not find this one in other resources.

faq.md

There are a few other distinctions, for example, gas metering will be different (as is the case for other L2s as well). Some EVM’s cryptographic precompiles (notably pairings and RSA) won’t be available in the very first release but will be implemented soon after the launch, with pairing being a priority to allow both Hyperchains and protocols like Aztec/Dark Forest to be deployed without modifications too.

Thank you for your attention to this matter, and I look forward to hearing back from you.

ISSUE: unknown variant `metadata`, expected one of `abi`, `evm.methodIdentifiers`, `storageLayout`, `ast`, `irOptimized`, `evm.legacyAssembly`

Hi,

I'm going through the Hello World example provided with the following environment:

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.2 LTS
Release:        22.04
Codename:       jammy

npm -v
9.6.4

yarn --version
3.5.0

npm ls
hello_world@/home/viper7882/hello_world
├── @matterlabs/[email protected]
├── @matterlabs/[email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]

After running yarn hardhat compile, the following error is observed:

yarn hardhat compile
Compiling 1 Solidity file
An unexpected error occurred:

Error: Command failed: /home/viper7882/.cache/hardhat-nodejs/compilers-v2/zksolc/zksolc-v1.3.5 --standard-json    --solc /home/viper7882/.cache/hardhat-nodejs/compilers-v2/linux-amd64/solc-linux-amd64-v0.8.17+commit.8df45f5f
unknown variant `metadata`, expected one of `abi`, `evm.methodIdentifiers`, `storageLayout`, `ast`, `irOptimized`, `evm.legacyAssembly` at line 1 column 593

    at ChildProcess.exithandler (node:child_process:419:12)
    at ChildProcess.emit (node:events:513:28)
    at ChildProcess.emit (node:domain:489:12)
    at maybeClose (node:internal/child_process:1091:16)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:302:5) {
  code: 1,
  killed: false,
  signal: null,
  cmd: '/home/viper7882/.cache/hardhat-nodejs/compilers-v2/zksolc/zksolc-v1.3.5 --standard-json    --solc /home/viper7882/.cache/hardhat-nodejs/compilers-v2/linux-amd64/solc-linux-amd64-v0.8.17+commit.8df45f5f'
}

I've tried both Ubuntu WSL2 and Windows 10 Powershell, both seems to encounter the same issue. Any idea what have I done incorrectly?

Delay transfer

I've been waiting for my transfer for more than 2 days and nothing

Not so clear on where do you store the bytecode

Reading https://era.zksync.io/docs/dev/building-on-zksync/contracts/contract-deployment.html#note-on-factory-deps, the doc says the preimages of bytecode hashes are revealed on L1, and then it says that zksync doesn't store bytecode but only bytecode hash. So the question is:

where is the bytecode stored exactly?

  1. do you fetch them from L1? (which requires running L1 node together with L2 node, then the doc needs to be improved)
  2. do you still store them on L2? then the doc needs to be modified

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.