Write-up for 0xF1A9
Overview
There are 2 steps to the puzzle:
- Write a contract that implments
ISolve
and returns the address of Curta whencurtaPlayer
is called. - Deploy the contract to a vanity address prefixed with specific bytes, then submit the address as the solution.
Computing the address
For more information on vanity addresses and how to mine for them, see this article.
If you submitted before the timestamp 1678446000
(March 10, 2023 11 AM; roughly 2 days after the puzzle was added), the prefix you had to mine for changed every 256 blocks (roughly every 51 minutes):
- The first 2 bytes had to be
0xF1A9
. - The next 2 bytes were picked from the submitting address based on the block number at submission.
If you submitted before the timestamp, you had a time constraint to compute, mine, and execute the entire solution in 256 blocks.
If you submitted after the timestamp, there was no time constraint, and you just had to mine for a contract with 4 0
bytes.