README.md
September 12, 2024 ยท View on GitHub
Welcome, Solidity Developers & Researchers! ๐
Welcome to the Solidity Challenges Repository, a platform for Solidity developers and security researchers. This repository offers a wide range of challenges, from language-specific tasks to exploit-focused scenarios.
๐ฆถ Choose Your Path
- Exploits: Identify vulnerabilities and exploit the contracts.
- Solidity: Test your knowledge with language-specific challenges.
๐ Feature Challenges
| Type | Challenge | Author | Discussion |
|---|---|---|---|
| Exploit | Airdrop | PutraLaksmana | View |
| Solidity | Correct writeMyData | vicsnet | View |
๐จ Exploit Challenges
๐จ Solidity Challenges
๐ Installation
- Clone the repository.
- Install Foundry.
- Run
forge buildto set up the project.
๐ค Usage
Each challenge includes:
- A README file in
src/<challenge-type>/<challenge-name>/README.md. - Contracts in
src/<challenge-type>/<challenge-name>/. - A Foundry test in
test/<challenge-type>/<challenge-name>/<ChallengeName>.t.sol.
To solve a challenge:
- Review the README file.
- Uncover issues in the provided contracts.
- Provide your solution in the test file.
- Test your solution with
forge test --mp test/<challenge-type>/<challenge-name>/<ChallengeName>.t.sol.
Rules
- Follow the rules and constraints outlined in the challenge's README and test file.
๐ Contributor Guidelines
-
Add an Exploit Challenge:
- Create a new folder under
src/exploits/andtest/exploits/named<challenge-name>. - Add your challenge's smart contracts in
src/exploits/<challenge-name>/. - Create a
README.mdfile insrc/exploits/<challenge-name>/detailing the challenge and constraints. - Write a corresponding Foundry test in
test/exploits/<challenge-name>/.
- Create a new folder under
-
Add a Solidity Challenge:
- Create a new folder under
src/solidity/andtest/solidity/named<challenge-name>. - Add your challenge's smart contracts in
src/solidity/<challenge-name>/. - Create a
README.mdfile insrc/solidity/<challenge-name>/detailing the challenge and constraints. - Write a corresponding Foundry test in
test/solidity/<challenge-name>/.
- Create a new folder under
-
Submit a Solution:
- Drop your solutions in the discussion section of the challenge.
-
Improve Existing Challenges:
- Fork the repository and create a new branch.
- Make improvements or fixes to the existing challenges.
- Submit a pull request with details about the changes.
-
Review and Discuss:
- Participate in discussions and provide feedback on pull requests.
- Engage with the community to help refine challenges and solutions.
๐งฐ Troubleshooting
For help, visit the Discussions section.
๐จ Disclaimer
This repository contains intentionally vulnerable code for educational purposes. DO NOT USE IN PRODUCTION.