hardhat-zksync-vyper
Guide on using the hardhat-zksync-vyper plugin.
Last updated
Guide on using the hardhat-zksync-vyper plugin.
Last updated
The plugin provides an interface for compiling Vyper smart contracts before deploying them to ZKsync Era.
Learn more about the latest updates in the .
To use the hardhat-zksync-vyper
in your project, we recommend that:
You have Node installed and yarn
or npm
package manager.
Add the latest version of this plugin to your project with the following command:
hardhat-zksync-vyper
v0.2.0 introduced a default configuration so all parameters are optional.
Any configuration parameters should be added inside a zkvyper
property in the hardhat.config.ts
file:
Compilers are no longer released as Docker images and its usage is no longer recommended.
compilerSource
: Indicates the compiler source and can be either binary
. (A docker
option is no longer recommended). If there is no previous installation, the plugin automatically downloads one.
optimizer
- Compiler optimizations:
mode
: 3
(default) recommended for most projects. Mode z
reduces bytecode size for large projects that make heavy use of keccak
and far calls.
fallback_to_optimizing_for_size
(optional) indicates that the compiler will try to recompile with optimizer mode "z" if the bytecode is too large.
compilerPath
: Optional field with the path to the zkvyper
binary. By default, the binary in $PATH
is used.
fallback_to_optimizing_for_size
option is supported for zkvyper compiler version 1.3.15 or higher.
Compiles all the smart contracts in the contracts
directory and creates the artifacts-zk
folder with all the compilation artifacts, including factory dependencies for the contracts, which could be used for contract deployment.
version
: The zkvyper
compiler version. Default value is latest
. Find the latest compiler versions in the .
libraries
: Define any non-inlinable libraries your contracts use as dependencies here. Learn more about .