Skip to content

Commit

Permalink
chore: update README
Browse files Browse the repository at this point in the history
Signed-off-by: Anmol Sharma <[email protected]>
  • Loading branch information
theanmolsharma committed Mar 20, 2024
1 parent b61a611 commit dd8019c
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,19 @@ The difficulty target is `0000ffff0000000000000000000000000000000000000000000000
## Evaluation Criteria
Your submission will be evaluated based on the following criteria:

- **Score**: Your code output will be scored bases on the fee collected and the amount of available block space utilised. **You must score at least 60 points to pass the challenge.**
- **Correctness**: The `output.txt` file must be correctly formatted in the manner described above.
- **Code Quality**: Your code should be well-organized, commented, and follow best practices.
- **Efficiency**: Your solution should process transactions and mine the block efficiently.

## Document your work

Apart from the code, you must also publish a `SOLUTION.md` file explaining your solution in the following format:
- **Design Approach:** Describe the approach you took to design your block construction program, explain all the key concepts of creating a valid block.
- **Implementation Details:** Provide pseudo code of your implementation, including sequence of logic, algorithms and variables used etc.
- **Results and Performance:** Present the results of your solution, and analyze the efficiency of your solution.
- **Conclusion:** Discuss any insights gained from solving the problem, and outline potential areas for future improvement or research. Include a list of references or resources consulted during the problem-solving process.

## What NOT to Do

In this challenge, it's crucial to understand and adhere to the following restrictions. These are put in place to ensure that you engage with the core concepts of bitcoin and apply your problem-solving skills to implement the solution from first principles.
Expand All @@ -41,6 +50,9 @@ In this challenge, it's crucial to understand and adhere to the following restri
- **Permissible Libraries:** The use of standard cryptographic libraries, such as secp256k1 for elliptic curve cryptography, and standard hashing libraries (e.g., for SHA-256) is allowed and encouraged. These libraries are essential for implementing the cryptographic underpinnings of bitcoin without reinventing the wheel.
- **Implement the Mining Algorithm Yourself:** You are required to implement the mining algorithm on your own. This includes creating a way to correctly form a block header, calculate the hash, and meet the challenge of finding a hash below a certain target.

### AI Usage Disclaimer:
You may use AI tools like ChatGPT to gather information and explore alternative approaches, but avoid relying solely on AI for complete solutions. Verify and validate any insights obtained and maintain a balance between AI assistance and independent problem-solving.

## Why These Restrictions?
These restrictions are designed to deepen your understanding of bitcoin technicals.
By completing this assignment, you will gain hands-on experience with the technology that make bitcoin secure and trustless.
Expand Down

0 comments on commit dd8019c

Please sign in to comment.