Developer Tooling
Description
For first timers:
If this is your first time at a hackathon or with your teammates, this blog post on organizing a hackathon team may be beneficial (https://tesla809.medium.com/draft-crash-course-how-to-organize-a-hackathon-team-29b221c23905). In our experience, a clear method of collaboration increases the chances of teams completing their projects, improves team efficiency, and reduces the time to completion.
TD;LR: Innovations in developer tooling to turbo charge productivity.
🪄 The Magic: The more we can automate and simplify, the less we can think about how to do something and more about what to do.
🤫 The Secret: DevTools are the unsung heroes of ecosystems.
🔍 The Deets: Your work can quickly be leveraged by many and save not just time for yourself, but for your peers.
Developer Tooling Improvements to Consider:
Creating plugins for existing tools and frameworks not supported yet, like Foundry, Truffle, or Remix. In the README.md, describe how the zkSync-related plugin was created so others can follow along, contribute to, or extend the work.
Add new features to zksync-cli, along with a tutorial explaining how to add new features. In the README.md, describe how the new feature was added so that others can add new features to the zksync-cli in the future.
Create new tools that improve the developer experience (e.g., an Account Abstraction smart contract wizard like the OpenZeppelin one). This is open ended: build anything your team finds useful and can think of. In the README.md, describe how the tool was built, so others can follow along, contribute, or extend the work.
Acceptance criteria
First, the Developer Tool must be practical.
Documentation should include**:**
A clear README.md with the following:
A short description of team members with their backgrounds
A clear guide for how to use the tool
A clear Open Source License: MIT, GNU, Unlicensed or any standard open source license your team want
Have a Project Description section: with a longer written description of what the project does
How its made section: Describe how you made the project, mention any issues you ran into
Create an easy to understand tutorial of how to build a development tool, following your example of the work
A simple UML to describe the connection between the provided solution
A clear 2-4 minute video demo walking through the tool
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
Must be submitted in markdown format
Must include Github repository with code of the full project
Bonus points for:
Great UX/UI
a slide presentation in README.md
JSDocs comments for JavaScript or TypeScript code
A catchy name and logo
a clear Design Statement using the format: How might we improve (a problem in the domain)_____ for (user), so that (user-focused outcome)___?
For an example: https://tesla809.medium.com/draft-crash-course-how-to-organize-a-hackathon-team-29b221c23905
Rewards
- 1: 2500 USD
- 2: 1000 USD
Resources
- https://matterlabs.notion.site/Write-for-us-d4d32d435f0a4137a1d2b7141ad1f609
- https://matterlabs.notion.site/Write-for-us-d4d32d435f0a4137a1d2b7141ad1f609
- https://v2-docs.zksync.io/api/tools/zksync-cli/#zksync-cli
- https://v2-docs.zksync.io/api/tools/zksync-cli/#zksync-cli
- https://v2-docs.zksync.io/api/js/getting-started.html#connecting-to-zksync
- https://v2-docs.zksync.io/api/js/getting-started.html#connecting-to-zksync
- https://docs.zksync.io/userdocs/intro/#introduction
- https://docs.zksync.io/userdocs/intro/#introduction
- https://www.argent.xyz/blog/wtf-is-account-abstraction/
- https://www.argent.xyz/blog/wtf-is-account-abstraction/
- https://archive.devcon.org/archive/watch/6/why-account-abstraction-is-a-game-changer-for-dapps/?tab=YouTube
- https://archive.devcon.org/archive/watch/6/why-account-abstraction-is-a-game-changer-for-dapps/?tab=YouTube
- https://v2-docs.zksync.io/dev/fundamentals/faq.html#what-is-account-abstraction
- https://v2-docs.zksync.io/dev/fundamentals/faq.html#what-is-account-abstraction
- https://v2-docs.zksync.io/dev/tutorials/custom-paymaster-tutorial.html#using-the-paymaster
- https://v2-docs.zksync.io/dev/tutorials/custom-paymaster-tutorial.html#using-the-paymaster
- https://v2-docs.zksync.io/dev/tutorials/custom-aa-tutorial.html#account-abstraction-2
- https://v2-docs.zksync.io/dev/tutorials/custom-aa-tutorial.html#account-abstraction-2
- https://raisefinance.medium.com/the-power-of-account-abstraction-technical-overview-of-the-raisepay-wallet-8e8c43dee64f
- https://raisefinance.medium.com/the-power-of-account-abstraction-technical-overview-of-the-raisepay-wallet-8e8c43dee64f
- https://twitter.com/SalomonCrypto/status/1612587312638234626
- https://twitter.com/SalomonCrypto/status/1612587312638234626
- https://v2-docs.zksync.io/dev/tutorials/
- https://v2-docs.zksync.io/dev/tutorials/