This repository is designed to help you enhance your skills in smart contract development and security. It consists of two main sections: Hacking Challenges and Gas Optimization Challenges.
The hacks folder is dedicated to smart contract hacking challenges. These exercises provide an opportunity to enhance your skills in identifying vulnerabilities and exploiting them. Each challenge focuses on a specific hacking technique, enabling you to gain practical experience in smart contract security.
For more details on the hacking challenges, please refer to the README located in the hacks folder.
The gas-optis folder contains a series of gas optimization challenges. These exercises are designed to test your skills in optimizing gas usage in Solidity contracts. Each challenge focuses on a specific optimization technique, allowing you to demonstrate your knowledge and expertise.
For more details on the gas optimization challenges, please refer to the README located in the gas-optis folder.
We understand that solving these challenges can be an exciting and rewarding experience. However, we kindly request that you refrain from publicly publishing the solutions, including in issues, pull requests, or any other public forums. Sharing the solutions openly can undermine the learning experience for others who are also working on the challenges.
If you would like to request a solution or discuss your approach, please reach out to the repository maintainer directly. They will be more than happy to assist you and provide guidance. Direct communication ensures that the solutions are shared appropriately and in a controlled manner, preserving the integrity of the challenges for future participants.
If you have any improvements, bug fixes, or new challenges to suggest, please follow these steps:
- Fork the repository to your GitHub account.
- Make the desired changes or additions in your forked repository, ensuring that you do not include the solution in the code.
- Submit a pull request with a clear description of the changes you have made. However, please refrain from publishing the solution in any issue, pull request, comment, or discussion. If we need the solution or wish to discuss it, we will ask you directly. If you believe the solution is particularly tricky or complex, you can reach out to us in advance to discuss it.
We appreciate your contributions and value your input in making this repository even better.