ilkerccom/bitcrackrandomiser

API Documentation

Closed this issue · 2 comments

Hi, can you document the API, I want to build my own worker since yours doesn't work on mac / linux

Hello it works on Linux and Macos. But I will write a short document to create your own client.

How to create your own client? If you see anything missing, please reply.

API Endpoint: https://api.btcpuzzle.info/

GET /HEX/GetV2

Returns a new HEX value to be scanned from the pool.

Name Type Required Default Value Info
PuzzleCode string (query) no 66 The puzzle number you want to scan. Possible values: 66,67,68 and 38 for test pool
StartsWith string (query) no 0 If you want to scan a specific range, send it as a minimum of 2 and a maximum of 5 characters. Examples; 2F 3B13 or 201AF
IncludeDefeatedRanges bool (query) no false Send true if you want to include ranges that have been manually defeated by the system. Only for Puzzle 66

Example request

{api_endpoint}/hex/getv2?PuzzleCode=66&StartsWith=0&IncludeDefeatedRanges=false

Example Result

{HEX}:{proofAddress1}:{proofAddress2}:{proofAddress3}

HEX: Specifies the HEX range to scan. Determine the starting point for Puzzle 66 by adding 10 zeros to the end of this HEX. Example; 3AB84430000000000

proofAddress1/2/3: The pool wants to make sure you're doing the scan correctly. Generates extra 3 private keys in the range 3AB844300000000000 to 3AB8443FFFFFFFFFF in this example. However, it returns the wallet addresses of the private keys generated in the pool for you to find. Marking will be done with the private key found.

You must scan the "x3 ProofValue" addresses simultaneously with the target address. You need to find these private keys and assign it to a variable. We'll use this later in the flag request.

ExampleProofKey1 = 000000000000000000000000000000000000000000000003AB8443AB91BBAFE8; //for proofAddress1
ExampleProofKey2 = 000000000000000000000000000000000000000000000003AB84435AF1E51FD1; //for proofAddress2
ExampleProofKey3 = 000000000000000000000000000000000000000000000003AB8443DAFCC114AF; //for proofAddress3

The final proof key result is obtained as SHA256(proofKey1+proofKey2+proofKey3)

892a38381912bcce412030d7a403de8a92c0e56f452ba5a865f0bf728ff3fa87

There is rate limit: 60 request in 1 hour

POST /HEX/Flag

Flag/mark a scanned HEX value as "scanned" in the pool.

Name Type Required Default Value Info
HEX string (header) yes null The HEX value to flag. Example: 3AB8443
WalletAddress string (header) yes null The wallet address that made the flag. In short worker wallet address. Example: 1eosEvvesKV6C2ka4RDNZhmepm1TLFBtw.workername
ProofKey string (header) yes null Private key of secondary wallet address sent as ProofValue. In 64 Bit HEX format. In this example: "Proof key" is 892a38381912bcce412030d7a403de8a92c0e56f452ba5a865f0bf728ff3fa87
PuzzleCode string (header) yes 66 Which puzzle is being marked for? Possible values: 66,67,68 and 38 for test pool.

Result

Returns true or false. If it returns true, the flag is successful.

true

"ProofKey" is the private key of the wallet address you get with the GET method. "ProofValue" and "ProofKey" are updated on every request.

There is rate limit: 60 request in 1 hour