Skip to content

Latest commit

 

History

History
38 lines (28 loc) · 1.46 KB

2.mdx

File metadata and controls

38 lines (28 loc) · 1.46 KB
author contributors
0xA85572Cd96f1643458f17340b6f0D6549Af482F5
0xA85572Cd96f1643458f17340b6f0D6549Af482F5

Overview

There are 2 steps to the puzzle:

  1. Write a contract that implments ISolve and returns the address of Curta when curtaPlayer is called.
  2. Deploy the contract to a vanity address prefixed with specific bytes, then submit the address as the solution.
contract Solve is ISolve {
    function curtaPlayer() external view returns (address) {
        return 0x0000000006bC8D9e5e9d436217B88De704a9F307;
    }
}

Computing the address

For more information on vanity addresses and how to mine for them, see [this article](https://0xfoobar.substack.com/p/vanity-addresses).

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.