Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dutterbutter/zksync-quickstart
https://github.com/dutterbutter/zksync-quickstart
Last synced: 3 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/dutterbutter/zksync-quickstart
- Owner: dutterbutter
- License: mit
- Created: 2024-04-02T15:40:56.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-04-02T15:48:22.000Z (8 months ago)
- Last Synced: 2024-04-14T10:32:06.499Z (7 months ago)
- Language: TypeScript
- Size: 75.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# zkSync Hardhat project template
This project was scaffolded with [zksync-cli](https://github.com/matter-labs/zksync-cli).
## Project Layout
- `/contracts`: Contains solidity smart contracts.
- `/deploy`: Scripts for contract deployment and interaction.
- `/test`: Test files.
- `hardhat.config.ts`: Configuration settings.## How to Use
- `npm run compile`: Compiles contracts.
- `npm run deploy`: Deploys using script `/deploy/deploy.ts`.
- `npm run interact`: Interacts with the deployed contract using `/deploy/interact.ts`.
- `npm run test`: Tests the contracts.Note: Both `npm run deploy` and `npm run interact` are set in the `package.json`. You can also run your files directly, for example: `npx hardhat deploy-zksync --script deploy.ts`
### Environment Settings
To keep private keys safe, this project pulls in environment variables from `.env` files. Primarily, it fetches the wallet's private key.
Rename `.env.example` to `.env` and fill in your private key:
```
WALLET_PRIVATE_KEY=your_private_key_here...
```### Network Support
`hardhat.config.ts` comes with a list of networks to deploy and test contracts. Add more by adjusting the `networks` section in the `hardhat.config.ts`. To make a network the default, set the `defaultNetwork` to its name. You can also override the default using the `--network` option, like: `hardhat test --network dockerizedNode`.
### Local Tests
Running `npm run test` by default runs the [zkSync In-memory Node](https://era.zksync.io/docs/tools/testing/era-test-node.html) provided by the [@matterlabs/hardhat-zksync-node](https://era.zksync.io/docs/tools/hardhat/hardhat-zksync-node.html) tool.
Important: zkSync In-memory Node currently supports only the L2 node. If contracts also need L1, use another testing environment like Dockerized Node. Refer to [test documentation](https://era.zksync.io/docs/tools/testing/) for details.
## Useful Links
- [Docs](https://era.zksync.io/docs/dev/)
- [Official Site](https://zksync.io/)
- [GitHub](https://github.com/matter-labs)
- [Twitter](https://twitter.com/zksync)
- [Discord](https://join.zksync.dev/)## License
This project is under the [MIT](./LICENSE) license.