Skip to content

A full-stack starter template with React & zk sync Hardhat to develop, deploy, and test Solidity smart contracts on the zk sync era network

License

Notifications You must be signed in to change notification settings

sambitsargam/create-zksync-app

Repository files navigation

create-zksync-app

Platform License Release Downloads

A full-stack starter template with React & Hardhat to develop, deploy, and test Solidity smart contracts on the zk sync era network. The starter kit also includes pre-installed zk sync hardhat full code, tailwindcss, web3.js, etc. packages.

📺 Quickstart

🛠️ Installation guide

demo video

Install the Package globally

Install this for first time by running the following command in your terminal:

npm install -g create-zksync-app

⌛️ create-zksync-app command

Open up your terminal (or command prompt) and type the following command:

npx create-zksync-app <your-dapp-name>

# cd into the directory
cd <your-dapp-name>

🔑 Private key

Ensure you create a .env file in the root directory. Then paste your Metamask private key in .env with the variable name PRIVATE_KEY as follows:

PRIVATE_KEY=1234

⚙️ Compile

Now, you can write your contracts in ./contracts/ directory, replace Greeter.sol with <your-contracts>.sol file. To write tests, go to ./test directory and create <your-contracts>.test.js.

npx hardhat compile

# for testing the smart contracts
npx hardhat test

After successful compilation, the artifacts directory will be created in ./src/artifacts with a JSON /contracts/<your-contracts>.sol/<your-contracts>.json containing ABI and Bytecode of your compiled smart contracts.

Please make the changes while Importing the JSON in ./src/app.js.

⛓️ Deploy

Before deploying the smart contracts, please make sure you have a zksync testnet in your Metamask wallet with sufficient funds, follow this quickstart guide if you do not have one.

Also, make changes in ./scripts/deploy.js (replace the greeter contract name with <your-contract-name>).

For deploying the smart contracts to zksync network, type the following command:

npx hardhat deploy-zksync --script  deploy.ts

⏭️ to Verify the contract

npx hardhat verify <your-contract-address>

Copy-paste the deployed contract address here

<your-contract> deployed to: 0x...

💻 React client

start react app

npm start
# Starting the development server...

⚖️ License

create-zksync-app is licensed under the MIT License.


Don't forget to leave a star ⭐️ ~ twitter

About

A full-stack starter template with React & zk sync Hardhat to develop, deploy, and test Solidity smart contracts on the zk sync era network

Resources

License

Stars

Watchers

Forks

Packages

No packages published