# Polkadot Championship 2024 - Challenges & Dev Qualification & Judging

The [Polkadot Championship](https://polkadotchampionship.org/) is an open web3/cryptocurrency contest consisting of a qualification phase and a main event.

# Developer Qualification

To be able to register and qualify, you must solve at least 2 challenges from the 4 provided in this repository. Please, see the Prequalification_Challenges folder for details.

### The process

Each challenge has its own subfolder in the "Prequalification_Challenges" folder, wherein it is described.

The format of a solution is an ASCII string of the form __PC{...}__, like PC{#\This_Could_be_Flagz/#}. A correct solution is also called a flag. What you are looking for in each challenge is to generate the string between PC{......}.

[Register and submit your prequalification solutions in this web form](https://www.cognitoforms.com/unconditionalpeace/polkadotchampionship2024prequalification) to ask for an invitation.

(If you've played Capture The Flag (CTF) games before, this process should be familiar to you.)

### Offline flag verification

You can verify the correctness of your solutions before submitting the form. The hash value of each pre-qualification challenge can be found in its respective folder.

To calculate the Keccak-256 hash of a string, you can, for example, install `keccak256-cli` using `cargo`, and then use the `keccak256` command like so:
```
echo 'PC{This_Could_be_a_Flag.!}'|keccak256
0x6bf974d9d12f97a607e57cbd843770ec06a564dbb557645dbb8e9d8f48ef2cec
```

## List of prequalification challenges

Easy - Entry Solidity
Medium - Hidden in Rust
Medium - Entropy
Hard - Business Dev

# Main event

The main event consists of a 2-day hackathon where projects can be finalized. You can start before the main event and form teams too!

Your final project needs to be conceived during the main event. Mentors and workshops will help you make it happen.

[Link to Track Challenges](https://git.hsbp.org/Web3_Championship/Polkadot_Championship_Challenges/src/branch/master/Main_Challenges.md)

Playing teams will need to choose one challenge as their main one. Additionally, they need to choose one from the other tracks and create a proposal for solving them. You can already see good examples from last year's hackathon.

Overall, two things need to be delivered by the teams on morning of the 3rd day: the main challenge solution, a proposal document for the second challenge.

The teams need to initialize a git project latest on the 2nd day of the hackathon, on https://git.hsbp.org/ or https://github.com/ (which is shamefully owned by Microsoft) and commit all their development there. Commits after the end of the 24 hours DEADLINE MODE ON won't be accepted.

### Judging criteria

You need to present your project after the end of the 24 hour DEADLINE MODE ON period. We'll need your project name, team members, which ecosystem team you submit for and the pdf persentation. You'll have 10 minutes to explain your project and 5 minutes for Q&A.

Judges will score each team's project based on the following criteria:

- Idea, ecosystem fit
    - Is it a realistic project and would it be useful for the ecosystem?
- Logic flow and topology
    - Is the logic flow of the program well thought out?
    - If this is a proof of concept, did the team think about making the flow better?
    - Note: drawing a high-level logic topology is not a must, but good to have
- Presented demo and code
    - Did the demo work?
    - How well-written is the code?
    - Note: the code does not need to be long, but working and should be written during the hackathon.
    - Libs/StackOverflow/etc parts are fine, but there needs to be original code.
- Viability and sustainability
    - If the presented project would get funding, would it be sustainable in the long run?
    - Would anyone keep this project running, would it be interesting enough for the community/users?
- Practicality
    - When it comes to using the project, would it be practical or burdensome?
    - Note: the proof of concept doesn't need to be like that, but knowing that future improvements would make the project practical is important.
- Security Model
    - How is the project protected against threats and abuse?
- Second challenge proposal
    - Did the team present a realistic idea for the other track?
    - Note: don't spend more than an hour as a team on this, but make sure to do it. 5/5 is the maximum score for this proposal.

Each criterion has a maximum score of 10 and the judges will decide individually how many scores they vote for the teams. The maximum score a team can get for their main project is 70. After the scores are finalized, they will be presented in the Hall of Fame smart contract.
We don't help with solving the challenges, but if something is unclear or you think you've found a bug, we are always open to hear from you.

## Contact

You can contact us anytime though our email address contact@cryptoctf.org or you can talk to __six__ through Matrix (@hexff:matrix.org).

You can find all our communication channels, media content and PR postings through [our linkfree](https://link.polkadotchampionship.org/).
